diff options
Diffstat (limited to 'tests/vboot_detach_menu_tests.c')
-rw-r--r-- | tests/vboot_detach_menu_tests.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/tests/vboot_detach_menu_tests.c b/tests/vboot_detach_menu_tests.c index f0440cfb..d85acbc6 100644 --- a/tests/vboot_detach_menu_tests.c +++ b/tests/vboot_detach_menu_tests.c @@ -9,6 +9,7 @@ #include "2misc.h" #include "2nvstorage.h" #include "2secdata.h" +#include "2secdata_struct.h" #include "host_common.h" #include "load_kernel_fw.h" #include "secdata_tpm.h" @@ -32,6 +33,7 @@ static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE] static struct vb2_context *ctx; static struct vb2_shared_data *sd; static struct vb2_gbb_header gbb; +static struct vb2_secdata_fwmp *fwmp; static int shutdown_request_calls_left; static int audio_looping_calls_left; @@ -61,8 +63,6 @@ static int vbexaltfwmask_called; /* Reset mock data (for use before each test) */ static void ResetMocks(void) { - memset(VbApiKernelGetFwmp(), 0, sizeof(struct RollbackSpaceFwmp)); - memset(&shared_data, 0, sizeof(shared_data)); VbSharedDataInit(shared, sizeof(shared_data)); shared->flags = VBSD_BOOT_FIRMWARE_VBOOT2; @@ -76,6 +76,10 @@ static void ResetMocks(void) sd = vb2_get_sd(ctx); sd->vbsd = shared; + /* CRC will be invalid after here, but nobody's checking */ + sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT; + fwmp = (struct vb2_secdata_fwmp *)ctx->secdata_fwmp; + memset(&gbb, 0, sizeof(gbb)); /* In recovery we have 50 keyscans per disk scan, this must be high. */ @@ -124,7 +128,8 @@ static void ResetMocksForManualRecovery(void) } /* Mock functions */ -uint32_t RollbackKernelLock(int recovery_mode) + +uint32_t secdata_kernel_lock(struct vb2_context *c) { return TPM_SUCCESS; } @@ -252,9 +257,9 @@ vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency) return VB2_SUCCESS; } -vb2_error_t SetVirtualDevMode(int val) +vb2_error_t vb2_enable_developer_mode(struct vb2_context *c) { - virtdev_set = val; + virtdev_set = 1; return virtdev_retval; } @@ -665,7 +670,7 @@ static void VbBootDevTest(void) /* Ctrl+L boots legacy if enabled by FWMP */ ResetMocksForDeveloper(); - VbApiKernelGetFwmp()->flags |= FWMP_DEV_ENABLE_LEGACY; + fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_LEGACY; mock_keypress[0] = VB_KEY_CTRL('L'); mock_keypress[1] = VB_BUTTON_POWER_SHORT_PRESS; TEST_EQ(VbBootDeveloperMenu(ctx), vbtlk_retval_fixed, @@ -755,7 +760,7 @@ static void VbBootDevTest(void) /* Ctrl+U enabled via FWMP */ ResetMocksForDeveloper(); - VbApiKernelGetFwmp()->flags |= FWMP_DEV_ENABLE_USB; + fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_USB; mock_keypress[0] = VB_KEY_CTRL('U'); vbtlk_retval[0] = VB2_SUCCESS - VB_DISK_FLAG_REMOVABLE; TEST_EQ(VbBootDeveloperMenu(ctx), VB2_SUCCESS, "Ctrl+U force USB"); @@ -1148,7 +1153,7 @@ static void VbBootDevTest(void) /* If dev mode is disabled, goes to TONORM screen repeatedly */ ResetMocksForDeveloper(); - VbApiKernelGetFwmp()->flags |= FWMP_DEV_DISABLE_BOOT; + fwmp->flags |= VB2_SECDATA_FWMP_DEV_DISABLE_BOOT; audio_looping_calls_left = 1; /* Confirm audio doesn't tick down. */ i = 0; mock_keypress[i++] = VB_KEY_CTRL('D'); /* Just stays on TONORM and flashes */ @@ -1202,7 +1207,7 @@ static void VbBootDevTest(void) /* Shutdown requested when dev disabled */ ResetMocksForDeveloper(); - VbApiKernelGetFwmp()->flags |= FWMP_DEV_DISABLE_BOOT; + fwmp->flags |= VB2_SECDATA_FWMP_DEV_DISABLE_BOOT; shutdown_request_calls_left = 1; TEST_EQ(VbBootDeveloperMenu(ctx), VBERROR_SHUTDOWN_REQUESTED, "Shutdown requested when dev disabled"); @@ -1218,7 +1223,7 @@ static void VbBootDevTest(void) /* Explicit Power Off when dev disabled */ ResetMocksForDeveloper(); - VbApiKernelGetFwmp()->flags |= FWMP_DEV_DISABLE_BOOT; + fwmp->flags |= VB2_SECDATA_FWMP_DEV_DISABLE_BOOT; i = 0; mock_keypress[i++] = VB_BUTTON_VOL_DOWN_SHORT_PRESS; // Power Off mock_keypress[i++] = VB_BUTTON_POWER_SHORT_PRESS; |