From 5aae0aa7d8347ce30d856aa5f39c53d181654e8b Mon Sep 17 00:00:00 2001 From: klu2 Date: Wed, 12 Sep 2007 09:52:37 +0000 Subject: PI Enable: 1) The entry point of PeiCore has been changed to EFI_PEI_CORE_ENTRY_POINT defined in PI. 2) Nt32, Tiger and lakeport platform's SecCore has been updated. 3) Autogen tools also has been updated. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3804 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Core/Pei/PeiMain/PeiMain.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'MdeModulePkg/Core/Pei/PeiMain') diff --git a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c index b2f7807479..a7944e130c 100644 --- a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c +++ b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c @@ -81,8 +81,9 @@ static EFI_PEI_SERVICES mPS = { EFI_STATUS EFIAPI PeiCore ( - IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartupDescriptor, - IN VOID *Data + IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData, + IN CONST EFI_PEI_PPI_DESCRIPTOR *PpList, + IN VOID *Data ) /*++ @@ -94,8 +95,16 @@ Routine Description: Arguments: - PeiStartupDescriptor - Information and services provided by SEC phase. - OldCoreData - Pointer to old core data that is used to initialize the + SecCoreData - Points to a data structure containing information about the PEI core's operating + environment, such as the size and location of temporary RAM, the stack location and + the BFV location. + PpiList - Points to a list of one or more PPI descriptors to be installed initially by the PEI core. + An empty PPI list consists of a single descriptor with the end-tag + EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST. As part of its initialization + phase, the PEI Foundation will add these SEC-hosted PPIs to its PPI database such + that both the PEI Foundation and any modules can leverage the associated service + calls and/or code in these early PPIs + Data - Pointer to old core data that is used to initialize the core's data areas. Returns: @@ -142,13 +151,13 @@ Returns: // ProcessLibraryConstructorList (NULL, &PrivateData.PS); - InitializeMemoryServices (&PrivateData.PS, PeiStartupDescriptor, OldCoreData); + InitializeMemoryServices (&PrivateData.PS, SecCoreData, OldCoreData); InitializePpiServices (&PrivateData.PS, OldCoreData); InitializeSecurityServices (&PrivateData.PS, OldCoreData); - InitializeDispatcherData (&PrivateData.PS, OldCoreData, PeiStartupDescriptor); + InitializeDispatcherData (&PrivateData.PS, OldCoreData, SecCoreData); if (OldCoreData != NULL) { @@ -210,8 +219,8 @@ Returns: // // If SEC provided any PPI services to PEI, install them. // - if (PeiStartupDescriptor->DispatchTable != NULL) { - Status = PeiServicesInstallPpi (PeiStartupDescriptor->DispatchTable); + if (PpList != NULL) { + Status = PeiServicesInstallPpi (PpList); ASSERT_EFI_ERROR (Status); } } @@ -221,7 +230,7 @@ Returns: // // Call PEIM dispatcher // - PeiDispatcher (PeiStartupDescriptor, &PrivateData, DispatchData); + PeiDispatcher (SecCoreData, &PrivateData, DispatchData); // // Check if InstallPeiMemory service was called. -- cgit v1.2.3