diff options
author | Shelley Chen <shchen@chromium.org> | 2016-12-28 14:54:15 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-01-18 22:51:49 -0800 |
commit | 1a03740bb094585a6aeba7c1bd83077d5f219c9f (patch) | |
tree | dc5bad933debed819785a3a7b2898faf94aede09 | |
parent | 1ceb361d6059a8222d663e7e3bb975de9bf856fa (diff) | |
download | vboot-1a03740bb094585a6aeba7c1bd83077d5f219c9f.tar.gz |
firmware: calling menu ui when using detachablesstabilize-fsi-9202.5.0.Bstabilize-fsi-9202.10.Bstabilize-M57-9202.35.0.Bstabilize-9202.Bstabilize-9202.64.Bstabilize-9202.56.Bstabilize-9202.28.Bstabilize-9202.18.Bstabilize-9199.Brelease-R57-9202.B
BUG=chrome-os-partner:61275
BRANCH=None
TEST=compile depthcharge with
inflags=VB_SALK_INFLAGS_ENABLE_DETACHABLE_UI and run.
Change-Id: I4c2351feef51bbf88fefd37986de6f853cd1942e
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/424091
Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r-- | firmware/include/vboot_api.h | 9 | ||||
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 10 |
2 files changed, 16 insertions, 3 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h index f127ab8e..d57f98d0 100644 --- a/firmware/include/vboot_api.h +++ b/firmware/include/vboot_api.h @@ -339,6 +339,8 @@ typedef struct VbSelectAndLoadKernelParams { void *kernel_buffer; /* Size of kernel buffer in bytes */ uint32_t kernel_buffer_size; + /* input flags. Currently used for detachables */ + uint32_t inflags; /* * Outputs from VbSelectAndLoadKernel(); valid only if it returns @@ -354,7 +356,7 @@ typedef struct VbSelectAndLoadKernelParams { uint32_t bootloader_size; /* UniquePartitionGuid for boot partition */ uint8_t partition_guid[16]; - /* Flags passed in by signer */ + /* Flags set by signer */ uint32_t flags; /* * TODO: in H2C, all that pretty much just gets passed to the @@ -364,6 +366,11 @@ typedef struct VbSelectAndLoadKernelParams { */ } VbSelectAndLoadKernelParams; +/* Flag to indicate using detachable menu ui (arrow up/down+power) + * instead of traditional FW screens with ctrl+D, ctrl+U, etc. + */ +#define VB_SALK_INFLAGS_ENABLE_DETACHABLE_UI (1 << 0) + /** * Select and loads the kernel. * diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index f2f39661..53c08b35 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -427,11 +427,17 @@ VbError_t VbSelectAndLoadKernel(VbCommonParams *cparams, /* Select boot path */ if (shared->recovery_reason) { /* Recovery boot. This has UI. */ - retval = VbBootRecovery(&ctx, cparams); + if (kparams->inflags & VB_SALK_INFLAGS_ENABLE_DETACHABLE_UI) + retval = VbBootRecoveryMenu(&ctx, cparams); + else + retval = VbBootRecovery(&ctx, cparams); VbExEcEnteringMode(0, VB_EC_RECOVERY); } else if (shared->flags & VBSD_BOOT_DEV_SWITCH_ON) { /* Developer boot. This has UI. */ - retval = VbBootDeveloper(&ctx, cparams); + if (kparams->inflags & VB_SALK_INFLAGS_ENABLE_DETACHABLE_UI) + retval = VbBootDeveloperMenu(&ctx, cparams); + else + retval = VbBootDeveloper(&ctx, cparams); VbExEcEnteringMode(0, VB_EC_DEVELOPER); } else { /* Normal boot */ |