From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 8F60482139 for ; Mon, 19 Dec 2016 18:59:26 -0800 (PST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP; 19 Dec 2016 18:59:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,376,1477983600"; d="scan'208";a="1101805251" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga002.fm.intel.com with ESMTP; 19 Dec 2016 18:59:26 -0800 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 19 Dec 2016 18:59:25 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 19 Dec 2016 18:59:25 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.11]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.97]) with mapi id 14.03.0248.002; Tue, 20 Dec 2016 10:59:22 +0800 From: "Ni, Ruiyu" To: "Carsey, Jaben" , Evan Lloyd CC: Leif Lindholm , "ard.biesheuvel@linaro.org" , "edk2-devel@ml01.01.org" Thread-Topic: [edk2] [PATCH] ShellPkg: Add acpiview tool to dump ACPI tables Thread-Index: AQHSV8nhfrd+vdgk1UaQNKJ6nLAROaEPCe4g///hgwCAACKtgIABFlEg Date: Tue, 20 Dec 2016 02:59:22 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5B8371E1@SHSMSX103.ccr.corp.intel.com> References: <20161216182547.616-1-evan.lloyd@arm.com> <734D49CCEBEEF84792F5B80ED585239D5B836C04@SHSMSX103.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] ShellPkg: Add acpiview tool to dump ACPI tables X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Dec 2016 02:59:26 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Evan, Thanks for the answers. BSD license of your code is great! Thanks for your = contribution. But I do have some other thoughts in below. Jaben, Evan, The implementation style of "acpiview" is to embed it into "Shell.efi" as a= n internal command, in "Debug1" profile. I am afraid it's a violation of Shell spec because Shell spec defines a fix= ed list of commands that belongs to "Debug1" profile, while "acpiview" isn't in the list. On the other side, some people may want a standalone "acpiview.efi" that he= use it in any UEFI Shell environment. How about we provide two INF files for this tool: 1. NULL class INF providing constructor/destructor(Current INF) 2. APP INF generating standalone "acpiview.efi" (New INF I want) When creating INF #2, in order to embed the help message into the resource = section of EFI file so that Shell core can find it and display when "-?" is typed, we need to: 1. declare "UEFI_HII_RESOURCE_SECTION =3D TRUE" to let build tool embed HI= I resource (string) into the resource section. 2. write code in entrypoint of application to retrieve the string resource = from ImageHandle, and free the resource in Unload. Sample code is in MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResou= rcesSample.c 3. Explicitly reference the token ID of help string in C file so that build= tool doesn't optimize out the help string from HII resource. Sample code in MdeModulePkg/Application/HelloWorld/HelloWorld.c: GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId =3D STRING_TOKEN (STR_HELLO_WO= RLD_HELP_INFORMATION); The step 2&3 can be put in a new .C file that only be referenced by the APP= INF file. Since now we provide both library and application for acpiview, how about p= ut it in new location ShellPkg/Application/AcpiView directory? What's your option? If you agree, I can help to create the APP INF. Thanks/Ray > -----Original Message----- > From: Carsey, Jaben > Sent: Tuesday, December 20, 2016 2:01 AM > To: Evan Lloyd ; Ni, Ruiyu ; > edk2-devel@ml01.01.org > Cc: Leif Lindholm ; ard.biesheuvel@linaro.org; > Carsey, Jaben > Subject: RE: [edk2] [PATCH] ShellPkg: Add acpiview tool to dump ACPI tabl= es >=20 > I am good with this addition. The BSD is a huge advantage for me. >=20 > Reviewed-by: Jaben Carsey >=20 > I will allow Ray to resolve any issues he and push it. >=20 > -Jaben >=20 > > -----Original Message----- > > From: Evan Lloyd [mailto:Evan.Lloyd@arm.com] > > Sent: Monday, December 19, 2016 7:57 AM > > To: Ni, Ruiyu ; edk2-devel@ml01.01.org > > Cc: Carsey, Jaben ; Leif Lindholm > > ; ard.biesheuvel@linaro.org > > Subject: RE: [edk2] [PATCH] ShellPkg: Add acpiview tool to dump ACPI > > tables > > Importance: High > > > > Hi Ray. > > Good question. Answer inline. > > > > >-----Original Message----- > > >From: Ni, Ruiyu [mailto:ruiyu.ni@intel.com] > > >Sent: 19 December 2016 09:49 > > >To: Evan Lloyd; edk2-devel@ml01.01.org > > >Cc: Carsey, Jaben; Leif Lindholm; ard.biesheuvel@linaro.org > > >Subject: RE: [edk2] [PATCH] ShellPkg: Add acpiview tool to dump ACPI > > >tables > > > > > >I happened to find another version of acpi dump tool in shell. > > >Binary can be downloaded from: https://acpica.org/downloads/uefi- > > >support > > >Source can be downloaded from: https://github.com/acpica/acpica > > > > > >Are there any differences between the above one and yours? > > > > The main differences are: > > 1.acpiview provides a formatted dump of non-AML tables at the Shell lev= el. > > This provides the equivalent of using acpidump -b, then transferring > > the file to use "iasl -d" on another system. However, it works on > > systems where the tables do not yet enable an OS to boot, or have limit= ed > disk functionality. > > 2.It provides a small amount of specification consistency > > checking/error reporting at the Shell level. We have found that to be > > an invaluable aid to debugging. > > 3.It has a normal UEFI BSD license, so doesn't instigate legal anxiety. > > > > Regards, > > Evan > > > > > > > > > >Thanks/Ray > > > > > >> -----Original Message----- > > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf > > >> Of evan.lloyd@arm.com > > >> Sent: Saturday, December 17, 2016 2:26 AM > > >> To: edk2-devel@ml01.01.org > > >> Cc: Carsey, Jaben ; Ni, Ruiyu > > >; > > >> Leif Lindholm ; Ard Biesheuvel > > >> > > >> Subject: [edk2] [PATCH] ShellPkg: Add acpiview tool to dump ACPI > > >> tables > > >> > > >> From: Sami Mujawar > > >> > > >> This program is provided to allow examination of ACPI table > > >> contents from the UEFI Shell. This can help with investigations, > > >> especially at that stage where the tables are not enabling an OS to = boot. > > >> The program is not exhaustive, and only encapsulates detailed > > >> knowledge of a limited number of table types. > > >> > > >> Default behaviour is to display the content of all tables installed. > > >> 'Known' table types will be parsed and displayed with descriptions > > >> and field values. Where appropriate a degree of consistency > > >> checking is done and errors may be reported in the output. > > >> Other table types will be displayed as an array of Hexadecimal bytes= . > > >> > > >> To facilitate debugging, the -t and -b options can be used to > > >> generate a binary file image of a table that can be copied > > >> elsewhere for investigation using tools such as those provided by > > >> acpica.org. This is especially relevant for AML type tables like DS= DT and > SSDT. > > >> > > >> The inspiration for this is the existing smbiosview Debug1 Shell > > >> command, and the command is also intended for Debug1. > > >> > > >> Many tables are not explicitly handled, in part because no examples > > >> are available for our testing. > > >> > > >> The program is designed to be extended to new tables with minimal > > >> effort, and contributions are invited. > > >> > > >> The code is available for examination at: > > >> https://github.com/EvanLloyd/tianocore/tree/651_acpiview_v1 > > >> > > >> Contributed-under: TianoCore Contribution Agreement 1.0 > > >> Signed-off-by: Sami Mujawar > > >> Signed-off-by: Evan Lloyd > > >> --- > > >> ShellPkg/ShellPkg.dec = | 2 + > > >> > > >> > > ... > > >> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759") > > >> > > >> _______________________________________________ > > >> edk2-devel mailing list > > >> edk2-devel@lists.01.org > > >> https://lists.01.org/mailman/listinfo/edk2-devel > > IMPORTANT NOTICE: The contents of this email and any attachments are > > confidential and may also be privileged. If you are not the intended > > recipient, please notify the sender immediately and do not disclose > > the contents to any other person, use it for any purpose, or store or > > copy the information in any medium. Thank you.