UEFI spec defined ACPI Tables at boot time can be contained in memory of type EfiACPIReclaimMemory or EfiAcpiMemoryNVS, although InstallAcpiTable with AcpiTableProtocol will only allocate memory with type EfiACPIReclaimMemory (Except FACS). This patch provides an optional method controlled by PCD to avoid using EfiACPIReclaimMemory, by setting the PCD PcdNoACPIReclaimMemory to TRUE, all ACPI allocated memory will use EfiAcpiMemoryNVS instead. Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Liu Yun <yun.y.liu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Aaron Li <aaron.li@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com>
82 lines
2.4 KiB
INI
82 lines
2.4 KiB
INI
## @file
|
|
# ACPI Table Protocol Driver
|
|
#
|
|
# This driver initializes ACPI tables (Rsdp, Rsdt and Xsdt) and produces UEFI/PI
|
|
# services to install/uninstall/manage ACPI tables.
|
|
#
|
|
# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = AcpiTableDxe
|
|
MODULE_UNI_FILE = AcpiTableDxe.uni
|
|
FILE_GUID = 9622E42C-8E38-4a08-9E8F-54F784652F6B
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = InitializeAcpiTableDxe
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
|
|
[Sources]
|
|
AcpiTableProtocol.c
|
|
AcpiTable.h
|
|
AcpiTable.c
|
|
AcpiSdt.h
|
|
AcpiSdt.c
|
|
Aml.c
|
|
AmlString.c
|
|
AmlOption.c
|
|
AmlChild.c
|
|
AmlNamespace.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiBootServicesTableLib
|
|
MemoryAllocationLib
|
|
UefiDriverEntryPoint
|
|
BaseMemoryLib
|
|
UefiLib
|
|
DebugLib
|
|
BaseLib
|
|
PcdLib
|
|
HobLib
|
|
|
|
[Guids]
|
|
gEfiAcpi10TableGuid ## PRODUCES ## SystemTable
|
|
gEfiAcpiTableGuid ## PRODUCES ## SystemTable
|
|
gUniversalPayloadAcpiTableGuid ## SOMETIMES_CONSUMES ## HOB
|
|
|
|
[FeaturePcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol ## CONSUMES
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdNoACPIReclaimMemory ## CONSUMES
|
|
|
|
[Protocols]
|
|
gEfiAcpiTableProtocolGuid ## PRODUCES
|
|
gEfiAcpiSdtProtocolGuid ## PRODUCES
|
|
|
|
[Depex]
|
|
TRUE
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
AcpiTableDxeExtra.uni
|