From d02bb62a4fefcb39063bc058afb60521fe819bad Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 1 Mar 2013 17:40:49 -0600 Subject: [PATCH] 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 Reviewed-on: http://review.coreboot.org/2856 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich --- 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 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); }