From 118a84f8f5e17fff8fb8c3f34648bfa4f8bd21e2 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 15 Sep 2017 11:15:07 -0600 Subject: vboot: introduce vbnv_init() Add vbnv_init() which is responsible for doing any vbnv initialization and reading the vbnv contents. Having this function allows for putting vbnv backing store specific support in the main vboot logic path. BUG=b:63054105 Change-Id: Id8f0344e5de5338417ae2e353ae473d6909c860a Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/21550 Reviewed-by: Duncan Laurie Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/vboot/vbnv.c | 5 +++++ src/vboot/vbnv.h | 2 ++ src/vboot/vboot_logic.c | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/vboot/vbnv.c b/src/vboot/vbnv.c index 6537bf04dc..6667825f46 100644 --- a/src/vboot/vbnv.c +++ b/src/vboot/vbnv.c @@ -146,3 +146,8 @@ int vboot_wants_oprom(void) vbnv_setup(); return (vbnv_data(BOOT_OFFSET) & BOOT_OPROM_NEEDED) ? 1 : 0; } + +void vbnv_init(uint8_t *vbnv_copy) +{ + read_vbnv(vbnv_copy); +} diff --git a/src/vboot/vbnv.h b/src/vboot/vbnv.h index 7a0bf92f40..5e5160a992 100644 --- a/src/vboot/vbnv.h +++ b/src/vboot/vbnv.h @@ -26,6 +26,8 @@ void regen_vbnv_crc(uint8_t *vbnv_copy); int get_recovery_mode_from_vbnv(void); void set_recovery_mode_into_vbnv(int recovery_reason); int vboot_wants_oprom(void); +/* Initialize and read vbnv. This is used in the main vboot logic path. */ +void vbnv_init(uint8_t *vbnv_copy); /* CMOS backend */ void read_vbnv_cmos(uint8_t *vbnv_copy); diff --git a/src/vboot/vboot_logic.c b/src/vboot/vboot_logic.c index 9145ad003e..d06faa740a 100644 --- a/src/vboot/vboot_logic.c +++ b/src/vboot/vboot_logic.c @@ -310,8 +310,8 @@ void verstage_main(void) /* Set up context and work buffer */ vb2_init_work_context(&ctx); - /* Read nvdata from a non-volatile storage. */ - read_vbnv(ctx.nvdata); + /* Initialize and read nvdata from non-volatile storage. */ + vbnv_init(ctx.nvdata); /* Set S3 resume flag if vboot should behave differently when selecting * which slot to boot. This is only relevant to vboot if the platform -- cgit v1.2.3