aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp1_0/fsp_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/intel/fsp1_0/fsp_util.c')
-rw-r--r--src/drivers/intel/fsp1_0/fsp_util.c12
1 files changed, 12 insertions, 0 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().