blob: c56f21084356d193eededaec7662731a24b1de01 [file] [log] [blame]
// @file
//
// Standalone EFI application that displays and verifies ACPI tables
//
// Copyright (c) 2020, ARM Limited. All rights reserved.<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
/=#
#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 Spec]]]\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 stage\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 displayed\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 investigation\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 present\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 header 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 specification\r\n"
" in terms of structure, so formatted output should be correct. The main\r\n"
" exception will be that previously 'reserved' fields will be reported\r\n"
" with new names, where they have been added in later versions of the\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"