summaryrefslogtreecommitdiff
path: root/src/vboot
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2017-09-15 11:15:07 -0600
committerAaron Durbin <adurbin@chromium.org>2017-09-20 23:53:30 +0000
commit118a84f8f5e17fff8fb8c3f34648bfa4f8bd21e2 (patch)
tree46608820f59ab9e3593dbfcb6bd4385b1df4a3c3 /src/vboot
parent9fde0d780dd0abd24119ff6f7854b4b5939ce7d2 (diff)
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 <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/21550 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/vboot')
-rw-r--r--src/vboot/vbnv.c5
-rw-r--r--src/vboot/vbnv.h2
-rw-r--r--src/vboot/vboot_logic.c4
3 files changed, 9 insertions, 2 deletions
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