\r
--*/\r
\r
-//\r
-// Include common header file for this module.\r
-//\r
-#include "CommonHeader.h"\r
-\r
#include <PeiMain.h>\r
\r
//\r
\r
PeiReportStatusCode,\r
\r
- PeiResetSystem\r
+ PeiResetSystem,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ PeiRegisterForShadow\r
};\r
\r
EFI_STATUS\r
EFIAPI\r
PeiCore (\r
- IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartupDescriptor,\r
- IN VOID *Data\r
+ IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,\r
+ IN CONST EFI_PEI_PPI_DESCRIPTOR *PpList,\r
+ IN VOID *Data\r
)\r
/*++\r
\r
\r
Arguments:\r
\r
- PeiStartupDescriptor - Information and services provided by SEC phase.\r
- OldCoreData - Pointer to old core data that is used to initialize the\r
+ SecCoreData - Points to a data structure containing information about the PEI core's operating\r
+ environment, such as the size and location of temporary RAM, the stack location and\r
+ the BFV location.\r
+ PpiList - Points to a list of one or more PPI descriptors to be installed initially by the PEI core.\r
+ An empty PPI list consists of a single descriptor with the end-tag\r
+ EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST. As part of its initialization\r
+ phase, the PEI Foundation will add these SEC-hosted PPIs to its PPI database such\r
+ that both the PEI Foundation and any modules can leverage the associated service\r
+ calls and/or code in these early PPIs\r
+ Data - Pointer to old core data that is used to initialize the\r
core's data areas.\r
\r
Returns:\r
//\r
ProcessLibraryConstructorList (NULL, &PrivateData.PS);\r
\r
- InitializeMemoryServices (&PrivateData.PS, PeiStartupDescriptor, OldCoreData);\r
+ InitializeMemoryServices (&PrivateData.PS, SecCoreData, OldCoreData);\r
\r
InitializePpiServices (&PrivateData.PS, OldCoreData);\r
\r
InitializeSecurityServices (&PrivateData.PS, OldCoreData);\r
\r
- InitializeDispatcherData (&PrivateData.PS, OldCoreData, PeiStartupDescriptor);\r
+ InitializeDispatcherData (&PrivateData.PS, OldCoreData, SecCoreData);\r
\r
if (OldCoreData != NULL) {\r
\r
//\r
// If SEC provided any PPI services to PEI, install them.\r
//\r
- if (PeiStartupDescriptor->DispatchTable != NULL) {\r
- Status = PeiServicesInstallPpi (PeiStartupDescriptor->DispatchTable);\r
+ if (PpList != NULL) {\r
+ Status = PeiServicesInstallPpi (PpList);\r
ASSERT_EFI_ERROR (Status);\r
}\r
}\r
//\r
// Call PEIM dispatcher\r
//\r
- PeiDispatcher (PeiStartupDescriptor, &PrivateData, DispatchData);\r
+ PeiDispatcher (SecCoreData, &PrivateData, DispatchData);\r
\r
//\r
// Check if InstallPeiMemory service was called.\r