summaryrefslogtreecommitdiff
path: root/IntelFspPkg/FspSecCore
diff options
context:
space:
mode:
Diffstat (limited to 'IntelFspPkg/FspSecCore')
-rw-r--r--IntelFspPkg/FspSecCore/SecMain.c6
-rw-r--r--IntelFspPkg/FspSecCore/SecMain.h4
2 files changed, 7 insertions, 3 deletions
diff --git a/IntelFspPkg/FspSecCore/SecMain.c b/IntelFspPkg/FspSecCore/SecMain.c
index 22706c8a8b..971a3a1b82 100644
--- a/IntelFspPkg/FspSecCore/SecMain.c
+++ b/IntelFspPkg/FspSecCore/SecMain.c
@@ -41,6 +41,7 @@ UINT64 mIdtEntryTemplate = 0xffff8e000008ffe4ULL;
@param[in] SizeOfRam Size of the temporary memory available for use.
@param[in] TempRamBase Base address of tempory ram
@param[in] BootFirmwareVolume Base address of the Boot Firmware Volume.
+ @param[in] PeiCoreEntry Pei Core entrypoint.
@return This function never returns.
@@ -50,7 +51,8 @@ EFIAPI
SecStartup (
IN UINT32 SizeOfRam,
IN UINT32 TempRamBase,
- IN VOID *BootFirmwareVolume
+ IN VOID *BootFirmwareVolume,
+ IN UINTN PeiCoreEntry
)
{
EFI_SEC_PEI_HAND_OFF SecCoreData;
@@ -119,7 +121,7 @@ SecStartup (
//
// Call PeiCore Entry
//
- PeiCore = (PEI_CORE_ENTRY)(*(UINTN *)((&BootFirmwareVolume) + 1));
+ PeiCore = (PEI_CORE_ENTRY)(PeiCoreEntry);
PeiCore (&SecCoreData, mPeiSecPlatformInformationPpi);
//
diff --git a/IntelFspPkg/FspSecCore/SecMain.h b/IntelFspPkg/FspSecCore/SecMain.h
index 4dfbc850b3..a9b48d1205 100644
--- a/IntelFspPkg/FspSecCore/SecMain.h
+++ b/IntelFspPkg/FspSecCore/SecMain.h
@@ -107,6 +107,7 @@ InitializeFloatingPointUnits (
@param[in] SizeOfRam Size of the temporary memory available for use.
@param[in] TempRamBase Base address of tempory ram
@param[in] BootFirmwareVolume Base address of the Boot Firmware Volume.
+ @param[in] PeiCoreEntry Pei Core entrypoint.
@return This function never returns.
@@ -116,7 +117,8 @@ EFIAPI
SecStartup (
IN UINT32 SizeOfRam,
IN UINT32 TempRamBase,
- IN VOID *BootFirmwareVolume
+ IN VOID *BootFirmwareVolume,
+ IN UINTN PeiCoreEntry
);
/**