From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B09F72113600C for ; Mon, 17 Sep 2018 02:08:20 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Sep 2018 02:08:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,384,1531810800"; d="scan'208";a="264141211" Received: from shwdeopenpsi068.ccr.corp.intel.com ([10.239.158.46]) by fmsmga006.fm.intel.com with ESMTP; 17 Sep 2018 02:08:18 -0700 From: Star Zeng To: edk2-devel@lists.01.org Cc: Star Zeng , Younas khan , Michael D Kinney , Liming Gao , Jiewen Yao , Jian J Wang , Ruiyu Ni , Dandan Bi , Eric Dong , Laszlo Ersek Date: Mon, 17 Sep 2018 17:08:09 +0800 Message-Id: <1537175295-37508-1-git-send-email-star.zeng@intel.com> X-Mailer: git-send-email 2.7.0.windows.1 Subject: [PATCH V3 0/6] Add new EfiLocateXXXAcpiTable() APIs X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Sep 2018 09:08:20 -0000 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 git@github.com: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 Cc: Michael D Kinney Cc: Liming Gao Cc: Jiewen Yao Cc: Jian J Wang Cc: Ruiyu Ni Cc: Dandan Bi Cc: Eric Dong Cc: Laszlo Ersek 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