From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.77]) by mx.groups.io with SMTP id smtpd.web10.7135.1592919820808270649 for ; Tue, 23 Jun 2020 06:43:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=7PqkDn0r; spf=pass (domain: arm.com, ip: 40.107.6.77, 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=BA6pbNQlTewIZoiH9oEaZWLc5X978LPtVR1JA8Jn3VI=; b=7PqkDn0rrhO49461rbzgNwwj3bplBakkkFcy7CzT0y+63irARe9WLAzblXmEGXtsjNzB3Dqy/yBYMcS4GKVl3p2r3W4NsEDNUF3pQZQZx3j++WMQjSWyOBLOps+Res2K19pwvuhEniTgIruNvk/KbZqnrhd5qITvRb3Q7o4kI1c= Received: from DB6PR07CA0204.eurprd07.prod.outlook.com (2603:10a6:6:42::34) by DB7PR08MB3866.eurprd08.prod.outlook.com (2603:10a6:10:7b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 13:43:38 +0000 Received: from DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:42:cafe::59) by DB6PR07CA0204.outlook.office365.com (2603:10a6:6:42::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.10 via Frontend Transport; Tue, 23 Jun 2020 13:43:38 +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 DB5EUR03FT016.mail.protection.outlook.com (10.152.20.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Tue, 23 Jun 2020 13:43:38 +0000 Received: ("Tessian outbound da41658aa5d4:v59"); Tue, 23 Jun 2020 13:43:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 961e57048b8c6ece X-CR-MTA-TID: 64aa7808 Received: from dd937278ec99.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 61A948F2-6823-4D96-8C3C-F2A38FB6F126.1; Tue, 23 Jun 2020 13:43:33 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dd937278ec99.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 23 Jun 2020 13:43:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FgXeGNudEPIDpbtH1C31MfGuV+UgcXCWo4F+VG0mDS7AfScSM0LHWD4C8J/kV1x1dDU0HW/qkU18yAMtPQ6QT0J8s1jwZKHnU8sD08D6oc4vQMtL9TGRqBFnEoJykdQsxqOj7R8FGT7wHh9odszscpxboCP3FyXFyd1hybQGvk98R9pCdqyjZRYiu5dWWRd0aM2Vh4UL0lZXj9XuKmqAZfushGpV5N3yyjumuAYEuikfXmX1EoRH3omNbFbUC3NaJOcdVGty8rWQPgaxFgXfr/LSusW2hLwomQrmGwmb9OBOKMoTL1Nx1hz1XAyv4jnGkpGgKP8iGuQvYS0egZP+VA== 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=BA6pbNQlTewIZoiH9oEaZWLc5X978LPtVR1JA8Jn3VI=; b=bKpcYl7NjWMoGOs2tyXisEN+h+ZPGZGwjnol+YwZb0YTO6J/uHPELo8vYdm88yK3m39N4uFyfJiNbUrrvXNhFO2MYgKmu9Oys7TdJqn+Jny5wFbmGb/Gh/kJ9q5Zi1YV/V1XddY6027mtjUem8STLSI4bm2KctWoWieVOWDcDEF6xCoRnA/NL6RsM0xN4hL5tyNEXZvm77iZnSjzjEe8Fd9aeTvwpJ6zMeYFD5+ZJAxePDW0Sb2Q+d1BSX8khhF8LThykV53Favr0Jo4YitdCJQQc5CCfZNBgmve9jpbtsuijKGIqRHfXoak4aod5JRCBjreIocuazr/JrhkUL45hQ== 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=BA6pbNQlTewIZoiH9oEaZWLc5X978LPtVR1JA8Jn3VI=; b=7PqkDn0rrhO49461rbzgNwwj3bplBakkkFcy7CzT0y+63irARe9WLAzblXmEGXtsjNzB3Dqy/yBYMcS4GKVl3p2r3W4NsEDNUF3pQZQZx3j++WMQjSWyOBLOps+Res2K19pwvuhEniTgIruNvk/KbZqnrhd5qITvRb3Q7o4kI1c= Received: from DB6PR0201CA0029.eurprd02.prod.outlook.com (2603:10a6:4:3f::39) by DBBPR08MB4919.eurprd08.prod.outlook.com (2603:10a6:10:f0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 13:43:30 +0000 Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:3f:cafe::84) by DB6PR0201CA0029.outlook.office365.com (2603:10a6:4:3f::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Tue, 23 Jun 2020 13:43:30 +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 DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3109.22 via Frontend Transport; Tue, 23 Jun 2020 13:43:30 +0000 Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1415.2; Tue, 23 Jun 2020 13:43:25 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1779.2; Tue, 23 Jun 2020 13:43:25 +0000 Received: from localhost.localdomain (10.57.20.205) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Tue, 23 Jun 2020 13:43:25 +0000 From: "Tomas Pilar (tpilar)" To: CC: , , Ray Ni , "Zhichao Gao" Subject: [PATCH v4 7/7] ShellPkg/AcpiView: Add application wrapper Date: Tue, 23 Jun 2020 14:43:04 +0100 Message-ID: <20200623134304.2619-8-Tomas.Pilar@arm.com> X-Mailer: git-send-email 2.24.1.windows.2 In-Reply-To: <20200623134304.2619-1-Tomas.Pilar@arm.com> References: <20200623134304.2619-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)(396003)(376002)(39860400002)(136003)(346002)(46966005)(82740400003)(186003)(26005)(478600001)(316002)(47076004)(8936002)(81166007)(356005)(2616005)(82310400002)(1076003)(5660300002)(70206006)(6916009)(336012)(70586007)(2906002)(54906003)(8676002)(426003)(6666004)(36756003)(4326008)(86362001)(83380400001);DIR:OUT;SFP:1101; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 812220b7-ffae-4a3b-d5f5-08d8177b6f03 X-MS-TrafficTypeDiagnostic: DBBPR08MB4919:|DB7PR08MB3866: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2958;OLM:2958; X-Forefront-PRVS: 04433051BF X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 7bimYgXI3QrD6eWBIS59SS+Vu2S/VdQYaGnPjM73i+MyiScmi3zLYDd9yG61b5c29JPP9PKnEl8USJPmFuF2cmD29zMOGj66UZ6UB4Gbf1vdfRwhzzB4VcAN1SOTWbxpOyA6eMydH7EqO1OCVsBJCarFHNBuwL5y1BvuGwVO0gtTil6T9rUEe6RlNeylkVfehRCg3MzUS9BOWw6od4+Lz/+VbrEQAUL/iVbVtqcyAiYSUUtDHXWkt83MSk6QmoL6SbOlma6ybSsrW5Gb0cBNAp5CNtI4M7aU9qQq5Ka6A5Kk4bv6j3zdPwr7e9tFxBk/+W1jX9UMD7UdDx5wXxoOqwyP4ScfA8iHx4u93Luhby6+mzJpZ56jl2u22kqjUP2ncvcloMVNiVY2JArqwba7SgjEXwtKyz1cgIyzO/l7zYw8YyJTq59VgQ/1TEBcWHq7ne1ylxOoCw7LcoSqprtWXI8Ass12ENUQMUcYZ6K02Nw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4919 Return-Path: Tomas.Pilar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT016.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)(346002)(376002)(136003)(39860400002)(396003)(46966005)(54906003)(186003)(82740400003)(47076004)(478600001)(5660300002)(426003)(2616005)(2906002)(83380400001)(336012)(70206006)(8936002)(6666004)(1076003)(36756003)(6916009)(81166007)(26005)(70586007)(8676002)(316002)(82310400002)(4326008)(86362001)(107886003);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 2ba823ce-d5f9-4885-53a1-08d8177b6a8a X-Forefront-PRVS: 04433051BF X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qVLaLADZMVG/Eem49ZB5PqhFM0cm00mugfeVyBDwsEyeO2Cz6P7t+NL83xZ3aKKRWUiKk41XF1DafYQikdU3jsMZVGV4beL6ZZVDgWBFRoy0qYfpuhXAJ0fslB58wPzpp5BssY/KBcND0BtUb/BKgBzlQBOVWbmWbCOgUisRMH0dJnZ88beS8EiKWxaJI2zoWQnhOre1csKNuVSPS0oxWLzSwt/RI2cMM1lBIpXCXAjUFnEuRxUzdssOvCBUV+4U7Gu4tBOIOKB2/DddsudIPj7Ty1WF9NYHCgFDj1JYBIB2WsjNMkAC0XRwQ1eG4GoxL919+fZ4xJB/cpdbOrSx3m4b9FxB+fJ85pvV/m5UDI4MCYUQolV6k0Smj+6XfHeMUxjoI6hkPpgkeThY0yE9qlxACaTQiYkpOW0XBC2PoEAKK9qEbj6gHU/TAYBuD6pZ8I4OVXxyrkBZGHu/Hz49vJecHd+qkHTjzyEpVfiw2j4= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2020 13:43:38.3783 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 812220b7-ffae-4a3b-d5f5-08d8177b6f03 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: DB7PR08MB3866 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Simple application wrapper that invokes the shell=0D command wrapper for 'acpiview'.=0D =0D This allows the AcpiView functionality to be used=0D on platforms with older specifications of the UEFI=0D shell or where the 'acpiview' command is not built in=0D due to platform build configuration.=0D =0D Furthermore, this app can be integrated into more comprehensive=0D testing frameworks as a single component of a more thorough=0D specification compliance validation strategy.=0D =0D Cc: Ray Ni =0D Cc: Zhichao Gao =0D Reviewed-by: Zhichao Gao =0D Signed-off-by: Tomas Pilar =0D ---=0D .../Application/AcpiViewApp/AcpiViewApp.c | 40 ++++++=0D .../Application/AcpiViewApp/AcpiViewApp.inf | 34 +++++=0D .../Application/AcpiViewApp/AcpiViewApp.uni | 122 ++++++++++++++++++=0D ShellPkg/ShellPkg.dsc | 1 +=0D 4 files changed, 197 insertions(+)=0D create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.c=0D create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf=0D create mode 100644 ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni=0D =0D diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.c b/ShellPkg/Appl= ication/AcpiViewApp/AcpiViewApp.c=0D new file mode 100644=0D index 000000000000..2f650c9d92d2=0D --- /dev/null=0D +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.c=0D @@ -0,0 +1,40 @@=0D +/** @file=0D + Main file for AcpiViewApp application=0D +=0D + Copyright (c) 2020, ARM Limited. All rights reserved.
=0D + SPDX-License-Identifier: BSD-2-Clause-Patent=0D +**/=0D +=0D +#include =0D +#include =0D +#include =0D +#include =0D +#include =0D +=0D +#include =0D +=0D +//=0D +// String token ID of help message text.=0D +// Shell supports to find help message in the resource section of an appli= cation image if=0D +// .MAN file is not found. This global variable is added to make build too= l recognizes=0D +// that the help string is consumed by user and then build tool will add t= he string into=0D +// the resource section. Thus the application can use '-?' option to show = help message in=0D +// Shell.=0D +//=0D +GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId =3D STRING_= TOKEN (STR_GET_HELP_ACPIVIEW);=0D +=0D +/**=0D + Application Entry Point wrapper around the shell command=0D +=0D + @param[in] ImageHandle Handle to the Image (NULL if internal).=0D + @param[in] SystemTable Pointer to the System Table (NULL if internal).= =0D +**/=0D +EFI_STATUS=0D +EFIAPI=0D +AcpiViewAppMain (=0D + IN EFI_HANDLE ImageHandle,=0D + IN EFI_SYSTEM_TABLE *SystemTable=0D + )=0D +{=0D + return ShellCommandRunAcpiView (gImageHandle, SystemTable);=0D +}=0D diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf b/ShellPkg/Ap= plication/AcpiViewApp/AcpiViewApp.inf=0D new file mode 100644=0D index 000000000000..2ed1d185339d=0D --- /dev/null=0D +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf=0D @@ -0,0 +1,34 @@=0D +## @file=0D +# EFI application that displays and verifies ACPI tables=0D +#=0D +# Copyright (c) 2020, ARM Limited. All rights reserved.
=0D +#=0D +# SPDX-License-Identifier: BSD-2-Clause-Patent=0D +#=0D +#=0D +##=0D +=0D +[Defines]=0D + INF_VERSION =3D 0x0001001B=0D + BASE_NAME =3D AcpiViewApp=0D + FILE_GUID =3D 46361B5B-AF17-41FF-95F9-E1BCE08435B9= =0D + MODULE_TYPE =3D UEFI_APPLICATION=0D + VERSION_STRING =3D 1.0=0D + ENTRY_POINT =3D AcpiViewAppMain=0D + UEFI_HII_RESOURCE_SECTION =3D TRUE=0D +=0D +[Sources.common]=0D + AcpiViewApp.c=0D + AcpiViewApp.uni=0D +=0D +[Packages]=0D + MdeModulePkg/MdeModulePkg.dec=0D + MdePkg/MdePkg.dec=0D + ShellPkg/ShellPkg.dec=0D +=0D +[LibraryClasses]=0D + UefiBootServicesTableLib=0D + UefiLib=0D + BaseLib=0D + UefiApplicationEntryPoint=0D + AcpiViewCommandLib=0D diff --git a/ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni b/ShellPkg/Ap= plication/AcpiViewApp/AcpiViewApp.uni=0D new file mode 100644=0D index 000000000000..c56f21084356=0D --- /dev/null=0D +++ b/ShellPkg/Application/AcpiViewApp/AcpiViewApp.uni=0D @@ -0,0 +1,122 @@=0D +// @file=0D +//=0D +// Standalone EFI application that displays and verifies ACPI tables=0D +//=0D +// Copyright (c) 2020, ARM Limited. All rights reserved.
=0D +// SPDX-License-Identifier: BSD-2-Clause-Patent=0D +//=0D +=0D +/=3D#=0D +=0D +#langdef en-US "english"=0D +=0D +#string STR_GET_HELP_ACPIVIEW #language en-US ""=0D +".TH acpiview 0 "Display ACPI information."\r\n"=0D +".SH NAME\r\n"=0D +"Display ACPI Table information.\r\n"=0D +".SH SYNOPSIS\r\n"=0D +" \r\n"=0D +"ACPIVIEWAPP.EFI [[-?] | [[[[-l] | [-s AcpiTable [-d]]] [-q] [-h]] [-r Spe= c]]]\r\n"=0D +" \r\n"=0D +".SH OPTIONS\r\n"=0D +" \r\n"=0D +" -l - Display list of installed ACPI Tables.\r\n"=0D +" -s - Display only the specified AcpiTable type and only support single\= r\n"=0D +" invocation option.\r\n"=0D +" AcpiTable : The required ACPI Table type.\r\n"=0D +" -d - Generate a binary file dump of the specified AcpiTable.\r\n"=0D +" -q - Quiet. Suppress errors and warnings. Disables consistency checks.\= r\n"=0D +" -h - Enable colour highlighting.\r\n"=0D +" -r - Validate that all required ACPI tables are installed\r\n"=0D +" Spec : Specification to validate against.\r\n"=0D +" For Arm, the possible values are:\r\n"=0D +" 0 - Server Base Boot Requirements v1.0\r\n"=0D +" 1 - Server Base Boot Requirements v1.1\r\n"=0D +" 2 - Server Base Boot Requirements v1.2\r\n"=0D +" -? - Show help.\r\n"=0D +" \r\n"=0D +".SH DESCRIPTION\r\n"=0D +" \r\n"=0D +" This program is provided to allow examination of ACPI table values from= the\r\n"=0D +" UEFI Shell. This can help with investigations, especially at that stag= e\r\n"=0D +" where the tables are not enabling an OS to boot.\r\n"=0D +" The program is not exhaustive, and only encapsulates detailed knowledge= of a\r\n"=0D +" limited number of table types.\r\n"=0D +" \r\n"=0D +" Default behaviour is to display the content of all tables installed.\r\= n"=0D +" 'Known' table types (listed in NOTES below) will be parsed and displaye= d\r\n"=0D +" with descriptions and field values. Where appropriate a degree of\r\n"= =0D +" consistency checking is done and errors may be reported in the output.\= r\n"=0D +" Other table types will be displayed as an array of Hexadecimal bytes.\r= \n"=0D +" \r\n"=0D +" To facilitate debugging, the -s and -d options can be used to generate = a\r\n"=0D +" binary file image of a table that can be copied elsewhere for investiga= tion\r\n"=0D +" using tools such as those provided by acpica.org. This is especially\r= \n"=0D +" relevant for AML type tables like DSDT and SSDT.\r\n"=0D +" \r\n"=0D +"NOTES:\r\n"=0D +" 1. The AcpiTable parameter can match any installed table type.\r\n"=0D +" Tables without specific handling will be displayed as a raw hex dump= (or\r\n"=0D +" dumped to a file if -d is used).\r\n"=0D +" 2. -s option supports to display the specified AcpiTable type that is p= resent\r\n"=0D +" in the system. For normal type AcpiTable, it would display the data = of the\r\n"=0D +" AcpiTable and AcpiTable header. The following type may contain heade= r type\r\n"=0D +" other than AcpiTable header. The actual header can refer to the ACPI= spec\r\n"=0D +" 6.3\r\n"=0D +" Extra A. Particular types:\r\n"=0D +" APIC - Multiple APIC Description Table (MADT)\r\n"=0D +" BGRT - Boot Graphics Resource Table\r\n"=0D +" DBG2 - Debug Port Table 2\r\n"=0D +" DSDT - Differentiated System Description Table\r\n"=0D +" FACP - Fixed ACPI Description Table (FADT)\r\n"=0D +" GTDT - Generic Timer Description Table\r\n"=0D +" IORT - IO Remapping Table\r\n"=0D +" MCFG - Memory Mapped Config Space Base Address Description Table\= r\n"=0D +" PPTT - Processor Properties Topology Table\r\n"=0D +" RSDP - Root System Description Pointer\r\n"=0D +" SLIT - System Locality Information Table\r\n"=0D +" SPCR - Serial Port Console Redirection Table\r\n"=0D +" SRAT - System Resource Affinity Table\r\n"=0D +" SSDT - Secondary SystemDescription Table\r\n"=0D +" XSDT - Extended System Description Table\r\n"=0D +" \r\n"=0D +".SH STANDARDS\r\n"=0D +" \r\n"=0D +" Table details correspond to those in 'Advanced Configuration and Power\= r\n"=0D +" Interface Specification' Version 6.3 [January 2019]\r\n"=0D +" (https://uefi.org/specifications)\r\n"=0D +" \r\n"=0D +" NOTE: The nature of the ACPI standard means that almost all tables in 6= .3\r\n"=0D +" will be 'backwards compatible' with prior version of the specific= ation\r\n"=0D +" in terms of structure, so formatted output should be correct. Th= e main\r\n"=0D +" exception will be that previously 'reserved' fields will be repor= ted\r\n"=0D +" with new names, where they have been added in later versions of t= he\r\n"=0D +" specification.\r\n"=0D +" \r\n"=0D +".SH EXAMPLES\r\n"=0D +" \r\n"=0D +" \r\n"=0D +"EXAMPLES:\r\n"=0D +" * To display a list of the installed table types:\r\n"=0D +" fs0:\> acpiviewapp.efi -l\r\n"=0D +" \r\n"=0D +" * To parse and display a specific table type:\r\n"=0D +" fs0:\> acpiviewapp.efi -s GTDT\r\n"=0D +" \r\n"=0D +" * To save a binary dump of the contents of a table to a file\r\n"=0D +" in the current working directory:\r\n"=0D +" fs0:\> acpiviewapp.efi -s DSDT -d\r\n"=0D +" \r\n"=0D +" * To display contents of all ACPI tables:\r\n"=0D +" fs0:\> acpiviewapp.efi\r\n"=0D +" \r\n"=0D +" * To check if all Server Base Boot Requirements (SBBR) v1.2 mandatory\r= \n"=0D +" ACPI tables are installed (Arm only):\r\n"=0D +" fs0:\> acpiviewapp.efi -r 2\r\n"=0D +" \r\n"=0D +".SH RETURNVALUES\r\n"=0D +" \r\n"=0D +"RETURN VALUES:\r\n"=0D +" SHELL_SUCCESS Data was displayed as requested.\r\n"=0D +" SHELL_INVALID_PARAMETER ACPI Table parsing failed.\r\n"=0D +" \r\n"=0D diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc=0D index 5d2d96ab071c..86e9f1e0040d 100644=0D --- a/ShellPkg/ShellPkg.dsc=0D +++ b/ShellPkg/ShellPkg.dsc=0D @@ -144,6 +144,7 @@ [Components]=0D gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE=0D }=0D ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf=0D + ShellPkg/Application/AcpiViewApp/AcpiViewApp.inf=0D =0D [BuildOptions]=0D *_*_*_CC_FLAGS =3D -D DISABLE_NEW_DEPRECATED_INTERFACES=0D -- =0D 2.24.1.windows.2=0D =0D