<------------------------------+ | |\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
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