summaryrefslogtreecommitdiff
path: root/tests/vboot_api_kernel2_tests.c
diff options
context:
space:
mode:
authorSheng-Liang Song <ssl@chromium.org>2014-07-26 21:34:28 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-09-03 22:49:35 +0000
commit487a54bcbe7b6dac1a856b0991e6d13c34a1c423 (patch)
treed39c23b04503e39b3fe42032c0c2169a0ef0e46b /tests/vboot_api_kernel2_tests.c
parente08ee28548934e933733babf0bc0c418142d095d (diff)
downloadvboot-487a54bcbe7b6dac1a856b0991e6d13c34a1c423.tar.gz
vboot: Notify EC of current boot mode
Notify EC of boot mode, i.e. normal, developer or recovery. This is necessary for battery firmware updates. BUG=chrome-os-partner:24741 CQ-DEPEND=CL:205323 CQ-DEPEND=CL:210033 CQ-DEPEND=CL:215720 BRANCH=ToT TEST=Verified on samus & glimmer. Passed runalltests. ~/trunk/src/platform/vboot_reference $ make runalltests -j Change-Id: I1613ede34b4a929d1e8114fb519861f349377e94 Signed-off-by: Sheng-Liang Song <ssl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/210032 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'tests/vboot_api_kernel2_tests.c')
-rw-r--r--tests/vboot_api_kernel2_tests.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/vboot_api_kernel2_tests.c b/tests/vboot_api_kernel2_tests.c
index 7ecf02f8..3070baea 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -45,6 +45,8 @@ static uint32_t screens_count = 0;
static uint32_t mock_num_disks[8];
static uint32_t mock_num_disks_count;
+extern enum VbEcBootMode_t VbGetMode(void);
+
/* Reset mock data (for use before each test) */
static void ResetMocks(void)
{
@@ -262,7 +264,9 @@ static void VbUserConfirmsTest(void)
static void VbBootTest(void)
{
ResetMocks();
+ VbExEcEnteringMode(0, VB_EC_NORMAL);
TEST_EQ(VbBootNormal(&cparams, &lkp), 1002, "VbBootNormal()");
+ TEST_EQ(VbGetMode(), VB_EC_NORMAL, "vboot_mode normal");
}
static void VbBootDevTest(void)
@@ -273,7 +277,9 @@ static void VbBootDevTest(void)
/* Proceed after timeout */
ResetMocks();
+ VbExEcEnteringMode(0, VB_EC_DEVELOPER);
TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
+ TEST_EQ(VbGetMode(), VB_EC_DEVELOPER, "vboot_mode developer");
TEST_EQ(screens_displayed[0], VB_SCREEN_DEVELOPER_WARNING,
" warning screen");
VbNvGet(VbApiKernelGetVnc(), VBNV_RECOVERY_REQUEST, &u);
@@ -448,8 +454,11 @@ static void VbBootRecTest(void)
/* Shutdown requested in loop */
ResetMocks();
shutdown_request_calls_left = 10;
+ VbExEcEnteringMode(0, VB_EC_RECOVERY);
TEST_EQ(VbBootRecovery(&cparams, &lkp), VBERROR_SHUTDOWN_REQUESTED,
"Shutdown requested");
+ TEST_EQ(VbGetMode(), VB_EC_RECOVERY, "vboot_mode recovery");
+
VbNvGet(VbApiKernelGetVnc(), VBNV_RECOVERY_REQUEST, &u);
TEST_EQ(u, 0, " recovery reason");
TEST_EQ(screens_displayed[0], VB_SCREEN_BLANK,