]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/Pei/PeiMain/PeiMain.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkModulePkg / Core / Pei / PeiMain / PeiMain.c
diff --git a/EdkModulePkg/Core/Pei/PeiMain/PeiMain.c b/EdkModulePkg/Core/Pei/PeiMain/PeiMain.c
deleted file mode 100644 (file)
index 5d439f7..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-Module Name:\r
-\r
-  PeiMain.c\r
-\r
-Abstract:\r
-\r
-  Pei Core Main Entry Point\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#include <PeiMain.h>\r
-\r
-//\r
-//CAR is filled with this initial value during SEC phase\r
-//\r
-#define INIT_CAR_VALUE 0x5AA55AA5\r
-\r
-static EFI_PEI_PPI_DESCRIPTOR mMemoryDiscoveredPpi = {\r
-  (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
-  &gEfiPeiMemoryDiscoveredPpiGuid,\r
-  NULL\r
-};\r
-\r
-//\r
-// Pei Core Module Variables\r
-//\r
-//\r
-static EFI_PEI_SERVICES  mPS = {\r
-  {\r
-    PEI_SERVICES_SIGNATURE,\r
-    PEI_SERVICES_REVISION,\r
-    sizeof (EFI_PEI_SERVICES),\r
-    0,\r
-    0\r
-  },\r
-  PeiInstallPpi,\r
-  PeiReInstallPpi,\r
-  PeiLocatePpi,\r
-  PeiNotifyPpi,\r
-\r
-  PeiGetBootMode,\r
-  PeiSetBootMode,\r
-\r
-  PeiGetHobList,\r
-  PeiCreateHob,\r
-\r
-  PeiFvFindNextVolume,\r
-  PeiFfsFindNextFile,\r
-  PeiFfsFindSectionData,\r
-\r
-  PeiInstallPeiMemory,\r
-  PeiAllocatePages,\r
-  PeiAllocatePool,\r
-  (EFI_PEI_COPY_MEM)CopyMem,\r
-  (EFI_PEI_SET_MEM)SetMem,\r
-\r
-  PeiReportStatusCode,\r
-\r
-  PeiResetSystem\r
-};\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PeiCore (\r
-  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor,\r
-  IN VOID                        *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  The entry routine to Pei Core, invoked by PeiMain during transition\r
-  from SEC to PEI. After switching stack in the PEI core, it will restart\r
-  with the old core data.\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
-                         core's data areas.\r
-\r
-Returns:\r
-\r
-  This function never returns\r
-  EFI_NOT_FOUND        - Never reach\r
-\r
---*/\r
-{\r
-  PEI_CORE_INSTANCE                                     PrivateData;\r
-  EFI_STATUS                                            Status;\r
-  PEI_CORE_TEMP_POINTERS                                TempPtr;\r
-  PEI_CORE_DISPATCH_DATA                                *DispatchData;\r
-  UINT64                                                mTick;\r
-  PEI_CORE_INSTANCE                                     *OldCoreData;\r
-\r
-  mTick = 0;\r
-  OldCoreData = (PEI_CORE_INSTANCE *) Data;\r
-\r
-  if (PerformanceMeasurementEnabled()) {\r
-    if (OldCoreData == NULL) {\r
-      mTick = GetPerformanceCounter ();\r
-    }\r
-  }\r
-\r
-  //\r
-  // For IPF in CAR mode the real memory access is uncached,in InstallPeiMemory()\r
-  //  the 63-bit of address is set to 1.\r
-  //\r
-  SWITCH_TO_CACHE_MODE (OldCoreData);\r
-\r
-  if (OldCoreData != NULL) {\r
-    CopyMem (&PrivateData, OldCoreData, sizeof (PEI_CORE_INSTANCE));\r
-  } else {\r
-    ZeroMem (&PrivateData, sizeof (PEI_CORE_INSTANCE));\r
-  }\r
-\r
-  PrivateData.Signature = PEI_CORE_HANDLE_SIGNATURE;\r
-  PrivateData.PS = &mPS;\r
-\r
-  //\r
-  // Initialize libraries that the PeiCore is linked against\r
-  // BUGBUG: The FfsHeader is passed in as NULL.  Do we look it up or remove it from the lib init?\r
-  //\r
-  ProcessLibraryConstructorList (NULL, &PrivateData.PS);\r
-\r
-  InitializeMemoryServices (&PrivateData.PS, PeiStartupDescriptor, OldCoreData);\r
-\r
-  InitializePpiServices (&PrivateData.PS, OldCoreData);\r
-\r
-  InitializeSecurityServices (&PrivateData.PS, OldCoreData);\r
-\r
-  InitializeDispatcherData (&PrivateData.PS, OldCoreData, PeiStartupDescriptor);\r
-\r
-  if (OldCoreData != NULL) {\r
-\r
-    PERF_END (NULL,"PreMem", NULL, 0);\r
-    PERF_START (NULL,"PostMem", NULL, 0);\r
-\r
-    //\r
-    // The following code dumps out interesting cache as RAM usage information\r
-    // so we can keep tabs on how the cache as RAM is being utilized.  The\r
-    // DEBUG_CODE_BEGIN macro is used to prevent this code from being compiled\r
-    // on a debug build.\r
-    //\r
-    DEBUG_CODE_BEGIN ();\r
-      UINTN  *StackPointer;\r
-      UINTN  StackValue;\r
-\r
-      StackValue = INIT_CAR_VALUE;\r
-      for (StackPointer = (UINTN *) OldCoreData->MaxTopOfCarHeap;\r
-           ((UINTN) StackPointer < ((UINTN) OldCoreData->BottomOfCarHeap + OldCoreData->SizeOfCacheAsRam))\r
-           && StackValue == INIT_CAR_VALUE;\r
-           StackPointer++) {\r
-        StackValue = *StackPointer;\r
-      }\r
-\r
-      DEBUG ((EFI_D_INFO, "Total Cache as RAM:    %d bytes.\n", OldCoreData->SizeOfCacheAsRam));\r
-      DEBUG ((EFI_D_INFO, "  CAR stack ever used: %d bytes.\n",\r
-        ((UINTN) OldCoreData->TopOfCarHeap - (UINTN) StackPointer)\r
-        ));\r
-      DEBUG ((EFI_D_INFO, "  CAR heap used:       %d bytes.\n",\r
-        ((UINTN) OldCoreData->HobList.HandoffInformationTable->EfiFreeMemoryBottom -\r
-        (UINTN) OldCoreData->HobList.Raw)\r
-        ));\r
-    DEBUG_CODE_END ();\r
-\r
-    //\r
-    // Alert any listeners that there is permanent memory available\r
-    //\r
-    \r
-    PERF_START (NULL,"DisMem", NULL, 0);\r
-    Status = PeiServicesInstallPpi (&mMemoryDiscoveredPpi);\r
-    PERF_END (NULL,"DisMem", NULL, 0);\r
-\r
-  } else {\r
-\r
-    //\r
-    // Report Status Code EFI_SW_PC_INIT\r
-    //\r
-    REPORT_STATUS_CODE (\r
-      EFI_PROGRESS_CODE,\r
-      EFI_SOFTWARE_PEI_CORE | EFI_SW_PC_INIT\r
-      );\r
-\r
-    PERF_START (NULL,"PEI", NULL, mTick);\r
-    //\r
-    // If first pass, start performance measurement.\r
-    //\r
-    PERF_START (NULL,"PreMem", NULL, mTick);\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
-      ASSERT_EFI_ERROR (Status);\r
-    }\r
-  }\r
-\r
-  DispatchData = &PrivateData.DispatchData;\r
-\r
-  //\r
-  // Call PEIM dispatcher\r
-  //\r
-  PeiDispatcher (PeiStartupDescriptor, &PrivateData, DispatchData);\r
-\r
-  //\r
-  // Check if InstallPeiMemory service was called.\r
-  //\r
-  ASSERT(PrivateData.PeiMemoryInstalled == TRUE);\r
-\r
-  PERF_END (NULL, "PostMem", NULL, 0);\r
-\r
-  Status = PeiServicesLocatePpi (\r
-             &gEfiDxeIplPpiGuid,\r
-             0,\r
-             NULL,\r
-             (VOID **)&TempPtr.DxeIpl\r
-             );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  DEBUG ((EFI_D_INFO, "DXE IPL Entry\n"));\r
-  Status = TempPtr.DxeIpl->Entry (\r
-                             TempPtr.DxeIpl,\r
-                             &PrivateData.PS,\r
-                             PrivateData.HobList\r
-                             );\r
-\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  return EFI_NOT_FOUND;\r
-}\r
-\r