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>
This commit is contained in:
Patrick Rudolph 2019-03-04 15:14:29 +01:00 committed by Patrick Rudolph
parent 0e3f7d4780
commit 5926ae24a6
8 changed files with 15 additions and 44 deletions

View File

@ -23,6 +23,7 @@
#include <ip_checksum.h> #include <ip_checksum.h>
#include <timestamp.h> #include <timestamp.h>
#include <cpu/intel/microcode.h> #include <cpu/intel/microcode.h>
#include <cf9_reset.h>
#ifndef __PRE_RAM__ #ifndef __PRE_RAM__
/* Globals pointers for FSP structures */ /* Globals pointers for FSP structures */
@ -63,6 +64,17 @@ void FspNotify (u32 Phase)
#ifdef __PRE_RAM__ #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. * Call the FSP to do memory init. The FSP doesn't return to this function.
* The FSP returns to the romstage_main_continue(). * The FSP returns to the romstage_main_continue().

View File

@ -32,10 +32,12 @@ void romstage_fsp_rt_buffer_callback(FSP_INIT_RT_BUFFER *FspRtBuffer);
void print_fsp_info(void); void print_fsp_info(void);
void chipset_fsp_early_init(FSP_INIT_PARAMS *FspInitParams, void chipset_fsp_early_init(FSP_INIT_PARAMS *FspInitParams,
FSP_INFO_HEADER *fsp_ptr); FSP_INFO_HEADER *fsp_ptr);
void ChipsetFspReturnPoint(EFI_STATUS Status, VOID *HobListPtr);
void *find_saved_temp_mem(void *hob_list_ptr); void *find_saved_temp_mem(void *hob_list_ptr);
void *find_fsp_reserved_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 */ /* functions in hob.c */
void print_hob_mem_attributes(void *Hobptr); void print_hob_mem_attributes(void *Hobptr);
void print_hob_type_structure(u16 Hobtype, void *Hoblistptr); void print_hob_type_structure(u16 Hobtype, void *Hoblistptr);

View File

@ -19,7 +19,6 @@
#include <console/console.h> #include <console/console.h>
#include <bootstate.h> #include <bootstate.h>
#include <cbmem.h> #include <cbmem.h>
#include <cf9_reset.h>
#include <device/device.h> #include <device/device.h>
#include <southbridge/intel/fsp_rangeley/pci_devs.h> #include <southbridge/intel/fsp_rangeley/pci_devs.h>
#include <drivers/intel/fsp1_0/fsp_util.h> #include <drivers/intel/fsp1_0/fsp_util.h>
@ -166,16 +165,4 @@ void chipset_fsp_early_init(FSP_INIT_PARAMS *pFspInitParams,
return; return;
} }
/* The FSP returns here after the fsp_early_init call */
void ChipsetFspReturnPoint(EFI_STATUS Status,
VOID *HobListPtr)
{
*(void **)CBMEM_FSP_HOB_PTR = HobListPtr;
if (Status == 0xFFFFFFFF) {
system_reset();
}
romstage_main_continue(Status, HobListPtr);
}
#endif /* __PRE_RAM__ */ #endif /* __PRE_RAM__ */

View File

@ -336,16 +336,4 @@ void chipset_fsp_early_init(FSP_INIT_PARAMS *pFspInitParams,
return; return;
} }
/* The FSP returns here after the fsp_early_init call */
void ChipsetFspReturnPoint(EFI_STATUS Status,
VOID *HobListPtr)
{
*(void **)CBMEM_FSP_HOB_PTR=HobListPtr;
if (Status == 0xFFFFFFFF) {
system_reset();
}
romstage_main_continue(Status, HobListPtr);
}
#endif /* __PRE_RAM__ */ #endif /* __PRE_RAM__ */

View File

@ -27,7 +27,6 @@ void report_platform_info(void);
#include <drivers/intel/fsp1_0/fsp_util.h> #include <drivers/intel/fsp1_0/fsp_util.h>
void main(FSP_INFO_HEADER *fsp_info_header); void main(FSP_INFO_HEADER *fsp_info_header);
void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr);
uint32_t chipset_prev_sleep_state(uint32_t clear); uint32_t chipset_prev_sleep_state(uint32_t clear);
#define NUM_ROMSTAGE_TS 4 #define NUM_ROMSTAGE_TS 4

View File

@ -20,7 +20,6 @@
#include <bootstate.h> #include <bootstate.h>
#include <cbfs.h> #include <cbfs.h>
#include <cbmem.h> #include <cbmem.h>
#include <cf9_reset.h>
#include <device/device.h> #include <device/device.h>
#include <device/pci_def.h> #include <device/pci_def.h>
#include <drivers/intel/fsp1_0/fsp_util.h> #include <drivers/intel/fsp1_0/fsp_util.h>
@ -140,15 +139,3 @@ void chipset_fsp_early_init(FSP_INIT_PARAMS *pFspInitParams, FSP_INFO_HEADER *fs
return; return;
} }
/* The FSP returns here after the fsp_early_init call */
void ChipsetFspReturnPoint(EFI_STATUS Status, VOID *HobListPtr)
{
*(void **)CBMEM_FSP_HOB_PTR = HobListPtr;
if (Status == 0xFFFFFFFF) {
system_reset();
}
romstage_main_continue(Status, HobListPtr);
}

View File

@ -24,8 +24,6 @@
#include <stdint.h> #include <stdint.h>
#include <fsp.h> #include <fsp.h>
void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr);
#define NUM_ROMSTAGE_TS 4 #define NUM_ROMSTAGE_TS 4
void early_mainboard_romstage_entry(void); void early_mainboard_romstage_entry(void);

View File

@ -29,6 +29,4 @@ void early_mainboard_romstage_entry(void);
void late_mainboard_romstage_entry(void); void late_mainboard_romstage_entry(void);
void get_func_disables(uint32_t *mask); void get_func_disables(uint32_t *mask);
void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr);
#endif /* _RANGELEY_ROMSTAGE_H_ */ #endif /* _RANGELEY_ROMSTAGE_H_ */