/**@file\r
Platform PEI driver\r
\r
- Copyright (c) 2006 - 2009, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
+ Copyright (c) 2006 - 2010, 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
EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = {\r
{ EfiACPIMemoryNVS, 0x004 },\r
- { EfiACPIReclaimMemory, 0x01C },\r
- { EfiRuntimeServicesData, 0x050 },\r
- { EfiRuntimeServicesCode, 0x020 },\r
- { EfiBootServicesCode, 0x0F0 },\r
- { EfiBootServicesData, 0xA00 },\r
+ { EfiACPIReclaimMemory, 0x008 },\r
+ { EfiReservedMemoryType, 0x004 }, \r
+ { EfiRuntimeServicesData, 0x024 },\r
+ { EfiRuntimeServicesCode, 0x030 },\r
+ { EfiBootServicesCode, 0x180 },\r
+ { EfiBootServicesData, 0xF00 },\r
{ EfiMaxMemoryType, 0x000 }\r
};\r
\r
UINT64 MemorySize\r
)\r
{\r
- STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes =\r
- (\r
+ BuildResourceDescriptorHob (\r
+ EFI_RESOURCE_MEMORY_MAPPED_IO,\r
EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |\r
- EFI_RESOURCE_ATTRIBUTE_TESTED\r
- );\r
-\r
- BuildResourceDescriptorHob (\r
- EFI_RESOURCE_MEMORY_MAPPED_IO,\r
- Attributes,\r
+ EFI_RESOURCE_ATTRIBUTE_TESTED,\r
MemoryBase,\r
MemorySize\r
);\r
UINT64 MemorySize\r
)\r
{\r
- STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes =\r
- (\r
+ BuildResourceDescriptorHob (\r
+ EFI_RESOURCE_SYSTEM_MEMORY,\r
EFI_RESOURCE_ATTRIBUTE_PRESENT |\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
- EFI_RESOURCE_ATTRIBUTE_TESTED\r
- );\r
-\r
- BuildResourceDescriptorHob (\r
- EFI_RESOURCE_SYSTEM_MEMORY,\r
- Attributes,\r
+ EFI_RESOURCE_ATTRIBUTE_TESTED,\r
MemoryBase,\r
MemorySize\r
);\r
AddMemoryBaseSizeHob (MemoryBase, (UINT64)(MemoryLimit - MemoryBase));\r
}\r
\r
-\r
VOID\r
MemMapInitialization (\r
)\r
sizeof(mDefaultMemoryTypeInformation)\r
);\r
\r
+ //\r
+ // Add PCI IO Port space available for PCI resource allocations.\r
+ //\r
+ BuildResourceDescriptorHob (\r
+ EFI_RESOURCE_IO,\r
+ EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
+ EFI_RESOURCE_ATTRIBUTE_INITIALIZED,\r
+ 0x1000,\r
+ 0xF000\r
+ );\r
+\r
+ //\r
+ // Add PCI MMIO space available to PCI resource allocations\r
+ //\r
+ AddIoMemoryBaseSizeHob (0x80000000, 0xFEC00000 - 0x80000000);\r
+\r
//\r
// Local APIC range\r
//\r
//\r
VariableStore =\r
(EFI_PHYSICAL_ADDRESS)(UINTN)\r
- AllocateRuntimePool (FixedPcdGet32(PcdVariableStoreSize));\r
+ AllocateRuntimePool (\r
+ 2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)\r
+ );\r
DEBUG ((EFI_D_INFO,\r
"Reserved variable store memory: 0x%lX; size: %dkb\n",\r
VariableStore,\r
- FixedPcdGet32(PcdVariableStoreSize) / 1024\r
+ (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)) / 1024\r
));\r
PcdSet64 (PcdEmuVariableNvStoreReserved, VariableStore);\r
}\r
\r
return EFI_SUCCESS;\r
}\r
-\r