summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/xeon_sp
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/xeon_sp')
-rw-r--r--src/soc/intel/xeon_sp/include/soc/romstage.h1
-rw-r--r--src/soc/intel/xeon_sp/romstage.c10
-rw-r--r--src/soc/intel/xeon_sp/spr/include/soc/soc_util.h4
-rw-r--r--src/soc/intel/xeon_sp/spr/romstage.c5
-rw-r--r--src/soc/intel/xeon_sp/spr/soc_util.c14
5 files changed, 11 insertions, 23 deletions
diff --git a/src/soc/intel/xeon_sp/include/soc/romstage.h b/src/soc/intel/xeon_sp/include/soc/romstage.h
index a2adfed918f9..2fd8128918eb 100644
--- a/src/soc/intel/xeon_sp/include/soc/romstage.h
+++ b/src/soc/intel/xeon_sp/include/soc/romstage.h
@@ -10,5 +10,6 @@ void mainboard_memory_init_params(FSPM_UPD * mupd);
void mainboard_rtc_failed(void);
void save_dimm_info(void);
void mainboard_ewl_check(void);
+void mainboard_fsp_error_handle(void);
#endif /* _SOC_ROMSTAGE_H_ */
diff --git a/src/soc/intel/xeon_sp/romstage.c b/src/soc/intel/xeon_sp/romstage.c
index d001d61eceaf..e57ba4554a0f 100644
--- a/src/soc/intel/xeon_sp/romstage.c
+++ b/src/soc/intel/xeon_sp/romstage.c
@@ -17,6 +17,13 @@ void mainboard_romstage_entry(void)
printk(BIOS_DEBUG, "coreboot fsp_memory_init finished...\n");
mainboard_ewl_check();
+ if (CONFIG(ENABLE_FSP_ERROR_INFO)) {
+ if (fsp_display_error_info()) {
+ mainboard_fsp_error_handle();
+ die("ERROR: FSP reported an error(s) after running!");
+ }
+ }
+
unlock_pam_regions();
save_dimm_info();
@@ -33,3 +40,6 @@ __weak void mainboard_rtc_failed(void)
}
__weak void save_dimm_info(void) { }
__weak void mainboard_ewl_check(void) { }
+
+/* mainboard can override this function for their own handling, such as writing a BMC SEL. */
+__weak void mainboard_fsp_error_handle(void) { }
diff --git a/src/soc/intel/xeon_sp/spr/include/soc/soc_util.h b/src/soc/intel/xeon_sp/spr/include/soc/soc_util.h
index 4539991d55ef..c96103059a0b 100644
--- a/src/soc/intel/xeon_sp/spr/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/spr/include/soc/soc_util.h
@@ -29,8 +29,4 @@ const EWL_PRIVATE_DATA *get_ewl_hob(void);
uint32_t get_ubox_busno(uint32_t socket, uint8_t offset);
uint32_t get_socket_ubox_busno(uint32_t socket);
-void check_fsp_error(void);
-
-void mainboard_fsp_error_handle(void);
-
#endif /* _SOC_UTIL_H_ */
diff --git a/src/soc/intel/xeon_sp/spr/romstage.c b/src/soc/intel/xeon_sp/spr/romstage.c
index b49972eee1d2..fe98f38781e8 100644
--- a/src/soc/intel/xeon_sp/spr/romstage.c
+++ b/src/soc/intel/xeon_sp/spr/romstage.c
@@ -312,8 +312,3 @@ void save_dimm_info(void)
mem_info->dimm_cnt = index; /* Number of DIMM slots found */
printk(BIOS_DEBUG, "%d Installed DIMMs found\n", dimm_num);
}
-
-void fsp_check_for_error(void)
-{
- check_fsp_error();
-}
diff --git a/src/soc/intel/xeon_sp/spr/soc_util.c b/src/soc/intel/xeon_sp/spr/soc_util.c
index 053b3ebecad1..f8d40e3bea68 100644
--- a/src/soc/intel/xeon_sp/spr/soc_util.c
+++ b/src/soc/intel/xeon_sp/spr/soc_util.c
@@ -153,20 +153,6 @@ uint32_t get_socket_ubox_busno(uint32_t socket)
return get_ubox_busno(socket, UNCORE_BUS_1);
}
-/* mainboard can override this function for their own handling, such as write a BMC SEL. */
-void __weak mainboard_fsp_error_handle(void)
-{
- die("ERROR: FSP reported an error(s) after running!");
-}
-
-void check_fsp_error(void)
-{
- bool fsp_found_error = fsp_find_error_info();
-
- if (fsp_found_error)
- mainboard_fsp_error_handle();
-}
-
void bios_done_msr(void *unused)
{
msr_t msr = rdmsr(MSR_BIOS_DONE);