summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-07-31 13:07:36 -0700
committerGerrit <chrome-bot@google.com>2012-07-31 16:07:33 -0700
commit2b45044edf702db665865de5b1b903346ed407a8 (patch)
tree7cad624fefbb0a84108c433fcb50bc0eccc968c9
parent463eaeb308230033e7c1e8d3b11ee480b5fede28 (diff)
downloadvboot-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.h1
-rw-r--r--firmware/lib/vboot_api_kernel.c13
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;