a) Fixed the issue that the unnecessary build for not specified ARCH in single module...
[mirror_edk2.git] / EdkModulePkg / Core / DxeIplPeim / DxeLoad.c
index a181095813e4fbbc38fe90b33a03e8ac868b9769..44923764627e75cf4867a7c43cbe096d790acae7 100644 (file)
@@ -119,11 +119,11 @@ Returns:
   EFI_PEI_PE_COFF_LOADER_PROTOCOL           *PeiEfiPeiPeCoffLoader;\r
   EFI_BOOT_MODE                             BootMode;\r
 \r
-  Status = PeiCoreGetBootMode (&BootMode);\r
+  Status = PeiServicesGetBootMode (&BootMode);\r
 \r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  Status = PeiCoreLocatePpi (\r
+  Status = PeiServicesLocatePpi (\r
              &gPeiInMemoryGuid,\r
              0,\r
              NULL,\r
@@ -154,7 +154,7 @@ Returns:
     //\r
     // Install LoadFile PPI\r
     //\r
-    Status = PeiCoreInstallPpi (&mPpiLoadFile);\r
+    Status = PeiServicesInstallPpi (&mPpiLoadFile);\r
 \r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
@@ -163,7 +163,7 @@ Returns:
     //\r
     // Install DxeIpl PPI\r
     //\r
-    PeiCoreInstallPpi (&mPpiList);\r
+    PeiServicesInstallPpi (&mPpiList);\r
 \r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
@@ -223,10 +223,10 @@ Returns:
   //\r
   // if in S3 Resume, restore configure\r
   //\r
-  Status = PeiCoreGetBootMode (&BootMode);\r
+  Status = PeiServicesGetBootMode (&BootMode);\r
 \r
   if (!EFI_ERROR (Status) && (BootMode == BOOT_ON_S3_RESUME)) {\r
-    Status = PeiCoreLocatePpi (\r
+    Status = PeiServicesLocatePpi (\r
                &gEfiPeiS3ResumePpiGuid,\r
                0,\r
                NULL,\r
@@ -307,11 +307,11 @@ Returns:
   //\r
   // See if we are in crisis recovery\r
   //\r
-  Status = PeiCoreGetBootMode (&BootMode);\r
+  Status = PeiServicesGetBootMode (&BootMode);\r
 \r
   if (!EFI_ERROR (Status) && (BootMode == BOOT_IN_RECOVERY_MODE)) {\r
 \r
-    Status = PeiCoreLocatePpi (\r
+    Status = PeiServicesLocatePpi (\r
                &gEfiPeiRecoveryModulePpiGuid,\r
                0,\r
                NULL,\r
@@ -373,7 +373,7 @@ Returns:
   //\r
 //  PERF_END (PeiServices, L"DxeIpl", NULL, 0);\r
 \r
-  Status = PeiCoreInstallPpi (&mPpiSignal);\r
+  Status = PeiServicesInstallPpi (&mPpiSignal);\r
 \r
   ASSERT_EFI_ERROR (Status);\r
 \r
@@ -464,18 +464,18 @@ Returns:
   Hob.Raw = GetHobList ();\r
   while ((Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, Hob.Raw)) != NULL) {\r
     FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) (Hob.FirmwareVolume->BaseAddress);\r
-    Status = PeiCoreFfsFindNextFile (\r
+    Status = PeiServicesFfsFindNextFile (\r
                Type,\r
                FwVolHeader,\r
                &FfsFileHeader\r
                );\r
     if (!EFI_ERROR (Status)) {\r
-      CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));\r
       Status = PeiProcessFile (\r
                  SectionType,\r
-                 FfsFileHeader,\r
+                 &FfsFileHeader,\r
                  Pe32Data\r
                  );\r
+      CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));\r
       return Status;\r
     }\r
     Hob.Raw = GET_NEXT_HOB (Hob);\r
@@ -620,7 +620,7 @@ Returns:
     //\r
     // Install PeiInMemory to indicate the Dxeipl is shadowed\r
     //\r
-    Status = PeiCoreInstallPpi (&mPpiPeiInMemory);\r
+    Status = PeiServicesInstallPpi (&mPpiPeiInMemory);\r
 \r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
@@ -683,7 +683,7 @@ Returns:
   //\r
   Status = PeiProcessFile (\r
             EFI_SECTION_PE32,\r
-            FfsHeader,\r
+            &FfsHeader,\r
             &Pe32Data\r
             );\r
 \r
@@ -706,9 +706,9 @@ Returns:
 \r
 EFI_STATUS\r
 PeiProcessFile (\r
-  IN  UINT16                 SectionType,\r
-  IN  EFI_FFS_FILE_HEADER    *FfsFileHeader,\r
-  OUT VOID                   **Pe32Data\r
+  IN      UINT16                 SectionType,\r
+  IN OUT  EFI_FFS_FILE_HEADER    **RealFfsFileHeader,\r
+  OUT     VOID                   **Pe32Data\r
   )\r
 /*++\r
 \r
@@ -756,8 +756,11 @@ Returns:
   EFI_GUID                        TempGuid;\r
   EFI_FIRMWARE_VOLUME_HEADER      *FvHeader;\r
   EFI_COMPRESSION_SECTION         *CompressionSection;\r
+  EFI_FFS_FILE_HEADER             *FfsFileHeader;\r
+  \r
+  FfsFileHeader = *RealFfsFileHeader;\r
 \r
-  Status = PeiCoreFfsFindSectionData (\r
+  Status = PeiServicesFfsFindSectionData (\r
              EFI_SECTION_COMPRESSION,\r
              FfsFileHeader,\r
              &SectionData\r
@@ -795,7 +798,7 @@ Returns:
         //\r
         AuthenticationStatus = 0;\r
 \r
-        Status = PeiCoreLocatePpi (\r
+        Status = PeiServicesLocatePpi (\r
                    &gEfiPeiSectionExtractionPpiGuid,\r
                    0,\r
                    NULL,\r
@@ -828,7 +831,7 @@ Returns:
         // If not ask the Security PPI, if exists, for disposition\r
         //\r
         //\r
-        Status = PeiCoreLocatePpi (\r
+        Status = PeiServicesLocatePpi (\r
                    &gEfiPeiSecurityPpiGuid,\r
                    0,\r
                    NULL,\r
@@ -940,7 +943,7 @@ Returns:
           if (FvHeader->Signature == EFI_FVH_SIGNATURE) {\r
             FfsFileHeader = NULL;\r
             BuildFvHob ((EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader, FvHeader->FvLength);\r
-            Status = PeiCoreFfsFindNextFile (\r
+            Status = PeiServicesFfsFindNextFile (\r
                        EFI_FV_FILETYPE_DXE_CORE,\r
                        FvHeader,\r
                        &FfsFileHeader\r
@@ -950,7 +953,11 @@ Returns:
               return EFI_NOT_FOUND;\r
             }\r
 \r
-            return PeiProcessFile (SectionType, FfsFileHeader, Pe32Data);\r
+            //\r
+            // Reture the FfsHeader that contain Pe32Data.\r
+            //\r
+            *RealFfsFileHeader = FfsFileHeader;\r
+            return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data);\r
           }\r
         }\r
         //\r
@@ -986,14 +993,14 @@ Returns:
     //\r
   } else {\r
 \r
-    Status = PeiCoreFfsFindSectionData (\r
+    Status = PeiServicesFfsFindSectionData (\r
                EFI_SECTION_PE32,\r
                FfsFileHeader,\r
                &SectionData\r
                );\r
 \r
     if (EFI_ERROR (Status)) {\r
-      Status = PeiCoreFfsFindSectionData (\r
+      Status = PeiServicesFfsFindSectionData (\r
                  EFI_SECTION_TE,\r
                  FfsFileHeader,\r
                  &SectionData\r