summaryrefslogtreecommitdiff
path: root/firmware/lib/vboot_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/lib/vboot_display.c')
-rw-r--r--firmware/lib/vboot_display.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
index c66af8df..26fa8bd4 100644
--- a/firmware/lib/vboot_display.c
+++ b/firmware/lib/vboot_display.c
@@ -430,6 +430,16 @@ const char *RecoveryReasonString(uint8_t code)
return "EC software sync unable to jump to EC-RW";
case VBNV_RECOVERY_EC_PROTECT:
return "EC software sync protection error";
+ case VBNV_RECOVERY_VB2_SECDATA_INIT:
+ return "Secure NVRAM (TPM) initialization error";
+ case VBNV_RECOVERY_VB2_GBB_HEADER:
+ return "Error parsing GBB header";
+ case VBNV_RECOVERY_VB2_TPM_CLEAR_OWNER:
+ return "Error trying to clear TPM owner";
+ case VBNV_RECOVERY_VB2_DEV_SWITCH:
+ return "Error reading or updating developer switch";
+ case VBNV_RECOVERY_VB2_FW_SLOT:
+ return "Error selecting RW firmware slot";
case VBNV_RECOVERY_RO_UNSPECIFIED:
return "Unspecified/unknown error in RO firmware";
case VBNV_RECOVERY_RW_DEV_SCREEN:
@@ -511,11 +521,14 @@ VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr)
used += StrnAppend(buf + used, "HWID: ", DEBUG_INFO_SIZE - used);
used += StrnAppend(buf + used, hwid, DEBUG_INFO_SIZE - used);
- /* Add recovery reason */
+ /* Add recovery reason and subcode */
+ VbNvGet(vncptr, VBNV_RECOVERY_SUBCODE, &i);
used += StrnAppend(buf + used,
"\nrecovery_reason: 0x", DEBUG_INFO_SIZE - used);
used += Uint64ToString(buf + used, DEBUG_INFO_SIZE - used,
shared->recovery_reason, 16, 2);
+ used += StrnAppend(buf + used, " / 0x", DEBUG_INFO_SIZE - used);
+ used += Uint64ToString(buf + used, DEBUG_INFO_SIZE - used, i, 16, 2);
used += StrnAppend(buf + used, " ", DEBUG_INFO_SIZE - used);
used += StrnAppend(buf + used,
RecoveryReasonString(shared->recovery_reason),