diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2019-03-04 15:14:29 +0100 |
---|---|---|
committer | Patrick Rudolph <siro@das-labor.org> | 2019-03-16 09:01:50 +0000 |
commit | 5926ae24a6fa4ebf83f24281c3df88b61076b838 (patch) | |
tree | bb64e20821959f34603fd5bd72502d6da4dd18dd /src/drivers/intel/fsp1_0 | |
parent | 0e3f7d47804d39912faec5a56bc9cddf91ea354b (diff) | |
download | coreboot-5926ae24a6fa4ebf83f24281c3df88b61076b838.tar.xz |
drivers/intel/fsp1_0: Deduplicate code
Move ChipsetFspReturnPoint() to drivers/intel/fsp1_0.
Allows to have a common entry after FSP-M.
Change-Id: I064ae67041c521ee92877cff30c814fce7b08e1f
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31713
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: David Guckian
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Jay Talbott <JayTalbott@sysproconsulting.com>
Diffstat (limited to 'src/drivers/intel/fsp1_0')
-rw-r--r-- | src/drivers/intel/fsp1_0/fsp_util.c | 12 | ||||
-rw-r--r-- | src/drivers/intel/fsp1_0/fsp_util.h | 4 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/drivers/intel/fsp1_0/fsp_util.c b/src/drivers/intel/fsp1_0/fsp_util.c index 2da07d519b..4e50abae4e 100644 --- a/src/drivers/intel/fsp1_0/fsp_util.c +++ b/src/drivers/intel/fsp1_0/fsp_util.c @@ -23,6 +23,7 @@ #include <ip_checksum.h> #include <timestamp.h> #include <cpu/intel/microcode.h> +#include <cf9_reset.h> #ifndef __PRE_RAM__ /* Globals pointers for FSP structures */ @@ -63,6 +64,17 @@ void FspNotify (u32 Phase) #ifdef __PRE_RAM__ +/* The FSP returns here after the fsp_early_init call */ +static void ChipsetFspReturnPoint(EFI_STATUS Status, VOID *HobListPtr) +{ + *(void **)CBMEM_FSP_HOB_PTR = HobListPtr; + + if (Status == 0xFFFFFFFF) + system_reset(); + + romstage_main_continue(Status, HobListPtr); +} + /* * Call the FSP to do memory init. The FSP doesn't return to this function. * The FSP returns to the romstage_main_continue(). diff --git a/src/drivers/intel/fsp1_0/fsp_util.h b/src/drivers/intel/fsp1_0/fsp_util.h index f781329d21..e0da19e8ac 100644 --- a/src/drivers/intel/fsp1_0/fsp_util.h +++ b/src/drivers/intel/fsp1_0/fsp_util.h @@ -32,10 +32,12 @@ void romstage_fsp_rt_buffer_callback(FSP_INIT_RT_BUFFER *FspRtBuffer); void print_fsp_info(void); void chipset_fsp_early_init(FSP_INIT_PARAMS *FspInitParams, FSP_INFO_HEADER *fsp_ptr); -void ChipsetFspReturnPoint(EFI_STATUS Status, VOID *HobListPtr); void *find_saved_temp_mem(void *hob_list_ptr); void *find_fsp_reserved_mem(void *hob_list_ptr); +/* function in romstage.c */ +void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr); + /* functions in hob.c */ void print_hob_mem_attributes(void *Hobptr); void print_hob_type_structure(u16 Hobtype, void *Hoblistptr); |