From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (EUR02-VE1-obe.outbound.protection.outlook.com [40.107.2.56]) by mx.groups.io with SMTP id smtpd.web10.18927.1592229863987254128 for ; Mon, 15 Jun 2020 07:04:24 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=p5zOMdyo; spf=pass (domain: arm.com, ip: 40.107.2.56, mailfrom: tomas.pilar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rauG4mPto0zdU0kNDx5KU11Q6aI3n5eqPGRiPh6U1U8=; b=p5zOMdyoKGd3AvQwI6Sp+9kxYUDG+w3efHCVXLe4SyOqLHDjq7eF2VzHg2T7Cgx7qwSJNEmNVuU0mm800ILnwRjoxiYuLtHxfyn9d+bQjKUbwy24i8JBJTseeoLrGKfFlSTriXvg0CCgWMI+B591cCUAQ5AWgV6uNVwcdZbLnA8= Received: from AM6PR0502CA0066.eurprd05.prod.outlook.com (2603:10a6:20b:56::43) by VI1PR0801MB1790.eurprd08.prod.outlook.com (2603:10a6:800:5b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.21; Mon, 15 Jun 2020 14:04:21 +0000 Received: from AM5EUR03FT004.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:56:cafe::9a) by AM6PR0502CA0066.outlook.office365.com (2603:10a6:20b:56::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18 via Frontend Transport; Mon, 15 Jun 2020 14:04:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT004.mail.protection.outlook.com (10.152.16.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18 via Frontend Transport; Mon, 15 Jun 2020 14:04:20 +0000 Received: ("Tessian outbound 8bb15bb571b3:v59"); Mon, 15 Jun 2020 14:04:20 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8d875f023a49a517 X-CR-MTA-TID: 64aa7808 Received: from 3e322289a22b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7CD95854-45E2-4950-99DA-BB032AF24C40.1; Mon, 15 Jun 2020 14:04:15 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e322289a22b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 15 Jun 2020 14:04:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IrzbbohKPom32spmdrgejDKU27gK9XnHdHygDVSjcKMSuIXYhGrpLtVZxvvtfRRW/bqe12Lhr3ff4AiUB5tivAt3/R7l8yMlB4ixaX6XPz//0G+t49fcvcwHcgRrQ1J29LpSkkDRNdAvA77yIxvyiFhLzsMQ9MuCBTsFhX9ujuPZeRKEL40HLuQ7J3QeV5D7oK3d+3pNIfh7l0AekfQcOJFBaraWWNhgUWBVeo65YGUVgQPnmXKuRPRNi0kjDPG3kidYKs2ERkbyLIgWXT5A1aDOhC0PPs+S0Mbq+BXxaMhYsYItDJI1B0O/XCcIqd8mlN9cn3ov3VeMVmNZ15a8bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rauG4mPto0zdU0kNDx5KU11Q6aI3n5eqPGRiPh6U1U8=; b=MZ/C587BGvd/03RW8dVALAxovcivvNV9ZSJseb124Sx5qt8z/oLg5KMqWsfa+1xFOKZJe63/l8srl0fkTuReFNZI7wgJy2CQYiJtna2YPby5PjpjlSJlt1oGExUcaOgMLgffEUWnDi/i80cYPom2Ph9JhlLxFOL8V3G4j6SCJGIZj0ZANO0rG1RExKsOWZSmbzHNnyDQOnLnPl/pzGMn+0er59FrFLX/HzzsxiKiTVe4h1Ji0uwdfxf9hZZlnVZvSqFPWldfabHXrOmZnGG1EQqw1Jt5Nf1YWyOsH855YI9k8XqrWs9l7931GQlMn7l/pp1wDjeb0UqM5fDMJF03aw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=bestguesspass action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rauG4mPto0zdU0kNDx5KU11Q6aI3n5eqPGRiPh6U1U8=; b=p5zOMdyoKGd3AvQwI6Sp+9kxYUDG+w3efHCVXLe4SyOqLHDjq7eF2VzHg2T7Cgx7qwSJNEmNVuU0mm800ILnwRjoxiYuLtHxfyn9d+bQjKUbwy24i8JBJTseeoLrGKfFlSTriXvg0CCgWMI+B591cCUAQ5AWgV6uNVwcdZbLnA8= Received: from DBBPR09CA0018.eurprd09.prod.outlook.com (2603:10a6:10:c0::30) by AM4PR08MB2628.eurprd08.prod.outlook.com (2603:10a6:205:c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18; Mon, 15 Jun 2020 14:04:13 +0000 Received: from DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:c0:cafe::e7) by DBBPR09CA0018.outlook.office365.com (2603:10a6:10:c0::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.19 via Frontend Transport; Mon, 15 Jun 2020 14:04:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT018.mail.protection.outlook.com (10.152.20.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3088.18 via Frontend Transport; Mon, 15 Jun 2020 14:04:13 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1415.2; Mon, 15 Jun 2020 14:04:13 +0000 Received: from localhost.localdomain (10.57.15.84) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Mon, 15 Jun 2020 14:04:12 +0000 From: "Tomas Pilar (tpilar)" To: CC: , Ray Ni , Zhichao Gao Subject: [PATCH v3 7/7] ShellPkg/AcpiView: Add application wrapper Date: Mon, 15 Jun 2020 15:03:51 +0100 Message-ID: <20200615140351.1725-8-Tomas.Pilar@arm.com> X-Mailer: git-send-email 2.24.1.windows.2 In-Reply-To: <20200615140351.1725-1-Tomas.Pilar@arm.com> References: <20200615140351.1725-1-Tomas.Pilar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(396003)(376002)(346002)(136003)(46966005)(1076003)(86362001)(81166007)(8676002)(82740400003)(2616005)(54906003)(4326008)(47076004)(2906002)(186003)(5660300002)(82310400002)(478600001)(26005)(356005)(426003)(6916009)(70206006)(70586007)(36756003)(83380400001)(316002)(336012)(6666004)(8936002);DIR:OUT;SFP:1101; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0e2f9ec5-4e0a-466e-f150-08d81135003d X-MS-TrafficTypeDiagnostic: AM4PR08MB2628:|VI1PR0801MB1790: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2958;OLM:2958; X-Forefront-PRVS: 04359FAD81 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 1avB7Hv0fihcQy8b8Y2q010R9zNdgjZjvCsyzIErku14Q5ZLGueRHBtUKrBmfP4JHKViY5/fIVo3bpSPtFavbMngXea9ayRTg7f5tRH3mOw4dsJ7glDP30+EgbwnBb5ZSklSLfB3TlSY1N4bLE3m/vgbfBiqw+VADa4IhL4h9p0iVJ6rWup0Zv1K6nbD6n12Wtnl0JW46qlFMIR6IHSyR6FWyBxJlsP1FItPjPcN/qUNQibq5Ypj0ILNAWO07xTZ2hSKo/An39NsYRZLtedc0RaAjv/gZ1Tm+j0YIutkG5CL/xolQ3e5K8uQoR3lzfEp8699id1WV/pVveHz+A2kRGD9YHtfjpnVO0d2U7lPZQBhk1ftQy8/tK04b5NN/vIk0JFFKD0NkWsuzXh7mBJ4iRn+96870Cy2tn5BgqhPiwNN4CZ+b2MB5+nMPsvpgb+5ipEtBGdoDdKOwnGCnA1iFH0WYw8UbHFdAsx4nW1fQb4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2628 Return-Path: Tomas.Pilar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT004.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(396003)(346002)(376002)(136003)(46966005)(82740400003)(82310400002)(86362001)(70586007)(5660300002)(83380400001)(70206006)(36906005)(36756003)(336012)(54906003)(6916009)(8936002)(478600001)(47076004)(2616005)(426003)(6666004)(316002)(186003)(26005)(1076003)(81166007)(4326008)(2906002)(107886003)(8676002);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: b162ac9b-7cbb-41ea-4003-08d81134fbfd X-Forefront-PRVS: 04359FAD81 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kxsDUR60QHS3xg1bqwS5iw3+OmYbKTsF6bxwI23HpLWWryIqxNwXKZ71+L0MrxIelUmJvT84rrbX8RCldfFXc2SCmok0Isv9es/eY1VvIVMQl13mRSOwOyGJZRLTfQ5Wp0mbDYCvk/20FZWFYDkm1+a832KbqGidavCb/GVuishrSam5jN65GAaU1Z3ckwpqU1l3d67/yW/d7e6K6k9wnQk98q1lJruYXDA3jmX0Oaesw/hAYPb5t5EEMxhOpQ/r0g48nMltGMEwC6uziDLaNQ9WABLlMFbZS3qcjxxjSNfNCimWv4Ydvf7F+mpU4jwm1MDrjTTXpTKdRToBRVvkBozdnjQaUdoKfW7E1mW2X0kiAvcBaM5tvIC5t+/PjJjikll2V3ECwMeqpvyQtgf5crzHd/tcQolz59Sy68rhw3LmGomvot/FuojufOxTMFecfil+MPJcg1Mq9AGT/0h6auEhGsJ2zK2fIaWuyk41vpI= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2020 14:04:20.7323 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0e2f9ec5-4e0a-466e-f150-08d81135003d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1790 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Simple application wrapper that invokes the shell command wrapper for 'acpiview'. This allows the AcpiView functionality to be used on platforms with older specifications of the UEFI shell or where the 'acpiview' command is not built in due to platform build configuration. Furthermore, this app can be integrated into more comprehensive testing frameworks as a single component of a more thorough specification compliance validation strategy. Cc: Ray Ni Cc: Zhichao Gao Signed-off-by: Tomas Pilar --- .../Application/AcpiViewApp/AcpiViewApp.c | 40 ++++++ .../Application/AcpiViewApp/AcpiViewApp.inf | 34 +++++ .../Application/AcpiViewApp/AcpiViewApp.uni | 122 ++++++++++++++++++ ShellPkg/ShellPkg.dsc | 1 + 4 files changed, 197 insertions(+) create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.c create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.c b/ShellPkg/Appl= ication/AcpiViewApp/AcpiViewApp.c new file mode 100644 index 000000000000..2f650c9d92d2 --- /dev/null +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.c @@ -0,0 +1,40 @@ +/** @file + Main file for AcpiViewApp application + + Copyright (c) 2020, ARM Limited. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include +#include +#include +#include +#include + +#include + +// +// String token ID of help message text. +// Shell supports to find help message in the resource section of an appli= cation image if +// .MAN file is not found. This global variable is added to make build too= l recognizes +// that the help string is consumed by user and then build tool will add t= he string into +// the resource section. Thus the application can use '-?' option to show = help message in +// Shell. +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId =3D STRING_= TOKEN (STR_GET_HELP_ACPIVIEW); + +/** + Application Entry Point wrapper around the shell command + + @param[in] ImageHandle Handle to the Image (NULL if internal). + @param[in] SystemTable Pointer to the System Table (NULL if internal). +**/ +EFI_STATUS +EFIAPI +AcpiViewAppMain ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + return ShellCommandRunAcpiView (gImageHandle, SystemTable); +} diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf b/ShellPkg/Ap= plication/AcpiViewApp/AcpiViewApp.inf new file mode 100644 index 000000000000..2ed1d185339d --- /dev/null +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf @@ -0,0 +1,34 @@ +## @file +# EFI application that displays and verifies ACPI tables +# +# Copyright (c) 2020, ARM Limited. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION =3D 0x0001001B + BASE_NAME =3D AcpiViewApp + FILE_GUID =3D 46361B5B-AF17-41FF-95F9-E1BCE08435B9 + MODULE_TYPE =3D UEFI_APPLICATION + VERSION_STRING =3D 1.0 + ENTRY_POINT =3D AcpiViewAppMain + UEFI_HII_RESOURCE_SECTION =3D TRUE + +[Sources.common] + AcpiViewApp.c + AcpiViewApp.uni + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + ShellPkg/ShellPkg.dec + +[LibraryClasses] + UefiBootServicesTableLib + UefiLib + BaseLib + UefiApplicationEntryPoint + AcpiViewCommandLib diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni b/ShellPkg/Ap= plication/AcpiViewApp/AcpiViewApp.uni new file mode 100644 index 000000000000..c56f21084356 --- /dev/null +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni @@ -0,0 +1,122 @@ +// @file +// +// Standalone EFI application that displays and verifies ACPI tables +// +// Copyright (c) 2020, ARM Limited. All rights reserved.
+// SPDX-License-Identifier: BSD-2-Clause-Patent +// + +/=3D# + +#langdef en-US "english" + +#string STR_GET_HELP_ACPIVIEW #language en-US "" +".TH acpiview 0 "Display ACPI information."\r\n" +".SH NAME\r\n" +"Display ACPI Table information.\r\n" +".SH SYNOPSIS\r\n" +" \r\n" +"ACPIVIEWAPP.EFI [[-?] | [[[[-l] | [-s AcpiTable [-d]]] [-q] [-h]] [-r Spe= c]]]\r\n" +" \r\n" +".SH OPTIONS\r\n" +" \r\n" +" -l - Display list of installed ACPI Tables.\r\n" +" -s - Display only the specified AcpiTable type and only support single\= r\n" +" invocation option.\r\n" +" AcpiTable : The required ACPI Table type.\r\n" +" -d - Generate a binary file dump of the specified AcpiTable.\r\n" +" -q - Quiet. Suppress errors and warnings. Disables consistency checks.\= r\n" +" -h - Enable colour highlighting.\r\n" +" -r - Validate that all required ACPI tables are installed\r\n" +" Spec : Specification to validate against.\r\n" +" For Arm, the possible values are:\r\n" +" 0 - Server Base Boot Requirements v1.0\r\n" +" 1 - Server Base Boot Requirements v1.1\r\n" +" 2 - Server Base Boot Requirements v1.2\r\n" +" -? - Show help.\r\n" +" \r\n" +".SH DESCRIPTION\r\n" +" \r\n" +" This program is provided to allow examination of ACPI table values from= the\r\n" +" UEFI Shell. This can help with investigations, especially at that stag= e\r\n" +" where the tables are not enabling an OS to boot.\r\n" +" The program is not exhaustive, and only encapsulates detailed knowledge= of a\r\n" +" limited number of table types.\r\n" +" \r\n" +" Default behaviour is to display the content of all tables installed.\r\= n" +" 'Known' table types (listed in NOTES below) will be parsed and displaye= d\r\n" +" with descriptions and field values. Where appropriate a degree of\r\n" +" consistency checking is done and errors may be reported in the output.\= r\n" +" Other table types will be displayed as an array of Hexadecimal bytes.\r= \n" +" \r\n" +" To facilitate debugging, the -s and -d options can be used to generate = a\r\n" +" binary file image of a table that can be copied elsewhere for investiga= tion\r\n" +" using tools such as those provided by acpica.org. This is especially\r= \n" +" relevant for AML type tables like DSDT and SSDT.\r\n" +" \r\n" +"NOTES:\r\n" +" 1. The AcpiTable parameter can match any installed table type.\r\n" +" Tables without specific handling will be displayed as a raw hex dump= (or\r\n" +" dumped to a file if -d is used).\r\n" +" 2. -s option supports to display the specified AcpiTable type that is p= resent\r\n" +" in the system. For normal type AcpiTable, it would display the data = of the\r\n" +" AcpiTable and AcpiTable header. The following type may contain heade= r type\r\n" +" other than AcpiTable header. The actual header can refer to the ACPI= spec\r\n" +" 6.3\r\n" +" Extra A. Particular types:\r\n" +" APIC - Multiple APIC Description Table (MADT)\r\n" +" BGRT - Boot Graphics Resource Table\r\n" +" DBG2 - Debug Port Table 2\r\n" +" DSDT - Differentiated System Description Table\r\n" +" FACP - Fixed ACPI Description Table (FADT)\r\n" +" GTDT - Generic Timer Description Table\r\n" +" IORT - IO Remapping Table\r\n" +" MCFG - Memory Mapped Config Space Base Address Description Table\= r\n" +" PPTT - Processor Properties Topology Table\r\n" +" RSDP - Root System Description Pointer\r\n" +" SLIT - System Locality Information Table\r\n" +" SPCR - Serial Port Console Redirection Table\r\n" +" SRAT - System Resource Affinity Table\r\n" +" SSDT - Secondary SystemDescription Table\r\n" +" XSDT - Extended System Description Table\r\n" +" \r\n" +".SH STANDARDS\r\n" +" \r\n" +" Table details correspond to those in 'Advanced Configuration and Power\= r\n" +" Interface Specification' Version 6.3 [January 2019]\r\n" +" (https://uefi.org/specifications)\r\n" +" \r\n" +" NOTE: The nature of the ACPI standard means that almost all tables in 6= .3\r\n" +" will be 'backwards compatible' with prior version of the specific= ation\r\n" +" in terms of structure, so formatted output should be correct. Th= e main\r\n" +" exception will be that previously 'reserved' fields will be repor= ted\r\n" +" with new names, where they have been added in later versions of t= he\r\n" +" specification.\r\n" +" \r\n" +".SH EXAMPLES\r\n" +" \r\n" +" \r\n" +"EXAMPLES:\r\n" +" * To display a list of the installed table types:\r\n" +" fs0:\> acpiviewapp.efi -l\r\n" +" \r\n" +" * To parse and display a specific table type:\r\n" +" fs0:\> acpiviewapp.efi -s GTDT\r\n" +" \r\n" +" * To save a binary dump of the contents of a table to a file\r\n" +" in the current working directory:\r\n" +" fs0:\> acpiviewapp.efi -s DSDT -d\r\n" +" \r\n" +" * To display contents of all ACPI tables:\r\n" +" fs0:\> acpiviewapp.efi\r\n" +" \r\n" +" * To check if all Server Base Boot Requirements (SBBR) v1.2 mandatory\r= \n" +" ACPI tables are installed (Arm only):\r\n" +" fs0:\> acpiviewapp.efi -r 2\r\n" +" \r\n" +".SH RETURNVALUES\r\n" +" \r\n" +"RETURN VALUES:\r\n" +" SHELL_SUCCESS Data was displayed as requested.\r\n" +" SHELL_INVALID_PARAMETER ACPI Table parsing failed.\r\n" +" \r\n" diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc index 5d2d96ab071c..86e9f1e0040d 100644 --- a/ShellPkg/ShellPkg.dsc +++ b/ShellPkg/ShellPkg.dsc @@ -144,6 +144,7 @@ [Components] gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE } ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf + ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf =20 [BuildOptions] *_*_*_CC_FLAGS =3D -D DISABLE_NEW_DEPRECATED_INTERFACES --=20 2.24.1.windows.2