diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-02-17 15:37:58 +0100 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-02-24 09:18:44 +0100 |
commit | f9bbb8d9c3f065faba9f266cf4e731fe2ca70c4d (patch) | |
tree | f6458e36c395a5c20ea2ac8c5f662235ccdf9c80 /MdeModulePkg/MdeModulePkg.dec | |
parent | 0d4a6c3dfc06d7d5769c19a3d112c5fdeae70525 (diff) | |
download | edk2-platforms-f9bbb8d9c3f065faba9f266cf4e731fe2ca70c4d.tar.xz |
MdeModulePkg: AcpiTableDxe: make 4 GB table allocation limit optional
AARCH64 systems never require compatibility with legacy ACPI OSes, and
may not have any 32-bit addressable system RAM. To support ACPI on these
systems, we need to be able to relax the 4 GB allocation restriction.
So add a PCD PcdAcpiExposedTableVersions containing a bitmask describing
which ACPI versions are targeted, and wire it up it up to the memory
allocation calls in AcpiTableDxe/AcpiTableProtocol.c. I.e., if ACPI v1.0b
is not among the supported versions, the memory allocations are not limited
to 4 GB, and only table types that carry 64-bit addresses are emitted.
Note that this will inhibit the publishing of any tables that carry only
32-bit addresses, i.e., RSDPv1, RSDTv1 and RSDTv3.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/MdeModulePkg.dec')
-rw-r--r-- | MdeModulePkg/MdeModulePkg.dec | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 623d8ed682..af7bcab3ba 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -4,6 +4,7 @@ # and libraries instances, which are used for those modules.
#
# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
# This program and the accompanying materials are licensed and made available under
# the terms and conditions of the BSD License that accompanies this distribution.
# The full text of the license may be found at
@@ -1049,6 +1050,16 @@ # @Prompt Driver guid array of VFR drivers for VarCheckHiiBin generation.
gEfiMdeModulePkgTokenSpaceGuid.PcdVarCheckVfrDriverGuidArray|{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }|VOID*|0x3000103A
+ ## Indicates which ACPI versions are targeted by the ACPI tables exposed to the OS
+ # These values are aligned with the definitions in MdePkg/Include/Protocol/AcpiSystemDescriptionTable.h
+ # BIT 1 - EFI_ACPI_TABLE_VERSION_1_0B.<BR>
+ # BIT 2 - EFI_ACPI_TABLE_VERSION_2_0.<BR>
+ # BIT 3 - EFI_ACPI_TABLE_VERSION_3_0.<BR>
+ # BIT 4 - EFI_ACPI_TABLE_VERSION_4_0.<BR>
+ # BIT 5 - EFI_ACPI_TABLE_VERSION_5_0.<BR>
+ # @Prompt Exposed ACPI table versions.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x3E|UINT32|0x0001004c
+
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## This PCD defines the Console output row. The default value is 25 according to UEFI spec.
# This PCD could be set to 0 then console output would be at max column and max row.
|