diff options
Diffstat (limited to 'IntelFspPkg')
-rw-r--r-- | IntelFspPkg/FspSecCore/SecMain.c | 6 | ||||
-rw-r--r-- | IntelFspPkg/FspSecCore/SecMain.h | 4 |
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
);
/**
|