]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/DxeIpl/DxeInit.c
Port AcpiResetDxe from EDK to EDKII to enable reset function on DUET above legacy...
[mirror_edk2.git] / DuetPkg / DxeIpl / DxeInit.c
index 2f4e5b9f82026d833f93fed2ffa8d0f677f69532..bee7f1130760b78ccf8f3a43beadd320b6324980 100644 (file)
@@ -78,14 +78,16 @@ MemoryAbove1MB.PhysicalStart <--------------------------------------------------
                         <------------------------------+           |               |\r
         Permament Stack (0x20 Pages = 128K)                        |               |\r
                         <- Phit.EfiMemoryTop ----------+-----------+---------------+\r
-        DxeCore                                                                    |\r
-                                                                                DxeCore\r
-        DxeIpl                                                                     |\r
-                        <----------------------------------------------------------+\r
-        NvFV + FtwFV                                                               |\r
+        NvFV (64K)                                                                 |\r
                                                                                  MMIO\r
-        BFV                                                                        |\r
-                        <- Top of Free Memory reported by E820 --------------------+\r
+        FtwFV (128K)                                                               |  \r
+                        <----------------------------------------------------------+<---------+\r
+        DxeCore                                                                    |          |\r
+                                                                                DxeCore       |\r
+        DxeIpl                                                                     |   Allocated in EfiLdr\r
+                        <----------------------------------------------------------+          |\r
+        BFV                                                                      MMIO         |\r
+                        <- Top of Free Memory reported by E820 --------------------+<---------+\r
         ACPINVS        or\r
         ACPIReclaim    or\r
         Reserved\r
@@ -110,19 +112,6 @@ EnterDxeMain (
   IN VOID *PageTable\r
   );\r
 \r
-VOID\r
-WaitForKey ()\r
-{\r
-    PrintString("Press Enter to continue ...\n");\r
-    _asm {\r
-            mov  al,  20h\r
-            out  64h, al\r
-     AGAIN: in   al,  60h\r
-            cmp  al,  1ch\r
-            jnz  AGAIN\r
-    }\r
-}\r
-\r
 VOID\r
 DxeInit (\r
   IN EFILDRHANDOFF  *Handoff\r
@@ -280,11 +269,44 @@ Returns:
   PrintString(" Length = ");\r
   PrintValue64(gHob->NvFtwFvb.FvbInfo.Entries[0].Length);\r
   PrintString("\n");\r
+  PrintString("BfvResource = ");\r
+  PrintValue64(gHob->BfvResource.PhysicalStart);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->BfvResource.ResourceLength);\r
+  PrintString("\n");\r
+  PrintString("NvStorageFvResource = ");\r
+  PrintValue64(gHob->NvStorageFvResource.PhysicalStart);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->NvStorageFvResource.ResourceLength);\r
+  PrintString("\n");\r
+  PrintString("NvStorage = ");\r
+  PrintValue64(gHob->NvStorage.FvbInfo.Entries[0].Base);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->NvStorage.FvbInfo.Entries[0].Length);\r
+  PrintString("\n");\r
+  PrintString("NvFtwFvResource = ");\r
+  PrintValue64(gHob->NvFtwFvResource.PhysicalStart);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->NvFtwFvResource.ResourceLength);\r
+  PrintString("\n");\r
+  PrintString("NvFtwWorking = ");\r
+  PrintValue64(gHob->NvFtwWorking.FvbInfo.Entries[0].Base);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->NvFtwWorking.FvbInfo.Entries[0].Length);\r
+  PrintString("\n");\r
+  PrintString("NvFtwSpare = ");\r
+  PrintValue64(gHob->NvFtwSpare.FvbInfo.Entries[0].Base);\r
+  PrintString(" Length = ");\r
+  PrintValue64(gHob->NvFtwSpare.FvbInfo.Entries[0].Length);\r
+  PrintString("\n");\r
   PrintString("Stack = ");   \r
   PrintValue64(gHob->Stack.AllocDescriptor.MemoryBaseAddress);\r
   PrintString(" StackLength = ");   \r
   PrintValue64(gHob->Stack.AllocDescriptor.MemoryLength);\r
   PrintString("\n");   \r
+  PrintString("PageTable = ");   \r
+  PrintValue64((UINTN)PageTableBase);\r
+  PrintString("\n");     \r
   PrintString("MemoryFreeUnder1MB = ");   \r
   PrintValue64(gHob->MemoryFreeUnder1MB.PhysicalStart);\r
   PrintString(" MemoryFreeUnder1MBLength = ");   \r
@@ -312,13 +334,13 @@ Returns:
   PrintString("\n");   \r
   EFI_DEADLOOP();\r
 */\r
-  WaitForKey ();\r
+\r
   ClearScreen();\r
   PrintString("\n\n\n\n\n\n\n\n\n\n");\r
   PrintString("                         WELCOME TO EFI WORLD!\n");\r
   \r
   EnterDxeMain (StackTop, Handoff->DxeCoreEntryPoint, gHob, PageTableBase);\r
-  \r
\r
   PrintString("Fail to enter DXE main!\n");\r
   //\r
   // Should never get here\r