From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.96.140; helo=cam-smtp0.cambridge.arm.com; envelope-from=sami.mujawar@arm.com; receiver=edk2-devel@lists.01.org Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 415322034D8C5 for ; Thu, 22 Feb 2018 10:18:41 -0800 (PST) Received: from E107187.Emea.Arm.com (e107187.emea.arm.com [10.1.211.8]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w1MIOZoM001571; Thu, 22 Feb 2018 18:24:36 GMT From: Sami Mujawar To: edk2-devel@lists.01.org Cc: evan.lloyd@arm.com, leif.lindholm@linaro.org, Matteo.Carlini@arm.com, Stephanie.Hughes-Fitt@arm.com, nd@arm.com, jaben.carsey@intel.com, ruiyu.ni@intel.com, jiewen.yao@intel.com Date: Thu, 22 Feb 2018 18:24:29 +0000 Message-Id: <20180222182430.26164-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 Subject: [PATCH v3 0/1] ShellPkg: Add acpiview tool to dump ACPI tables X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Feb 2018 18:18:43 -0000 Hi Jaben, I have resubmitted the updated patch and the code can be seen at https://github.com/samimujawar/edk2/tree/188_acpiview_v3 Please see my response marked [SAMI] below: 1) Can the individual "child" libraries be placed into subdirectories under UefiShellAcpiViewCommandLib directory for clear separation? [SAMI] Updated patch has been re-submitted. 2) In UefiShellAcpiViewCommandLib,c what's the motivation for all the wrappers around print? I see that some are for memory access restrictions, but the rest? PrintGuid, looks the same as using %g with Print()... [SAMI] The print wrappers enable a common styled formatted printing for the ACPI fields. The ACPIview table parsing framework utilizes a table-driven approach for parsing the tables and these functions are invoked by the framework based on the field size and type. However you are right, it is superfluous in the case of PrintGuid (Which has now been removed in the updated patch). 3) Do we want to change the main entrypoint to a DynamicCommand since this command is not in the shell spec? If yes, do we want to do that first or after? [SAMI] The ECR 1784 for ACPIview appears to be 'Approved as new content for the Shell Spec.' in Mantis, see https://mantis.uefi.org/mantis/view.php?id=1784. As I understand it, the ECR change needs to be propagated to the Shell specification and is pending. In light of the above, I think that adding DynamicCommand support is not necessary. Please let me know if you feel otherwise. Regards, Sami Mujawar Sami Mujawar (1): ShellPkg: Add acpiview tool to dump ACPI tables ShellPkg/Include/Library/AcpiView/AcpiParser.h | 463 ++++++++++++ ShellPkg/Include/Library/AcpiView/AcpiTableParser.h | 126 ++++ ShellPkg/Include/Library/AcpiView/AcpiView.h | 71 ++ ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c | 601 ++++++++++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiParser.c | 644 +++++++++++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiParserHelperLib.inf | 32 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiTableParser.c | 214 ++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Bgrt/BgrtParser.c | 117 ++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Bgrt/BgrtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2/Dbg2Parser.c | 283 ++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2/Dbg2ParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c | 92 +++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Fadt/FadtParser.c | 302 ++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Fadt/FadtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c | 336 +++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c | 741 ++++++++++++++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c | 356 ++++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Mcfg/McfgParser.c | 139 ++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Mcfg/McfgParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Rsdp/RsdpParser.c | 210 ++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Rsdp/RsdpParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParser.c | 187 +++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Spcr/SpcrParser.c | 209 ++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Spcr/SpcrParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Srat/SratParser.c | 373 ++++++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Srat/SratParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ssdt/SsdtParser.c | 92 +++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ssdt/SsdtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt/XsdtParser.c | 197 ++++++ ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt/XsdtParserLib.inf | 33 + ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c | 106 +++ ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h | 32 + ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf | 58 ++ ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.uni | 127 ++++ ShellPkg/ShellPkg.dec | 3 +- 40 files changed, 6572 insertions(+), 1 deletion(-) create mode 100644 ShellPkg/Include/Library/AcpiView/AcpiParser.h create mode 100644 ShellPkg/Include/Library/AcpiView/AcpiTableParser.h create mode 100644 ShellPkg/Include/Library/AcpiView/AcpiView.h create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiParserHelperLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/AcpiParserHelper/AcpiTableParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Bgrt/BgrtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Bgrt/BgrtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2/Dbg2Parser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2/Dbg2ParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Fadt/FadtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Fadt/FadtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Mcfg/McfgParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Mcfg/McfgParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Rsdp/RsdpParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Rsdp/RsdpParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Spcr/SpcrParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Spcr/SpcrParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Srat/SratParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Srat/SratParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ssdt/SsdtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ssdt/SsdtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt/XsdtParser.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt/XsdtParserLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf create mode 100644 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.uni -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'