https://bugzilla.tianocore.org/show_bug.cgi?id=967 Request to add a library function for GetAcpiTable() in order to get ACPI table using signature as input. After evaluation, we found there are many duplicated code to find ACPI table by signature in different modules. This patch adds new EfiLocateXXXAcpiTable() APIs in UefiLib for the request and also the following patch to remove the duplicated code. Cc: Younas khan <pmdyounaskhan786@gmail.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
94 lines
4.0 KiB
INI
94 lines
4.0 KiB
INI
## @file
|
|
# Instance of UEFI Library.
|
|
#
|
|
# The UEFI Library provides functions and macros that simplify the development of
|
|
# UEFI Drivers and UEFI Applications. These functions and macros help manage EFI
|
|
# events, build simple locks utilizing EFI Task Priority Levels (TPLs), install
|
|
# EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers,
|
|
# and print messages on the console output and standard error devices.
|
|
#
|
|
# Copyright (c) 2007 - 2018, Intel Corporation. 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
|
|
# http://opensource.org/licenses/bsd-license.php.
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = UefiLib
|
|
MODULE_UNI_FILE = UefiLib.uni
|
|
FILE_GUID = 3a004ba5-efe0-4a61-9f1a-267a46ae5ba9
|
|
MODULE_TYPE = UEFI_DRIVER
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = UefiLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE
|
|
CONSTRUCTOR = UefiLibConstructor
|
|
|
|
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
|
|
[Sources]
|
|
UefiLibPrint.c
|
|
UefiNotTiano.c
|
|
UefiDriverModel.c
|
|
Console.c
|
|
UefiLib.c
|
|
UefiLibInternal.h
|
|
Acpi.c
|
|
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
|
|
|
|
[LibraryClasses]
|
|
PrintLib
|
|
PcdLib
|
|
MemoryAllocationLib
|
|
DebugLib
|
|
BaseMemoryLib
|
|
BaseLib
|
|
UefiBootServicesTableLib
|
|
DevicePathLib
|
|
UefiRuntimeServicesTableLib
|
|
|
|
[Guids]
|
|
gEfiEventReadyToBootGuid ## SOMETIMES_CONSUMES ## Event
|
|
gEfiEventLegacyBootGuid ## SOMETIMES_CONSUMES ## Event
|
|
gEfiGlobalVariableGuid ## SOMETIMES_CONSUMES ## Variable
|
|
gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
|
|
[Protocols]
|
|
gEfiDriverBindingProtocolGuid ## SOMETIMES_PRODUCES
|
|
gEfiSimpleTextOutProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiHiiFontProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiUgaDrawProtocolGuid | gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uninstalled
|
|
gEfiComponentNameProtocolGuid | NOT gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
gEfiComponentName2ProtocolGuid | NOT gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
gEfiDriverConfigurationProtocolGuid ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
gEfiDriverConfiguration2ProtocolGuid ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
gEfiDriverDiagnosticsProtocolGuid | NOT gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
gEfiDriverDiagnostics2ProtocolGuid| NOT gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable ## SOMETIMES_PRODUCES # User chooses to produce it
|
|
|
|
|
|
[Pcd]
|
|
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize ## SOMETIMES_CONSUMES
|
|
|
|
[FeaturePcd]
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES
|
|
|