1c72da027Schristos /****************************************************************************** 2c72da027Schristos * 3c72da027Schristos * Module Name: ahtable - Table of known ACPI tables with descriptions 4c72da027Schristos * 5c72da027Schristos *****************************************************************************/ 6c72da027Schristos 7c72da027Schristos /* 8046a2985Schristos * Copyright (C) 2000 - 2023, Intel Corp. 9c72da027Schristos * All rights reserved. 10c72da027Schristos * 11c72da027Schristos * Redistribution and use in source and binary forms, with or without 12c72da027Schristos * modification, are permitted provided that the following conditions 13c72da027Schristos * are met: 14c72da027Schristos * 1. Redistributions of source code must retain the above copyright 15c72da027Schristos * notice, this list of conditions, and the following disclaimer, 16c72da027Schristos * without modification. 17c72da027Schristos * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18c72da027Schristos * substantially similar to the "NO WARRANTY" disclaimer below 19c72da027Schristos * ("Disclaimer") and any redistribution must be conditioned upon 20c72da027Schristos * including a substantially similar Disclaimer requirement for further 21c72da027Schristos * binary redistribution. 22c72da027Schristos * 3. Neither the names of the above-listed copyright holders nor the names 23c72da027Schristos * of any contributors may be used to endorse or promote products derived 24c72da027Schristos * from this software without specific prior written permission. 25c72da027Schristos * 26c72da027Schristos * Alternatively, this software may be distributed under the terms of the 27c72da027Schristos * GNU General Public License ("GPL") version 2 as published by the Free 28c72da027Schristos * Software Foundation. 29c72da027Schristos * 30c72da027Schristos * NO WARRANTY 31c72da027Schristos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32c72da027Schristos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3346a330b4Schristos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 34c72da027Schristos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35c72da027Schristos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36c72da027Schristos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37c72da027Schristos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38c72da027Schristos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39c72da027Schristos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40c72da027Schristos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41c72da027Schristos * POSSIBILITY OF SUCH DAMAGES. 42c72da027Schristos */ 43c72da027Schristos 44c72da027Schristos #include "acpi.h" 45c72da027Schristos #include "accommon.h" 46c72da027Schristos 47c72da027Schristos 48c72da027Schristos /* Local prototypes */ 49c72da027Schristos 50c72da027Schristos const AH_TABLE * 51c72da027Schristos AcpiAhGetTableInfo ( 52c72da027Schristos char *Signature); 53c72da027Schristos 544c4e8184Schristos extern const AH_TABLE AcpiGbl_SupportedTables[]; 55c72da027Schristos 56c72da027Schristos 57c72da027Schristos /******************************************************************************* 58c72da027Schristos * 59c72da027Schristos * FUNCTION: AcpiAhGetTableInfo 60c72da027Schristos * 61c72da027Schristos * PARAMETERS: Signature - ACPI signature (4 chars) to match 62c72da027Schristos * 63c72da027Schristos * RETURN: Pointer to a valid AH_TABLE. Null if no match found. 64c72da027Schristos * 65c72da027Schristos * DESCRIPTION: Find a match in the "help" table of supported ACPI tables 66c72da027Schristos * 67c72da027Schristos ******************************************************************************/ 68c72da027Schristos 69c72da027Schristos const AH_TABLE * 70c72da027Schristos AcpiAhGetTableInfo ( 71c72da027Schristos char *Signature) 72c72da027Schristos { 73c72da027Schristos const AH_TABLE *Info; 74c72da027Schristos 75c72da027Schristos 764c4e8184Schristos for (Info = AcpiGbl_SupportedTables; Info->Signature; Info++) 77c72da027Schristos { 7894783addSchristos if (ACPI_COMPARE_NAMESEG (Signature, Info->Signature)) 79c72da027Schristos { 80c72da027Schristos return (Info); 81c72da027Schristos } 82c72da027Schristos } 83c72da027Schristos 84c72da027Schristos return (NULL); 85c72da027Schristos } 86c72da027Schristos 87c72da027Schristos 88c72da027Schristos /* 89c72da027Schristos * Note: Any tables added here should be duplicated within AcpiDmTableData 90c72da027Schristos * in the file common/dmtable.c 91c72da027Schristos */ 924c4e8184Schristos const AH_TABLE AcpiGbl_SupportedTables[] = 93c72da027Schristos { 9430370826Schristos {ACPI_SIG_AEST, "Arm Error Source Table"}, 958a8be6c4Schristos {ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"}, 963e9809d7Schristos {ACPI_SIG_ASF, "Alert Standard Format Table"}, 97046a2985Schristos {ACPI_SIG_ASPT, "AMD Secure Processor Table"}, 983e9809d7Schristos {ACPI_SIG_BDAT, "BIOS Data ACPI Table"}, 99c72da027Schristos {ACPI_SIG_BERT, "Boot Error Record Table"}, 100c72da027Schristos {ACPI_SIG_BGRT, "Boot Graphics Resource Table"}, 101c72da027Schristos {ACPI_SIG_BOOT, "Simple Boot Flag Table"}, 10282065f3bSchristos {ACPI_SIG_CCEL, "CC-Event Log Table"}, 10382065f3bSchristos {ACPI_SIG_CDAT, "Coherent Device Attribute Table"}, 10446a330b4Schristos {ACPI_SIG_CEDT, "CXL Early Discovery Table"}, 1053e9809d7Schristos {ACPI_SIG_CPEP, "Corrected Platform Error Polling Table"}, 106c72da027Schristos {ACPI_SIG_CSRT, "Core System Resource Table"}, 1073e9809d7Schristos {ACPI_SIG_DBG2, "Debug Port Table type 2"}, 1083e9809d7Schristos {ACPI_SIG_DBGP, "Debug Port Table"}, 1093e9809d7Schristos {ACPI_SIG_DMAR, "DMA Remapping Table"}, 1103e9809d7Schristos {ACPI_SIG_DRTM, "Dynamic Root of Trust for Measurement Table"}, 111c72da027Schristos {ACPI_SIG_DSDT, "Differentiated System Description Table (AML table)"}, 112c72da027Schristos {ACPI_SIG_ECDT, "Embedded Controller Boot Resources Table"}, 1133e9809d7Schristos {ACPI_SIG_EINJ, "Error Injection Table"}, 114c72da027Schristos {ACPI_SIG_ERST, "Error Record Serialization Table"}, 115c72da027Schristos {ACPI_SIG_FACS, "Firmware ACPI Control Structure"}, 116c72da027Schristos {ACPI_SIG_FADT, "Fixed ACPI Description Table (FADT)"}, 117c72da027Schristos {ACPI_SIG_FPDT, "Firmware Performance Data Table"}, 118c72da027Schristos {ACPI_SIG_GTDT, "Generic Timer Description Table"}, 119c72da027Schristos {ACPI_SIG_HEST, "Hardware Error Source Table"}, 12089b8eb6cSchristos {ACPI_SIG_HMAT, "Heterogeneous Memory Attributes Table"}, 1213e9809d7Schristos {ACPI_SIG_HPET, "High Precision Event Timer Table"}, 122c72da027Schristos {ACPI_SIG_IORT, "IO Remapping Table"}, 123c72da027Schristos {ACPI_SIG_IVRS, "I/O Virtualization Reporting Structure"}, 124c72da027Schristos {ACPI_SIG_LPIT, "Low Power Idle Table"}, 125c72da027Schristos {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"}, 1263e9809d7Schristos {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"}, 1273e9809d7Schristos {ACPI_SIG_MCHI, "Management Controller Host Interface Table"}, 128046a2985Schristos {ACPI_SIG_MPAM, "Memory System Resource Partitioning and Monitoring Table"}, 129c72da027Schristos {ACPI_SIG_MPST, "Memory Power State Table"}, 130c72da027Schristos {ACPI_SIG_MSCT, "Maximum System Characteristics Table"}, 1313e9809d7Schristos {ACPI_SIG_MSDM, "Microsoft Data Management Table"}, 132c72da027Schristos {ACPI_SIG_NFIT, "NVDIMM Firmware Interface Table"}, 1338a8be6c4Schristos {ACPI_SIG_NHLT, "Non HD Audio Link Table"}, 134c72da027Schristos {ACPI_SIG_PCCT, "Platform Communications Channel Table"}, 135b406f703Schristos {ACPI_SIG_PDTT, "Platform Debug Trigger Table"}, 1363e9809d7Schristos {ACPI_SIG_PHAT, "Platform Health Assessment Table"}, 137c72da027Schristos {ACPI_SIG_PMTT, "Platform Memory Topology Table"}, 13889b8eb6cSchristos {ACPI_SIG_PPTT, "Processor Properties Topology Table"}, 1393e9809d7Schristos {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"}, 140d0e1da26Schristos {ACPI_SIG_RASF, "RAS Features Table"}, 141*c7960b37Schristos {ACPI_SIG_RAS2, "RAS2 Features Table"}, 142046a2985Schristos {ACPI_SIG_RHCT, "RISC-V Hart Capabilities Table"}, 1433e9809d7Schristos {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"}, 144c72da027Schristos {ACPI_RSDP_NAME,"Root System Description Pointer"}, 145c72da027Schristos {ACPI_SIG_RSDT, "Root System Description Table"}, 146c72da027Schristos {ACPI_SIG_S3PT, "S3 Performance Table"}, 147c72da027Schristos {ACPI_SIG_SBST, "Smart Battery Specification Table"}, 14889b8eb6cSchristos {ACPI_SIG_SDEI, "Software Delegated Exception Interface Table"}, 1493e9809d7Schristos {ACPI_SIG_SDEV, "Secure Devices Table"}, 150c72da027Schristos {ACPI_SIG_SLIC, "Software Licensing Description Table"}, 151c72da027Schristos {ACPI_SIG_SLIT, "System Locality Information Table"}, 1523e9809d7Schristos {ACPI_SIG_SPCR, "Serial Port Console Redirection Table"}, 1533e9809d7Schristos {ACPI_SIG_SPMI, "Server Platform Management Interface Table"}, 154c72da027Schristos {ACPI_SIG_SRAT, "System Resource Affinity Table"}, 155c72da027Schristos {ACPI_SIG_SSDT, "Secondary System Description Table (AML table)"}, 1563e9809d7Schristos {ACPI_SIG_STAO, "Status Override Table"}, 1573e9809d7Schristos {ACPI_SIG_SVKL, "Storage Volume Key Location Table"}, 1583e9809d7Schristos {ACPI_SIG_TCPA, "Trusted Computing Platform Alliance Table"}, 1598a8be6c4Schristos {ACPI_SIG_TDEL, "TD-Event Log Table"}, 1603e9809d7Schristos {ACPI_SIG_TPM2, "Trusted Platform Module hardware interface Table"}, 161c72da027Schristos {ACPI_SIG_UEFI, "UEFI Boot Optimization Table"}, 16246a330b4Schristos {ACPI_SIG_VIOT, "Virtual I/O Translation Table"}, 163c72da027Schristos {ACPI_SIG_WAET, "Windows ACPI Emulated Devices Table"}, 164c72da027Schristos {ACPI_SIG_WDAT, "Watchdog Action Table"}, 165c72da027Schristos {ACPI_SIG_WDDT, "Watchdog Description Table"}, 166c72da027Schristos {ACPI_SIG_WDRT, "Watchdog Resource Table"}, 167c72da027Schristos {ACPI_SIG_WPBT, "Windows Platform Binary Table"}, 1683fd31de5Schristos {ACPI_SIG_WSMT, "Windows SMM Security Mitigations Table"}, 1693e9809d7Schristos {ACPI_SIG_XENV, "Xen Environment Table"}, 170c72da027Schristos {ACPI_SIG_XSDT, "Extended System Description Table"}, 171c72da027Schristos {NULL, NULL} 172c72da027Schristos }; 173