From 431878c401ff0e72548d1043ac5e010a92871afc Mon Sep 17 00:00:00 2001 From: Yu-Ping Wu Date: Mon, 6 Jan 2020 15:57:44 +0800 Subject: vboot: Set VBSD_EC_SOFTWARE_SYNC flag in vboot With CL:1988245, vb2_context flag VB2_CONTEXT_EC_SYNC_SUPPORTED is set in depthcharge. Set VBSD_EC_SOFTWARE_SYNC in shared data based on the presence of VB2_CONTEXT_EC_SYNC_SUPPORTED. BRANCH=none BUG=chromium:1038259, chromium:1042135 TEST=FEATURES=test emerge-nami vboot_reference Cq-Depend: chromium:1988245 Change-Id: Ia1dd57858234bbc43f25517f416b7506c1b7919a Signed-off-by: Yu-Ping Wu Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1988246 Reviewed-by: Joel Kitching --- firmware/lib/vboot_api_kernel.c | 4 ++-- tests/vboot_api_kernel4_tests.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index 3a616e4f..ee8080fa 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -243,8 +243,8 @@ static vb2_error_t vb2_kernel_setup(struct vb2_context *ctx, * instead of flags. That would save on firmware image size because * features that won't be used in an image could be compiled out. */ - if (shared->flags & VBSD_EC_SOFTWARE_SYNC) - ctx->flags |= VB2_CONTEXT_EC_SYNC_SUPPORTED; + if (ctx->flags & VB2_CONTEXT_EC_SYNC_SUPPORTED) + shared->flags |= VBSD_EC_SOFTWARE_SYNC; if (shared->flags & VBSD_NVDATA_V2) ctx->flags |= VB2_CONTEXT_NVDATA_V2; diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c index 71efb2cb..aaafcc39 100644 --- a/tests/vboot_api_kernel4_tests.c +++ b/tests/vboot_api_kernel4_tests.c @@ -210,15 +210,15 @@ static void VbSlkTest(void) TEST_EQ(kernel_version, 0x10002, " version"); /* - * If shared->flags doesn't ask for software sync, we won't notice - * that error. + * If ctx->flags doesn't ask for software sync, we won't notice that + * error. */ ResetMocks(); test_slk(0, 0, "EC sync not done"); - /* Same if shared->flags asks for sync, but it's overridden by GBB */ + /* Same if ctx->flags asks for sync, but it's overridden by GBB */ ResetMocks(); - shared->flags |= VBSD_EC_SOFTWARE_SYNC; + ctx->flags |= VB2_CONTEXT_EC_SYNC_SUPPORTED; gbb.flags |= VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC; test_slk(0, 0, "EC sync disabled by GBB"); -- cgit v1.2.1