EFI_DXE_FILE_GUID,\r
0x0 // EFI_PHYSICAL_ADDRESS of EntryPoint;\r
},\r
+ { // MemoryDxeCore\r
+ {\r
+ EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, // HobType\r
+ sizeof (EFI_HOB_RESOURCE_DESCRIPTOR), // HobLength\r
+ 0 // Reserved\r
+ },\r
+ {\r
+ 0 // Owner Guid\r
+ },\r
+ EFI_RESOURCE_SYSTEM_MEMORY, // ResourceType\r
+ (EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
+// EFI_RESOURCE_ATTRIBUTE_TESTED | // Do not mark as TESTED, or DxeCore will find it and use it before check Allocation\r
+ EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
+ EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE | \r
+ EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE | \r
+ EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE | \r
+ EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE), \r
+ 0x0, // PhysicalStart\r
+ 0 // ResourceLength\r
+ },\r
{ // Memory Map Hints to reduce fragmentation in the memory map\r
{\r
{\r
sizeof (TABLE_HOB), // Hob size\r
0 // reserved\r
},\r
- EFI_SMBIOS_TABLE_GUID\r
+ SMBIOS_TABLE_GUID\r
},\r
0\r
},\r
{\r
{0, 0, 0}, // Reserved[3]\r
EFI_FLASH_AREA_GUID_DEFINED, // AreaType\r
- EFI_SYSTEM_NV_DATA_HOB_GUID, // AreaTypeGuid\r
+ EFI_SYSTEM_NV_DATA_FV_GUID , // AreaTypeGuid\r
1,\r
{\r
{\r
0\r
}\r
},\r
+ { // NV Ftw FV Resource\r
+ {\r
+ EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, // HobType\r
+ sizeof (EFI_HOB_RESOURCE_DESCRIPTOR), // HobLength\r
+ 0 // Reserved\r
+ },\r
+ {\r
+ 0 // Owner Guid\r
+ },\r
+ EFI_RESOURCE_FIRMWARE_DEVICE, // ResourceType\r
+ (EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
+ EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
+ EFI_RESOURCE_ATTRIBUTE_TESTED |\r
+ EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE), // ResourceAttribute\r
+ 0, // PhysicalStart (Fixed later)\r
+ NV_FTW_FVB_SIZE // ResourceLength\r
+ }, \r
{ // FVB holding FTW spaces including Working & Spare space\r
{\r
{\r
{\r
{0, 0, 0}, // Reserved[3]\r
EFI_FLASH_AREA_GUID_DEFINED, // AreaType\r
- EFI_SYSTEM_NV_DATA_HOB_GUID, // AreaTypeGuid\r
+ EFI_SYSTEM_NV_DATA_FV_GUID, // AreaTypeGuid\r
1,\r
{\r
{\r
UINT64 DxeCoreLength\r
)\r
{\r
- gHob->DxeCore.MemoryAllocationHeader.MemoryBaseAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreImageBase;\r
+ gHob->DxeCore.MemoryAllocationHeader.MemoryBaseAddress = DxeCoreImageBase;\r
gHob->DxeCore.MemoryAllocationHeader.MemoryLength = DxeCoreLength;\r
gHob->DxeCore.EntryPoint = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreEntryPoint;\r
+\r
+\r
+ gHob->MemoryDxeCore.PhysicalStart = DxeCoreImageBase;\r
+ gHob->MemoryDxeCore.ResourceLength = DxeCoreLength; \r
}\r
\r
VOID *\r
// Create the FVB holding FTW spaces\r
//\r
FtwFvbBase = (EFI_PHYSICAL_ADDRESS)((UINTN) StorageFvbBase + NV_STORAGE_FVB_SIZE);\r
- gHob->NvFtwFvb.FvbInfo.Entries[0].Base = FtwFvbBase;\r
+ gHob->NvFtwFvResource.PhysicalStart =\r
+ gHob->NvFtwFvb.FvbInfo.Entries[0].Base = FtwFvbBase;\r
//\r
// Put FTW Working in front\r
//\r