diff options
author | Aaron Durbin <adurbin@chromium.org> | 2013-03-01 17:40:49 -0600 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-03-22 00:15:52 +0100 |
commit | d02bb62a4fefcb39063bc058afb60521fe819bad (patch) | |
tree | ce23846c026d70d64f4798fd9cf390e017bed4b7 /src | |
parent | 0df4de9e96887ddc4b8c5f79064701e9d1448ea9 (diff) | |
download | coreboot-d02bb62a4fefcb39063bc058afb60521fe819bad.tar.xz |
haswell: vboot path support in romstage
Take the vboot path in romstage. This will complete the haswell
support for vboot firmware selection.
Built and booted. Noted firmware select worked on an image with
RW firmware support. Also checked that recovery mode worked as
well by choosing the RO path.
Change-Id: Ie2b0a34e6c5c45e6f0d25f77a5fdbaef0324cb09
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2856
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/intel/haswell/romstage.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/cpu/intel/haswell/romstage.c b/src/cpu/intel/haswell/romstage.c index 5dc45010d7..ff5758471f 100644 --- a/src/cpu/intel/haswell/romstage.c +++ b/src/cpu/intel/haswell/romstage.c @@ -297,13 +297,11 @@ void romstage_common(const struct romstage_params *params) #endif } -static inline void prepare_for_resume(void) +static inline void prepare_for_resume(struct romstage_handoff *handoff) { /* Only need to save memory when ramstage isn't relocatable. */ #if !CONFIG_RELOCATABLE_RAMSTAGE #if CONFIG_HAVE_ACPI_RESUME - struct romstage_handoff *handoff = romstage_handoff_find_or_add(); - /* Back up the OS-controlled memory where ramstage will be loaded. */ if (handoff != NULL && handoff->s3_resume) { void *src = (void *)CONFIG_RAMBASE; @@ -317,7 +315,16 @@ static inline void prepare_for_resume(void) void romstage_after_car(void) { - prepare_for_resume(); + struct romstage_handoff *handoff; + + handoff = romstage_handoff_find_or_add(); + + prepare_for_resume(handoff); + +#if CONFIG_VBOOT_VERIFY_FIRMWARE + vboot_verify_firmware(handoff); +#endif + /* Load the ramstage. */ copy_and_run(0); } |