From 8aded7005e2830f54cf53b329946cbb1f11548f2 Mon Sep 17 00:00:00 2001 From: Hsuan Ting Chen Date: Fri, 13 Aug 2021 14:58:47 +0800 Subject: 2lib: Use ctx flag VB2_CONTEXT_EC_TRUSTED instead of vb2ex_ec_trusted In vb2api_allow_recovery(), we need to check if EC is trusted for booting into manual recovery mode. This was implemented by a function vb2ex_ec_trusted() which defined in vboot_reference and implemented in depthcharge by reading the corresponding EC_IN_RW GPIO flags. By introducing new boot mode architecture, coreboot will now calling these functions to determine the current boot mode and support the similar functionalities about checking if EC is trusted (i.e. EC is not in RW). We leverages the existing ctx flag VB2_CONTEXT_EC_TRUSTED for fulfilling this. This flag will be set at coreboot vboot_logic.c:verstage_main() and can be used deciding the boot mode in vboot_reference: vb2api_fw_phase1() and is cleared while EC jumps to RW (i.e. 2ec_sync.c:sync_ec()). BRANCH=none BUG=b:181931817 TEST=emerge-trogdor coreboot vboot_reference depthcharge Cq-Depend: chromium:3088889 Signed-off-by: Hsuan Ting Chen Change-Id: I50f35f48ce75e421094ea21e45c24b82e6e55a6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3106329 Reviewed-by: Julius Werner Reviewed-by: Yu-Ping Wu --- firmware/2lib/2misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c index efa33a8a..54150446 100644 --- a/firmware/2lib/2misc.c +++ b/firmware/2lib/2misc.c @@ -433,7 +433,7 @@ int vb2api_allow_recovery(struct vb2_context *ctx) * return false (=RW). That's ok because if recovery is manual, we will * get the right signal and that's the case we care about. */ - if (!(ctx->flags & VB2_CONTEXT_EC_TRUSTED) && !vb2ex_ec_trusted()) + if (!(ctx->flags & VB2_CONTEXT_EC_TRUSTED)) return 0; /* Now we confidently check the recovery switch state at boot */ -- cgit v1.2.1