X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=OvmfPkg%2FPlatformPei%2FPlatform.c;h=d35a1fbb5c0115e8df198330799693136f187574;hp=0a7894438d2aecdb470dff0619c0d2e80c92291a;hb=991d956362649b3076fb9664c6a5eb4e842e4314;hpb=77ba993c886a79b6199e941f4ddb7861ed3a211e diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index 0a7894438d..d35a1fbb5c 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -1,8 +1,8 @@ /**@file Platform PEI driver - Copyright (c) 2006 - 2009, Intel Corporation - All rights reserved. This program and the accompanying materials + Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+ This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php @@ -34,11 +34,12 @@ EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = { { EfiACPIMemoryNVS, 0x004 }, - { EfiACPIReclaimMemory, 0x01C }, - { EfiRuntimeServicesData, 0x050 }, - { EfiRuntimeServicesCode, 0x020 }, - { EfiBootServicesCode, 0x0F0 }, - { EfiBootServicesData, 0xA00 }, + { EfiACPIReclaimMemory, 0x008 }, + { EfiReservedMemoryType, 0x004 }, + { EfiRuntimeServicesData, 0x024 }, + { EfiRuntimeServicesCode, 0x030 }, + { EfiBootServicesCode, 0x180 }, + { EfiBootServicesData, 0xF00 }, { EfiMaxMemoryType, 0x000 } }; @@ -49,17 +50,12 @@ AddIoMemoryBaseSizeHob ( UINT64 MemorySize ) { - STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes = - ( + BuildResourceDescriptorHob ( + EFI_RESOURCE_MEMORY_MAPPED_IO, EFI_RESOURCE_ATTRIBUTE_PRESENT | EFI_RESOURCE_ATTRIBUTE_INITIALIZED | EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE | - EFI_RESOURCE_ATTRIBUTE_TESTED - ); - - BuildResourceDescriptorHob ( - EFI_RESOURCE_MEMORY_MAPPED_IO, - Attributes, + EFI_RESOURCE_ATTRIBUTE_TESTED, MemoryBase, MemorySize ); @@ -82,20 +78,15 @@ AddMemoryBaseSizeHob ( UINT64 MemorySize ) { - STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes = - ( + BuildResourceDescriptorHob ( + EFI_RESOURCE_SYSTEM_MEMORY, EFI_RESOURCE_ATTRIBUTE_PRESENT | EFI_RESOURCE_ATTRIBUTE_INITIALIZED | EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE | EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE | EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE | EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE | - EFI_RESOURCE_ATTRIBUTE_TESTED - ); - - BuildResourceDescriptorHob ( - EFI_RESOURCE_SYSTEM_MEMORY, - Attributes, + EFI_RESOURCE_ATTRIBUTE_TESTED, MemoryBase, MemorySize ); @@ -111,7 +102,6 @@ AddMemoryRangeHob ( AddMemoryBaseSizeHob (MemoryBase, (UINT64)(MemoryLimit - MemoryBase)); } - VOID MemMapInitialization ( ) @@ -125,6 +115,22 @@ MemMapInitialization ( sizeof(mDefaultMemoryTypeInformation) ); + // + // Add PCI IO Port space available for PCI resource allocations. + // + BuildResourceDescriptorHob ( + EFI_RESOURCE_IO, + EFI_RESOURCE_ATTRIBUTE_PRESENT | + EFI_RESOURCE_ATTRIBUTE_INITIALIZED, + 0x1000, + 0xF000 + ); + + // + // Add PCI MMIO space available to PCI resource allocations + // + AddIoMemoryBaseSizeHob (0x80000000, 0xFEC00000 - 0x80000000); + // // Local APIC range // @@ -172,11 +178,13 @@ ReserveEmuVariableNvStore ( // VariableStore = (EFI_PHYSICAL_ADDRESS)(UINTN) - AllocateRuntimePool (FixedPcdGet32(PcdVariableStoreSize)); + AllocateRuntimePool ( + 2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize) + ); DEBUG ((EFI_D_INFO, "Reserved variable store memory: 0x%lX; size: %dkb\n", VariableStore, - FixedPcdGet32(PcdVariableStoreSize) / 1024 + (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)) / 1024 )); PcdSet64 (PcdEmuVariableNvStoreReserved, VariableStore); } @@ -212,4 +220,3 @@ InitializePlatform ( return EFI_SUCCESS; } -