diff options
Diffstat (limited to 'src/vendorcode/google/chromeos/vboot2/vboot_loader.c')
-rw-r--r-- | src/vendorcode/google/chromeos/vboot2/vboot_loader.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c index bb7bc4c828..d2e77586e8 100644 --- a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c +++ b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c @@ -98,10 +98,18 @@ static int vboot_active(struct asset *asset) return 0; } - /* Fill in vboot handoff structure before moving to ramstage so all - * downstream users have access to vboot results. */ - if (ENV_ROMSTAGE) + /* + * Fill in vboot cbmem objects before moving to ramstage so all + * downstream users have access to vboot results. This path only + * applies to platforms employing VBOOT_DYNAMIC_WORK_BUFFER because + * cbmem comes online prior to vboot verification taking place. For + * other platforms the vboot cbmem objects are initialized when + * cbmem comes online. + */ + if (ENV_ROMSTAGE && IS_ENABLED(CONFIG_VBOOT_DYNAMIC_WORK_BUFFER)) { + vb2_store_selected_region(); vboot_fill_handoff(); + } return vboot_is_slot_selected(); } |