vboot2: Log recovery reason and subcode to console

Looks like vboot2 currently never outputs the current recovery reason
anywhere, which is annoying for debugging devices without working
display (where you could press TAB). This patch adds log messages both
when deciding to go into recovery mode and when picking up an existing
recovery request from NVRAM, for maximum visibility.

Also removes the "Both slots are bad." part of the vb2_fail() message,
since this is not necessarily true and can be confusing (there are many
other possible reasons why it might want to go into recovery).

BRANCH=ToT
BUG=None
TEST=Manual

Change-Id: Ic98c61223dce00e830ea0f199878d47b214bb224
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/225160
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Julius Werner
2014-10-22 19:58:23 -07:00
committed by chrome-internal-fetch
parent 21f100c9d6
commit 9e39efd647

View File

@@ -105,7 +105,7 @@ void vb2_fail(struct vb2_context *ctx, uint8_t reason, uint8_t subcode)
* If recovery is already requested, it's a more specific error code
* than later code is providing and we shouldn't overwrite it.
*/
VB2_DEBUG("Both slots are bad. Need recovery\n");
VB2_DEBUG("Need recovery, reason: %#x / %#x\n", reason, subcode);
if (!vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST)) {
vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, reason);
vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, subcode);
@@ -166,8 +166,12 @@ void vb2_check_recovery(struct vb2_context *ctx)
}
/* If recovery reason is non-zero, tell caller we need recovery mode */
if (sd->recovery_reason)
if (sd->recovery_reason) {
ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
VB2_DEBUG("We have a recovery request: %#x / %#x\n",
sd->recovery_reason,
vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE));
}
}
int vb2_fw_parse_gbb(struct vb2_context *ctx)