It is the V3 patch series of https://lists.01.org/pipermail/edk2-devel/2018-August/029214.html It is according to the discussion at https://lists.01.org/pipermail/edk2-devel/2018-September/029750.html
V3: 1. Pick Ray/Laszlo/Eric's RB. 2. Remove ASSERT about Signature check. 3. Merge ScanTableInRSDT and ScanTableInXSDT. It is the V2 patch series of https://lists.01.org/pipermail/edk2-devel/2018-August/029214.html It is according to the discussion at https://lists.01.org/pipermail/edk2-devel/2018-September/029348.html V2: 1. Add EfiLocateFirstAcpiTable() and EfiLocateNextAcpiTable() instead of EfiFindAcpiTableBySignature() to support locating both single ACPI table instance and multiple ACPI table instances cases. 2. Support locating DSDT. 3. Support locating multiple ACPI table instances case by EfiLocateNextAcpiTable(). Test done: 1. Call EfiLocateFirstAcpiTable() before ACPI configuration table is installed, NULL is returned. 2. Call EfiLocateFirstAcpiTable() to locate FACS after FACS is installed but FADT is not installed, NULL is returned. 3. Call EfiLocateFirstAcpiTable() to locate FADT/DSDT/FACS/FPDT/DMAR at late phase, correct ACPI table pointer is returned. 4. Call EfiLocateNextAcpiTable() to locate SSDTs at late phase, all SSDTs are returned correctly. 5. Run same test cases above after setting PcdAcpiExposedTableVersions to 0x2, same results are with above. 6. Run same test cases above with 32Bits build, same results are with above. The code for this patch series is also at [email protected]:lzeng14/edk2.git branch LocateAcpiTable_UefiLibV3 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() API in UefiLib for the request and removing the duplicated code. Cc: Younas khan <[email protected]> Cc: Michael D Kinney <[email protected]> Cc: Liming Gao <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Jian J Wang <[email protected]> Cc: Ruiyu Ni <[email protected]> Cc: Dandan Bi <[email protected]> Cc: Eric Dong <[email protected]> Cc: Laszlo Ersek <[email protected]> Star Zeng (6): MdePkg UefiLib: Add new EfiLocateXXXAcpiTable() APIs IntelSiliconPkg IntelVTdDxe: Use new EfiLocateFirstAcpiTable() MdeModulePkg S3SaveStateDxe: Use new EfiLocateFirstAcpiTable() PcAtChipsetPkg PcRtc: Use new EfiLocateFirstAcpiTable() ShellPkg DpDynamicCommand: Use new EfiLocateFirstAcpiTable() UefiCpuPkg PiSmmCpuDxeSmm: Use new EfiLocateFirstAcpiTable() .../Feature/VTd/IntelVTdDxe/DmarAcpiTable.c | 136 +------ .../Acpi/S3SaveStateDxe/AcpiS3ContextSave.c | 208 +--------- .../Acpi/S3SaveStateDxe/S3SaveStateDxe.inf | 3 +- MdePkg/Include/Library/UefiLib.h | 68 ++++ MdePkg/Library/UefiLib/Acpi.c | 428 +++++++++++++++++++++ MdePkg/Library/UefiLib/UefiLib.inf | 3 + PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 80 +--- ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c | 136 +------ ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h | 1 - ShellPkg/DynamicCommand/DpDynamicCommand/Dp.uni | 1 - ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf | 2 - .../DpDynamicCommand/DpDynamicCommand.inf | 2 - UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 4 +- UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c | 84 +--- UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h | 3 +- 15 files changed, 519 insertions(+), 640 deletions(-) create mode 100644 MdePkg/Library/UefiLib/Acpi.c -- 2.7.0.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

