/** @file\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
+Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>\r
+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
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
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
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
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