summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2020-02-13 10:43:42 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-14 11:51:42 +0000
commit6d87e4f33f07323e791f09f4c5798978c1b5e0c8 (patch)
tree7279bc1c61a3766a27177505f55968720a031aba
parent92af7d9f9e04b7acc6e0bea42a7482f65951ef27 (diff)
downloadvboot-6d87e4f33f07323e791f09f4c5798978c1b5e0c8.tar.gz
vboot: check for recovery mode with VB2_CONTEXT_RECOVERY_MODE
When the specific recovery reason is not needed, just use (ctx->flags & VB2_CONTEXT_RECOVERY_MODE) to determine whether or not we are in recovery mode. BUG=b:124141368 TEST=make clean && make runtests BRANCH=none Change-Id: I37f1bc066d970a51dfd7ef38cba519c00e1e764f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2053252 Commit-Queue: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--firmware/2lib/2api.c4
-rw-r--r--firmware/2lib/2auxfw_sync.c3
-rw-r--r--firmware/2lib/2ec_sync.c3
-rw-r--r--firmware/lib/vboot_display.c2
4 files changed, 5 insertions, 7 deletions
diff --git a/firmware/2lib/2api.c b/firmware/2lib/2api.c
index f9b8bebb..0f57d78b 100644
--- a/firmware/2lib/2api.c
+++ b/firmware/2lib/2api.c
@@ -80,7 +80,7 @@ vb2_error_t vb2api_fw_phase1(struct vb2_context *ctx)
/*
* Check for possible reasons to ask the firmware to make display
- * available. sd->recovery_reason may have been set above by
+ * available. VB2_CONTEXT_RECOVERY_MODE may have been set above by
* vb2_check_recovery. VB2_SD_FLAG_DEV_MODE_ENABLED may have been set
* above by vb2_check_dev_switch. VB2_NV_DIAG_REQUEST may have been
* set during the last boot in recovery mode.
@@ -88,7 +88,7 @@ vb2_error_t vb2api_fw_phase1(struct vb2_context *ctx)
if (!(ctx->flags & VB2_CONTEXT_DISPLAY_INIT) &&
(vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST) ||
sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED ||
- sd->recovery_reason ||
+ ctx->flags & VB2_CONTEXT_RECOVERY_MODE ||
vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST)))
ctx->flags |= VB2_CONTEXT_DISPLAY_INIT;
/* Mark display as available for downstream vboot and vboot callers. */
diff --git a/firmware/2lib/2auxfw_sync.c b/firmware/2lib/2auxfw_sync.c
index 222b1214..ec0c8345 100644
--- a/firmware/2lib/2auxfw_sync.c
+++ b/firmware/2lib/2auxfw_sync.c
@@ -30,13 +30,12 @@ static void display_wait_screen(struct vb2_context *ctx)
*/
static int auxfw_sync_allowed(struct vb2_context *ctx)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
/* Reasons not to do sync at all */
if (gbb->flags & VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC)
return 0;
- if (sd->recovery_reason)
+ if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
return 0;
return 1;
}
diff --git a/firmware/2lib/2ec_sync.c b/firmware/2lib/2ec_sync.c
index 4fa0932c..684c8905 100644
--- a/firmware/2lib/2ec_sync.c
+++ b/firmware/2lib/2ec_sync.c
@@ -395,7 +395,6 @@ static int ec_will_update_slowly(struct vb2_context *ctx)
static int ec_sync_allowed(struct vb2_context *ctx)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
/* Reasons not to do sync at all */
@@ -403,7 +402,7 @@ static int ec_sync_allowed(struct vb2_context *ctx)
return 0;
if (gbb->flags & VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC)
return 0;
- if (sd->recovery_reason)
+ if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
return 0;
return 1;
}
diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
index 0211a92b..4e8c8821 100644
--- a/firmware/lib/vboot_display.c
+++ b/firmware/lib/vboot_display.c
@@ -334,7 +334,7 @@ vb2_error_t VbDisplayDebugInfo(struct vb2_context *ctx)
}
/* If we're in dev-mode, show the kernel subkey that we expect, too. */
- if (sd->recovery_reason == VB2_RECOVERY_NOT_REQUESTED &&
+ if (!(ctx->flags & VB2_CONTEXT_RECOVERY_MODE) &&
sd->kernel_key_offset) {
struct vb2_packed_key *key =
vb2_member_of(sd, sd->kernel_key_offset);