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>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
# ACPI Table Protocol Driver
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, 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
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -67,6 +68,7 @@
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions ## CONSUMES
|
||||
|
||||
[Protocols]
|
||||
gEfiAcpiTableProtocolGuid ## PRODUCES
|
||||
|
Reference in New Issue
Block a user