1*896f2e3aSSascha Wildner /****************************************************************************** 2*896f2e3aSSascha Wildner * 3*896f2e3aSSascha Wildner * Module Name: ahtable - Table of known ACPI tables with descriptions 4*896f2e3aSSascha Wildner * 5*896f2e3aSSascha Wildner *****************************************************************************/ 6*896f2e3aSSascha Wildner 7*896f2e3aSSascha Wildner /* 8*896f2e3aSSascha Wildner * Copyright (C) 2000 - 2015, Intel Corp. 9*896f2e3aSSascha Wildner * All rights reserved. 10*896f2e3aSSascha Wildner * 11*896f2e3aSSascha Wildner * Redistribution and use in source and binary forms, with or without 12*896f2e3aSSascha Wildner * modification, are permitted provided that the following conditions 13*896f2e3aSSascha Wildner * are met: 14*896f2e3aSSascha Wildner * 1. Redistributions of source code must retain the above copyright 15*896f2e3aSSascha Wildner * notice, this list of conditions, and the following disclaimer, 16*896f2e3aSSascha Wildner * without modification. 17*896f2e3aSSascha Wildner * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*896f2e3aSSascha Wildner * substantially similar to the "NO WARRANTY" disclaimer below 19*896f2e3aSSascha Wildner * ("Disclaimer") and any redistribution must be conditioned upon 20*896f2e3aSSascha Wildner * including a substantially similar Disclaimer requirement for further 21*896f2e3aSSascha Wildner * binary redistribution. 22*896f2e3aSSascha Wildner * 3. Neither the names of the above-listed copyright holders nor the names 23*896f2e3aSSascha Wildner * of any contributors may be used to endorse or promote products derived 24*896f2e3aSSascha Wildner * from this software without specific prior written permission. 25*896f2e3aSSascha Wildner * 26*896f2e3aSSascha Wildner * Alternatively, this software may be distributed under the terms of the 27*896f2e3aSSascha Wildner * GNU General Public License ("GPL") version 2 as published by the Free 28*896f2e3aSSascha Wildner * Software Foundation. 29*896f2e3aSSascha Wildner * 30*896f2e3aSSascha Wildner * NO WARRANTY 31*896f2e3aSSascha Wildner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*896f2e3aSSascha Wildner * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*896f2e3aSSascha Wildner * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*896f2e3aSSascha Wildner * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*896f2e3aSSascha Wildner * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*896f2e3aSSascha Wildner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*896f2e3aSSascha Wildner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*896f2e3aSSascha Wildner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*896f2e3aSSascha Wildner * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*896f2e3aSSascha Wildner * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*896f2e3aSSascha Wildner * POSSIBILITY OF SUCH DAMAGES. 42*896f2e3aSSascha Wildner */ 43*896f2e3aSSascha Wildner 44*896f2e3aSSascha Wildner #include "acpi.h" 45*896f2e3aSSascha Wildner #include "accommon.h" 46*896f2e3aSSascha Wildner 47*896f2e3aSSascha Wildner 48*896f2e3aSSascha Wildner /* Local prototypes */ 49*896f2e3aSSascha Wildner 50*896f2e3aSSascha Wildner const AH_TABLE * 51*896f2e3aSSascha Wildner AcpiAhGetTableInfo ( 52*896f2e3aSSascha Wildner char *Signature); 53*896f2e3aSSascha Wildner 54*896f2e3aSSascha Wildner extern const AH_TABLE AcpiSupportedTables[]; 55*896f2e3aSSascha Wildner 56*896f2e3aSSascha Wildner 57*896f2e3aSSascha Wildner /******************************************************************************* 58*896f2e3aSSascha Wildner * 59*896f2e3aSSascha Wildner * FUNCTION: AcpiAhGetTableInfo 60*896f2e3aSSascha Wildner * 61*896f2e3aSSascha Wildner * PARAMETERS: Signature - ACPI signature (4 chars) to match 62*896f2e3aSSascha Wildner * 63*896f2e3aSSascha Wildner * RETURN: Pointer to a valid AH_TABLE. Null if no match found. 64*896f2e3aSSascha Wildner * 65*896f2e3aSSascha Wildner * DESCRIPTION: Find a match in the "help" table of supported ACPI tables 66*896f2e3aSSascha Wildner * 67*896f2e3aSSascha Wildner ******************************************************************************/ 68*896f2e3aSSascha Wildner 69*896f2e3aSSascha Wildner const AH_TABLE * 70*896f2e3aSSascha Wildner AcpiAhGetTableInfo ( 71*896f2e3aSSascha Wildner char *Signature) 72*896f2e3aSSascha Wildner { 73*896f2e3aSSascha Wildner const AH_TABLE *Info; 74*896f2e3aSSascha Wildner 75*896f2e3aSSascha Wildner 76*896f2e3aSSascha Wildner for (Info = AcpiSupportedTables; Info->Signature; Info++) 77*896f2e3aSSascha Wildner { 78*896f2e3aSSascha Wildner if (ACPI_COMPARE_NAME (Signature, Info->Signature)) 79*896f2e3aSSascha Wildner { 80*896f2e3aSSascha Wildner return (Info); 81*896f2e3aSSascha Wildner } 82*896f2e3aSSascha Wildner } 83*896f2e3aSSascha Wildner 84*896f2e3aSSascha Wildner return (NULL); 85*896f2e3aSSascha Wildner } 86*896f2e3aSSascha Wildner 87*896f2e3aSSascha Wildner 88*896f2e3aSSascha Wildner /* 89*896f2e3aSSascha Wildner * Note: Any tables added here should be duplicated within AcpiDmTableData 90*896f2e3aSSascha Wildner * in the file common/dmtable.c 91*896f2e3aSSascha Wildner */ 92*896f2e3aSSascha Wildner const AH_TABLE AcpiSupportedTables[] = 93*896f2e3aSSascha Wildner { 94*896f2e3aSSascha Wildner {ACPI_SIG_ASF, "Alert Standard Format table"}, 95*896f2e3aSSascha Wildner {ACPI_SIG_BERT, "Boot Error Record Table"}, 96*896f2e3aSSascha Wildner {ACPI_SIG_BGRT, "Boot Graphics Resource Table"}, 97*896f2e3aSSascha Wildner {ACPI_SIG_BOOT, "Simple Boot Flag Table"}, 98*896f2e3aSSascha Wildner {ACPI_SIG_CPEP, "Corrected Platform Error Polling table"}, 99*896f2e3aSSascha Wildner {ACPI_SIG_CSRT, "Core System Resource Table"}, 100*896f2e3aSSascha Wildner {ACPI_SIG_DBG2, "Debug Port table type 2"}, 101*896f2e3aSSascha Wildner {ACPI_SIG_DBGP, "Debug Port table"}, 102*896f2e3aSSascha Wildner {ACPI_SIG_DMAR, "DMA Remapping table"}, 103*896f2e3aSSascha Wildner {ACPI_SIG_DRTM, "Dynamic Root of Trust for Measurement table"}, 104*896f2e3aSSascha Wildner {ACPI_SIG_DSDT, "Differentiated System Description Table (AML table)"}, 105*896f2e3aSSascha Wildner {ACPI_SIG_ECDT, "Embedded Controller Boot Resources Table"}, 106*896f2e3aSSascha Wildner {ACPI_SIG_EINJ, "Error Injection table"}, 107*896f2e3aSSascha Wildner {ACPI_SIG_ERST, "Error Record Serialization Table"}, 108*896f2e3aSSascha Wildner {ACPI_SIG_FACS, "Firmware ACPI Control Structure"}, 109*896f2e3aSSascha Wildner {ACPI_SIG_FADT, "Fixed ACPI Description Table (FADT)"}, 110*896f2e3aSSascha Wildner {ACPI_SIG_FPDT, "Firmware Performance Data Table"}, 111*896f2e3aSSascha Wildner {ACPI_SIG_GTDT, "Generic Timer Description Table"}, 112*896f2e3aSSascha Wildner {ACPI_SIG_HEST, "Hardware Error Source Table"}, 113*896f2e3aSSascha Wildner {ACPI_SIG_HPET, "High Precision Event Timer table"}, 114*896f2e3aSSascha Wildner {ACPI_SIG_IORT, "IO Remapping Table"}, 115*896f2e3aSSascha Wildner {ACPI_SIG_IVRS, "I/O Virtualization Reporting Structure"}, 116*896f2e3aSSascha Wildner {ACPI_SIG_LPIT, "Low Power Idle Table"}, 117*896f2e3aSSascha Wildner {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"}, 118*896f2e3aSSascha Wildner {ACPI_SIG_MCFG, "Memory Mapped Configuration table"}, 119*896f2e3aSSascha Wildner {ACPI_SIG_MCHI, "Management Controller Host Interface table"}, 120*896f2e3aSSascha Wildner {ACPI_SIG_MPST, "Memory Power State Table"}, 121*896f2e3aSSascha Wildner {ACPI_SIG_MSCT, "Maximum System Characteristics Table"}, 122*896f2e3aSSascha Wildner {ACPI_SIG_MSDM, "Microsoft Data Management table"}, 123*896f2e3aSSascha Wildner {ACPI_SIG_MTMR, "MID Timer Table"}, 124*896f2e3aSSascha Wildner {ACPI_SIG_NFIT, "NVDIMM Firmware Interface Table"}, 125*896f2e3aSSascha Wildner {ACPI_SIG_PCCT, "Platform Communications Channel Table"}, 126*896f2e3aSSascha Wildner {ACPI_SIG_PMTT, "Platform Memory Topology Table"}, 127*896f2e3aSSascha Wildner {ACPI_RSDP_NAME,"Root System Description Pointer"}, 128*896f2e3aSSascha Wildner {ACPI_SIG_RSDT, "Root System Description Table"}, 129*896f2e3aSSascha Wildner {ACPI_SIG_S3PT, "S3 Performance Table"}, 130*896f2e3aSSascha Wildner {ACPI_SIG_SBST, "Smart Battery Specification Table"}, 131*896f2e3aSSascha Wildner {ACPI_SIG_SLIC, "Software Licensing Description Table"}, 132*896f2e3aSSascha Wildner {ACPI_SIG_SLIT, "System Locality Information Table"}, 133*896f2e3aSSascha Wildner {ACPI_SIG_SPCR, "Serial Port Console Redirection table"}, 134*896f2e3aSSascha Wildner {ACPI_SIG_SPMI, "Server Platform Management Interface table"}, 135*896f2e3aSSascha Wildner {ACPI_SIG_SRAT, "System Resource Affinity Table"}, 136*896f2e3aSSascha Wildner {ACPI_SIG_SSDT, "Secondary System Description Table (AML table)"}, 137*896f2e3aSSascha Wildner {ACPI_SIG_STAO, "Status Override table"}, 138*896f2e3aSSascha Wildner {ACPI_SIG_TCPA, "Trusted Computing Platform Alliance table"}, 139*896f2e3aSSascha Wildner {ACPI_SIG_TPM2, "Trusted Platform Module hardware interface table"}, 140*896f2e3aSSascha Wildner {ACPI_SIG_UEFI, "UEFI Boot Optimization Table"}, 141*896f2e3aSSascha Wildner {ACPI_SIG_VRTC, "Virtual Real-Time Clock Table"}, 142*896f2e3aSSascha Wildner {ACPI_SIG_WAET, "Windows ACPI Emulated Devices Table"}, 143*896f2e3aSSascha Wildner {ACPI_SIG_WDAT, "Watchdog Action Table"}, 144*896f2e3aSSascha Wildner {ACPI_SIG_WDDT, "Watchdog Description Table"}, 145*896f2e3aSSascha Wildner {ACPI_SIG_WDRT, "Watchdog Resource Table"}, 146*896f2e3aSSascha Wildner {ACPI_SIG_WPBT, "Windows Platform Binary Table"}, 147*896f2e3aSSascha Wildner {ACPI_SIG_XENV, "Xen Environment table"}, 148*896f2e3aSSascha Wildner {ACPI_SIG_XSDT, "Extended System Description Table"}, 149*896f2e3aSSascha Wildner {NULL, NULL} 150*896f2e3aSSascha Wildner }; 151