Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2856
-gerrit
commit 10bdf5cfbe5bb8424d42ccd775d9ae2645349ac7 Author: Aaron Durbin adurbin@chromium.org Date: Fri Mar 1 17:40:49 2013 -0600
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 --- src/cpu/intel/haswell/romstage.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/cpu/intel/haswell/romstage.c b/src/cpu/intel/haswell/romstage.c index 1d58191..54f4a97 100644 --- a/src/cpu/intel/haswell/romstage.c +++ b/src/cpu/intel/haswell/romstage.c @@ -298,13 +298,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; @@ -318,7 +316,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); }