summaryrefslogtreecommitdiff
path: root/firmware/include
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2016-11-03 16:05:07 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-11-08 02:52:45 -0800
commit95b2d6ca2bea2a81ceeea58bc4660dfb3fa13a07 (patch)
treeadd29853a6a58dd85f92c4b08d7222cfc13fc7ed /firmware/include
parent6e3931d1f609fc23b3ca8c7f6e563926e4f38b69 (diff)
downloadvboot-95b2d6ca2bea2a81ceeea58bc4660dfb3fa13a07.tar.gz
recovery: Add new recovery reason to train memory and reboot
This new recovery reason will instruct the calling firmware in vboot_select_and_load_kernel to reboot the device (under the assumption that training of memory has already been performed by the firmware). On seeing the return code VBERROR_REBOOT_REQUESTED, calling firmware should perform a reboot. BUG=chrome-os-partner:59352 BRANCH=None TEST=make -j runtests successful Change-Id: I110a735e612665cb2378bd71ca01a111edaf58e3 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/407656 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'firmware/include')
-rw-r--r--firmware/include/vboot_api.h4
-rw-r--r--firmware/include/vboot_nvstorage.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
index a6121e92..950c1e22 100644
--- a/firmware/include/vboot_api.h
+++ b/firmware/include/vboot_api.h
@@ -68,8 +68,8 @@ enum VbErrorPredefined_t {
VBERROR_TPM_LOCK_FIRMWARE = 0x10005,
/* Unable to set boot mode state in TPM */
VBERROR_TPM_SET_BOOT_MODE_STATE = 0x10006,
- /* TPM requires reboot */
- VBERROR_TPM_REBOOT_REQUIRED = 0x10007,
+ /* Calling firmware needs to perform a reboot. */
+ VBERROR_REBOOT_REQUIRED = 0x10007,
/* Unable to set up TPM */
VBERROR_TPM_FIRMWARE_SETUP = 0x10008,
/* Unable to read kernel versions from TPM */
diff --git a/firmware/include/vboot_nvstorage.h b/firmware/include/vboot_nvstorage.h
index 48f93d5a..c43f2eb4 100644
--- a/firmware/include/vboot_nvstorage.h
+++ b/firmware/include/vboot_nvstorage.h
@@ -290,6 +290,8 @@ typedef enum VbFwResult {
#define VBNV_RECOVERY_BCB_USER_MODE 0xC2
/* Fastboot mode requested by user-mode */
#define VBNV_RECOVERY_US_FASTBOOT 0xC3
+/* User requested recovery for training memory and rebooting. */
+#define VBNV_RECOVERY_TRAIN_AND_REBOOT 0xC4
/* Unspecified/unknown error in user-mode */
#define VBNV_RECOVERY_US_UNSPECIFIED 0xFF