]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c
MdeModulePkg: Add PcdDxeIplBuildPageTables for DxeIpl X64 to optionally not rebuild...
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / X64 / DxeLoadFunc.c
index 1b12801d67f2b0c0bfc4303724c4a4bc8e57e23e..729e1ee3250dd0a92297220aafa4239991baeddb 100644 (file)
@@ -52,18 +52,22 @@ HandOffToDxeCore (
   TopOfStack = (VOID *) ((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT);\r
   TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);\r
 \r
-  //\r
-  // Create page table and save PageMapLevel4 to CR3\r
-  //\r
-  PageTables = CreateIdentityMappingPageTables ();\r
-\r
+  if (FeaturePcdGet (PcdDxeIplBuildPageTables)) {\r
+    //\r
+    // Create page table and save PageMapLevel4 to CR3\r
+    //\r
+    PageTables = CreateIdentityMappingPageTables ();\r
+  }\r
+  \r
   //\r
   // End of PEI phase signal\r
   //\r
   Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  AsmWriteCr3 (PageTables);\r
+  if (FeaturePcdGet (PcdDxeIplBuildPageTables)) {\r
+    AsmWriteCr3 (PageTables);\r
+  }\r
 \r
   //\r
   // Update the contents of BSP stack HOB to reflect the real stack info passed to DxeCore.\r