diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-07-31 13:07:36 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-07-31 16:07:33 -0700 |
commit | 2b45044edf702db665865de5b1b903346ed407a8 (patch) | |
tree | 7cad624fefbb0a84108c433fcb50bc0eccc968c9 | |
parent | 463eaeb308230033e7c1e8d3b11ee480b5fede28 (diff) | |
download | vboot-2b45044edf702db665865de5b1b903346ed407a8.tar.gz |
Enter key at DEV screen no longer transition to TONORM screen
And space at TONORM screen no longer confirms disabling dev mode
Added Ctrl+Refresh as an alias for tonorm screen request. U-boot will
need to be enhanced to support that. Until then, many FAFT tests will
break.
BUG=chrome-os-partner:11887
TEST=manual
1. Boot to DEV screen
2. Press Enter. Nothing happens.
3. Press Space. Goes to TONORM screen.
4. Press Space. Nothing happens.
5. Press Enter. Reboots with dev mode disabled.
Change-Id: I7f61c4001c668ac916f50f931a79a107752c83b5
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/28851
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
-rw-r--r-- | firmware/include/vboot_api.h | 1 | ||||
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 13 |
2 files changed, 7 insertions, 7 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h index 9aa7f0ad..eea39220 100644 --- a/firmware/include/vboot_api.h +++ b/firmware/include/vboot_api.h @@ -578,6 +578,7 @@ enum VbKeyCode_t { VB_KEY_LEFT = 0x102, VB_KEY_RIGHT = 0x103, VB_KEY_CTRL_ENTER = 0x104, + VB_KEY_CTRL_REFRESH = 0x105 }; /* Read the next keypress from the keyboard buffer. diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index 9c5dd7f4..54c5bec2 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -149,11 +149,11 @@ VbError_t VbBootDeveloper(VbCommonParams* cparams, LoadKernelParams* p) { case 0: /* nothing pressed */ break; - case '\r': case ' ': case 0x1B: - /* Enter, space, or ESC = reboot to recovery */ - VBDEBUG(("VbBootDeveloper() - user pressed ENTER/SPACE/ESC\n")); + case VB_KEY_CTRL_REFRESH: + /* Space, or ESC = request disable dev. Ctrl+F3 is used for testing. */ + VBDEBUG(("VbBootDeveloper() - user pressed SPACE/ESC/CTRL_F3\n")); VbSetRecoveryRequest(VBNV_RECOVERY_RW_DEV_SCREEN); VbAudioClose(audio); return VBERROR_LOAD_KERNEL_RECOVERY; @@ -223,17 +223,16 @@ static VbError_t VbConfirmChangeDevMode(VbCommonParams* cparams, int to_dev) { while (1) { if (VbExIsShutdownRequested()) return VBERROR_SHUTDOWN_REQUESTED; - /* ENTER is always yes, ESC is always no. - * SPACE is yes when leaving dev-mode, but is no when entering it. */ + /* ENTER is always yes, ESC and SPACE are always no. */ key = VbExKeyboardRead(); - if (key == '\r' || (key == ' ' && !to_dev)) { + if (key == '\r') { VBDEBUG(("%s() - Yes: virtual dev-mode switch => %d\n", __func__, to_dev)); if (TPM_SUCCESS != SetVirtualDevMode(to_dev)) return VBERROR_TPM_SET_BOOT_MODE_STATE; VBDEBUG(("%s() - Reboot so it will take effect\n", __func__)); return VBERROR_TPM_REBOOT_REQUIRED; - } else if (key == 0x1B || (key == ' ' && to_dev)) { + } else if (key == 0x1B || key == ' ') { VBDEBUG(("%s() - No: don't change virtual dev-mode switch\n", __func__)); VbDisplayScreen(cparams, VB_SCREEN_RECOVERY_INSERT, 0, &vnc); return VBERROR_SUCCESS; |