diff options
author | Randall Spangler <rspangler@chromium.org> | 2018-01-02 12:32:16 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-01-09 14:14:16 -0800 |
commit | 39427240693b31942f89385d3b01083fea1b0678 (patch) | |
tree | e1a8dad5e269bd8f6b1530ab307841b486957b47 /firmware/lib/vboot_api_kernel.c | |
parent | 46b7e0dae409ad83797a0b2feff314417bbb7b1c (diff) | |
download | vboot-39427240693b31942f89385d3b01083fea1b0678.tar.gz |
ec_sync: Use vboot2 context instead of cparams
Copy sync-related flags from cparams / vboot1 shared data to the
equivalent vboot2 structs. This removes the need for ec_sync to
access the old structs, which are on their way out.
No change in functionality.
BUG=chromium:611535
BRANCH=none
TEST=make -j runtests; build bob firmware and boot it
Change-Id: I50ee76cf275a7fba894c2ec2c3dd83b9a8d91b53
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/852489
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'firmware/lib/vboot_api_kernel.c')
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index fd0556b5..44b537d9 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -268,11 +268,28 @@ static VbError_t vb2_kernel_setup(VbCommonParams *cparams, VbExNvStorageRead(ctx.nvdata); vb2_nv_init(&ctx); + /* Translate vboot1 flags back to vboot2 */ if (shared->recovery_reason) ctx.flags |= VB2_CONTEXT_RECOVERY_MODE; if (shared->flags & VBSD_BOOT_DEV_SWITCH_ON) ctx.flags |= VB2_CONTEXT_DEVELOPER_MODE; + /* + * The following flags are set by depthcharge. + * + * TODO: Some of these are set at compile-time, so could be #defines + * 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 (shared->flags & VBSD_EC_SLOW_UPDATE) + ctx.flags |= VB2_CONTEXT_EC_SYNC_SLOW; + if (shared->flags & VBSD_EC_EFS) + ctx.flags |= VB2_CONTEXT_EC_EFS; + if (shared->flags & VBSD_BOOT_FIRMWARE_SW_WP_ENABLED) + ctx.flags |= VB2_CONTEXT_SW_WP_ENABLED; + ctx.workbuf_size = VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE + VB2_WORKBUF_ALIGN; |