11a39cfb0SJung-uk Kim /****************************************************************************** 21a39cfb0SJung-uk Kim * 31a39cfb0SJung-uk Kim * Module Name: dmtbinfo - Table info for non-AML tables 41a39cfb0SJung-uk Kim * 51a39cfb0SJung-uk Kim *****************************************************************************/ 61a39cfb0SJung-uk Kim 70d84335fSJung-uk Kim /****************************************************************************** 80d84335fSJung-uk Kim * 90d84335fSJung-uk Kim * 1. Copyright Notice 100d84335fSJung-uk Kim * 1132ac4016SJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp. 121a39cfb0SJung-uk Kim * All rights reserved. 131a39cfb0SJung-uk Kim * 140d84335fSJung-uk Kim * 2. License 150d84335fSJung-uk Kim * 160d84335fSJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 170d84335fSJung-uk Kim * rights. You may have additional license terms from the party that provided 180d84335fSJung-uk Kim * you this software, covering your right to use that party's intellectual 190d84335fSJung-uk Kim * property rights. 200d84335fSJung-uk Kim * 210d84335fSJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 220d84335fSJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 230d84335fSJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 240d84335fSJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 250d84335fSJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 260d84335fSJung-uk Kim * Code in any form, with the right to sublicense such rights; and 270d84335fSJung-uk Kim * 280d84335fSJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 290d84335fSJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 300d84335fSJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 310d84335fSJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 320d84335fSJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 330d84335fSJung-uk Kim * license, and in no event shall the patent license extend to any additions 340d84335fSJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 350d84335fSJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 360d84335fSJung-uk Kim * 370d84335fSJung-uk Kim * The above copyright and patent license is granted only if the following 380d84335fSJung-uk Kim * conditions are met: 390d84335fSJung-uk Kim * 400d84335fSJung-uk Kim * 3. Conditions 410d84335fSJung-uk Kim * 420d84335fSJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 430d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 440d84335fSJung-uk Kim * Code or modification with rights to further distribute source must include 450d84335fSJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 460d84335fSJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 470d84335fSJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 480d84335fSJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 490d84335fSJung-uk Kim * Code and the date of any change. Licensee must include in that file the 500d84335fSJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 510d84335fSJung-uk Kim * must include a prominent statement that the modification is derived, 520d84335fSJung-uk Kim * directly or indirectly, from Original Intel Code. 530d84335fSJung-uk Kim * 540d84335fSJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 550d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 560d84335fSJung-uk Kim * Code or modification without rights to further distribute source must 570d84335fSJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 580d84335fSJung-uk Kim * documentation and/or other materials provided with distribution. In 590d84335fSJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 600d84335fSJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 610d84335fSJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 620d84335fSJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 630d84335fSJung-uk Kim * not to intellectual property embodied in modifications its licensee may 640d84335fSJung-uk Kim * make. 650d84335fSJung-uk Kim * 660d84335fSJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 670d84335fSJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 680d84335fSJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 690d84335fSJung-uk Kim * provision in the documentation and/or other materials provided with the 700d84335fSJung-uk Kim * distribution. 710d84335fSJung-uk Kim * 720d84335fSJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 730d84335fSJung-uk Kim * Intel Code. 740d84335fSJung-uk Kim * 750d84335fSJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 760d84335fSJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 770d84335fSJung-uk Kim * other dealings in products derived from or relating to the Covered Code 780d84335fSJung-uk Kim * without prior written authorization from Intel. 790d84335fSJung-uk Kim * 800d84335fSJung-uk Kim * 4. Disclaimer and Export Compliance 810d84335fSJung-uk Kim * 820d84335fSJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 830d84335fSJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 840d84335fSJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 850d84335fSJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 860d84335fSJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 870d84335fSJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 880d84335fSJung-uk Kim * PARTICULAR PURPOSE. 890d84335fSJung-uk Kim * 900d84335fSJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 910d84335fSJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 920d84335fSJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 930d84335fSJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 940d84335fSJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 950d84335fSJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 960d84335fSJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 970d84335fSJung-uk Kim * LIMITED REMEDY. 980d84335fSJung-uk Kim * 990d84335fSJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 1000d84335fSJung-uk Kim * software or system incorporating such software without first obtaining any 1010d84335fSJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 1020d84335fSJung-uk Kim * any other agency or department of the United States Government. In the 1030d84335fSJung-uk Kim * event Licensee exports any such software from the United States or 1040d84335fSJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 1050d84335fSJung-uk Kim * ensure that the distribution and export/re-export of the software is in 1060d84335fSJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 1070d84335fSJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1080d84335fSJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 1090d84335fSJung-uk Kim * software, or service, directly or indirectly, to any country for which the 1100d84335fSJung-uk Kim * United States government or any agency thereof requires an export license, 1110d84335fSJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 1120d84335fSJung-uk Kim * such license, approval or letter. 1130d84335fSJung-uk Kim * 1140d84335fSJung-uk Kim ***************************************************************************** 1150d84335fSJung-uk Kim * 1160d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 1170d84335fSJung-uk Kim * following license: 1180d84335fSJung-uk Kim * 119d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 120d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 121d244b227SJung-uk Kim * are met: 122d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 123d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 124d244b227SJung-uk Kim * without modification. 125d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 127d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 128d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 129d244b227SJung-uk Kim * binary redistribution. 130d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 131d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 132d244b227SJung-uk Kim * from this software without specific prior written permission. 1331a39cfb0SJung-uk Kim * 1340d84335fSJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1350d84335fSJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1360d84335fSJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1370d84335fSJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1380d84335fSJung-uk Kim * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1390d84335fSJung-uk Kim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1400d84335fSJung-uk Kim * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1410d84335fSJung-uk Kim * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1420d84335fSJung-uk Kim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1430d84335fSJung-uk Kim * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1440d84335fSJung-uk Kim * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1450d84335fSJung-uk Kim * 1460d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 147d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 148d244b227SJung-uk Kim * Software Foundation. 1491a39cfb0SJung-uk Kim * 1500d84335fSJung-uk Kim *****************************************************************************/ 1511a39cfb0SJung-uk Kim 152ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h> 153ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h> 154ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acdisasm.h> 155*6c30ff13SJung-uk Kim #include <contrib/dev/acpica/include/actbinfo.h> 1561a39cfb0SJung-uk Kim 1571a39cfb0SJung-uk Kim /* This module used for application-level code only */ 1581a39cfb0SJung-uk Kim 1591a39cfb0SJung-uk Kim #define _COMPONENT ACPI_CA_DISASSEMBLER 1601a39cfb0SJung-uk Kim ACPI_MODULE_NAME ("dmtbinfo") 1611a39cfb0SJung-uk Kim 1621a39cfb0SJung-uk Kim /* 163dcbce41eSJung-uk Kim * How to add a new table: 164dcbce41eSJung-uk Kim * 165dcbce41eSJung-uk Kim * - Add the C table definition to the actbl1.h or actbl2.h header. 166dcbce41eSJung-uk Kim * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below. 167dcbce41eSJung-uk Kim * - Define the table in this file (for the disassembler). If any 168dcbce41eSJung-uk Kim * new data types are required (ACPI_DMT_*), see below. 169dcbce41eSJung-uk Kim * - Add an external declaration for the new table definition (AcpiDmTableInfo*) 170dcbce41eSJung-uk Kim * in acdisam.h 171dcbce41eSJung-uk Kim * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData) 172dcbce41eSJung-uk Kim * If a simple table (with no subtables), no disassembly code is needed. 173dcbce41eSJung-uk Kim * Otherwise, create the AcpiDmDump* function for to disassemble the table 174dcbce41eSJung-uk Kim * and add it to the dmtbdump.c file. 175dcbce41eSJung-uk Kim * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h 176dcbce41eSJung-uk Kim * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c 177dcbce41eSJung-uk Kim * - Create a template for the new table 178dcbce41eSJung-uk Kim * - Add data table compiler support 179dcbce41eSJung-uk Kim * 180dcbce41eSJung-uk Kim * How to add a new data type (ACPI_DMT_*): 181dcbce41eSJung-uk Kim * 182dcbce41eSJung-uk Kim * - Add new type at the end of the ACPI_DMT list in acdisasm.h 183dcbce41eSJung-uk Kim * - Add length and implementation cases in dmtable.c (disassembler) 184dcbce41eSJung-uk Kim * - Add type and length cases in dtutils.c (DT compiler) 185dcbce41eSJung-uk Kim */ 186dcbce41eSJung-uk Kim 187dcbce41eSJung-uk Kim /* 1881a39cfb0SJung-uk Kim * ACPI Table Information, used to dump formatted ACPI tables 1891a39cfb0SJung-uk Kim * 1901a39cfb0SJung-uk Kim * Each entry is of the form: <Field Type, Field Offset, Field Name> 1911a39cfb0SJung-uk Kim */ 1921a39cfb0SJung-uk Kim 1931a39cfb0SJung-uk Kim /******************************************************************************* 1941a39cfb0SJung-uk Kim * 1951a39cfb0SJung-uk Kim * Common ACPI table header 1961a39cfb0SJung-uk Kim * 1971a39cfb0SJung-uk Kim ******************************************************************************/ 1981a39cfb0SJung-uk Kim 1991a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[] = 2001a39cfb0SJung-uk Kim { 201a88e22b7SJung-uk Kim {ACPI_DMT_SIG, ACPI_HDR_OFFSET (Signature[0]), "Signature", 0}, 202a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (Length), "Table Length", DT_LENGTH}, 203a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HDR_OFFSET (Revision), "Revision", 0}, 204a88e22b7SJung-uk Kim {ACPI_DMT_CHKSUM, ACPI_HDR_OFFSET (Checksum), "Checksum", 0}, 205a88e22b7SJung-uk Kim {ACPI_DMT_NAME6, ACPI_HDR_OFFSET (OemId[0]), "Oem ID", 0}, 206a88e22b7SJung-uk Kim {ACPI_DMT_NAME8, ACPI_HDR_OFFSET (OemTableId[0]), "Oem Table ID", 0}, 207a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (OemRevision), "Oem Revision", 0}, 208a88e22b7SJung-uk Kim {ACPI_DMT_NAME4, ACPI_HDR_OFFSET (AslCompilerId[0]), "Asl Compiler ID", 0}, 209a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (AslCompilerRevision), "Asl Compiler Revision", 0}, 210a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2111a39cfb0SJung-uk Kim }; 2121a39cfb0SJung-uk Kim 2131a39cfb0SJung-uk Kim 2141a39cfb0SJung-uk Kim /******************************************************************************* 2151a39cfb0SJung-uk Kim * 2161a39cfb0SJung-uk Kim * GAS - Generic Address Structure 2171a39cfb0SJung-uk Kim * 2181a39cfb0SJung-uk Kim ******************************************************************************/ 2191a39cfb0SJung-uk Kim 2201a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGas[] = 2211a39cfb0SJung-uk Kim { 222a88e22b7SJung-uk Kim {ACPI_DMT_SPACEID, ACPI_GAS_OFFSET (SpaceId), "Space ID", 0}, 223a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitWidth), "Bit Width", 0}, 224a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitOffset), "Bit Offset", 0}, 2255a77b11bSJung-uk Kim {ACPI_DMT_ACCWIDTH, ACPI_GAS_OFFSET (AccessWidth), "Encoded Access Width", 0}, 226a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GAS_OFFSET (Address), "Address", 0}, 227a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2281a39cfb0SJung-uk Kim }; 2291a39cfb0SJung-uk Kim 2301a39cfb0SJung-uk Kim 2311a39cfb0SJung-uk Kim /******************************************************************************* 2321a39cfb0SJung-uk Kim * 2331a39cfb0SJung-uk Kim * RSDP - Root System Description Pointer (Signature is "RSD PTR ") 2341a39cfb0SJung-uk Kim * 2351a39cfb0SJung-uk Kim ******************************************************************************/ 2361a39cfb0SJung-uk Kim 2371a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[] = 2381a39cfb0SJung-uk Kim { 239a88e22b7SJung-uk Kim {ACPI_DMT_NAME8, ACPI_RSDP_OFFSET (Signature[0]), "Signature", 0}, 240a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Checksum), "Checksum", 0}, 241a88e22b7SJung-uk Kim {ACPI_DMT_NAME6, ACPI_RSDP_OFFSET (OemId[0]), "Oem ID", 0}, 242a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Revision), "Revision", 0}, 243a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (RsdtPhysicalAddress), "RSDT Address", 0}, 244a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2451a39cfb0SJung-uk Kim }; 2461a39cfb0SJung-uk Kim 2471a39cfb0SJung-uk Kim /* ACPI 2.0+ Extensions */ 2481a39cfb0SJung-uk Kim 2491a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[] = 2501a39cfb0SJung-uk Kim { 251a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (Length), "Length", DT_LENGTH}, 252a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_RSDP_OFFSET (XsdtPhysicalAddress), "XSDT Address", 0}, 253a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (ExtendedChecksum), "Extended Checksum", 0}, 254a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_RSDP_OFFSET (Reserved[0]), "Reserved", 0}, 255a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2561a39cfb0SJung-uk Kim }; 2571a39cfb0SJung-uk Kim 2581a39cfb0SJung-uk Kim 2591a39cfb0SJung-uk Kim /******************************************************************************* 2601a39cfb0SJung-uk Kim * 2611a39cfb0SJung-uk Kim * FACS - Firmware ACPI Control Structure 2621a39cfb0SJung-uk Kim * 2631a39cfb0SJung-uk Kim ******************************************************************************/ 2641a39cfb0SJung-uk Kim 2651a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[] = 2661a39cfb0SJung-uk Kim { 267a88e22b7SJung-uk Kim {ACPI_DMT_NAME4, ACPI_FACS_OFFSET (Signature[0]), "Signature", 0}, 268a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Length), "Length", DT_LENGTH}, 269a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (HardwareSignature), "Hardware Signature", 0}, 270a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (FirmwareWakingVector), "32 Firmware Waking Vector", 0}, 271a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (GlobalLock), "Global Lock", 0}, 272a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 273a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (Flags,0), "S4BIOS Support Present", 0}, 274a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FACS_FLAG_OFFSET (Flags,0), "64-bit Wake Supported (V2)", 0}, 275a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FACS_OFFSET (XFirmwareWakingVector), "64 Firmware Waking Vector", 0}, 276a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FACS_OFFSET (Version), "Version", 0}, 277a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved[0]), "Reserved", 0}, 278a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (OspmFlags), "OspmFlags (decoded below)", DT_FLAG}, 279a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (OspmFlags,0), "64-bit Wake Env Required (V2)", 0}, 280a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2811a39cfb0SJung-uk Kim }; 2821a39cfb0SJung-uk Kim 2831a39cfb0SJung-uk Kim 2841a39cfb0SJung-uk Kim /******************************************************************************* 2851a39cfb0SJung-uk Kim * 2861a39cfb0SJung-uk Kim * FADT - Fixed ACPI Description Table (Signature is FACP) 2871a39cfb0SJung-uk Kim * 2881a39cfb0SJung-uk Kim ******************************************************************************/ 2891a39cfb0SJung-uk Kim 2901cc50d6bSJung-uk Kim /* ACPI 1.0 FADT (Version 1) */ 291a9f12690SJung-uk Kim 2921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] = 2931a39cfb0SJung-uk Kim { 294a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address", 0}, 295a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", DT_NON_ZERO}, 296a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model", 0}, 297a88e22b7SJung-uk Kim {ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile", 0}, 298a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt", 0}, 299a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (SmiCommand), "SMI Command Port", 0}, 300a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiEnable), "ACPI Enable Value", 0}, 301a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiDisable), "ACPI Disable Value", 0}, 302a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (S4BiosRequest), "S4BIOS Command", 0}, 303a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PstateControl), "P-State Control", 0}, 304a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aEventBlock), "PM1A Event Block Address", 0}, 305a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bEventBlock), "PM1B Event Block Address", 0}, 306a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aControlBlock), "PM1A Control Block Address", 0}, 307a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bControlBlock), "PM1B Control Block Address", 0}, 308a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm2ControlBlock), "PM2 Control Block Address", 0}, 309a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (PmTimerBlock), "PM Timer Block Address", 0}, 310a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe0Block), "GPE0 Block Address", 0}, 311a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe1Block), "GPE1 Block Address", 0}, 312a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1EventLength), "PM1 Event Block Length", 0}, 313a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1ControlLength), "PM1 Control Block Length", 0}, 314a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm2ControlLength), "PM2 Control Block Length", 0}, 315a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PmTimerLength), "PM Timer Block Length", 0}, 316a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe0BlockLength), "GPE0 Block Length", 0}, 317a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1BlockLength), "GPE1 Block Length", 0}, 318a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1Base), "GPE1 Base Offset", 0}, 319a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (CstControl), "_CST Support", 0}, 320a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C2Latency), "C2 Latency", 0}, 321a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C3Latency), "C3 Latency", 0}, 322a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushSize), "CPU Cache Size", 0}, 323a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushStride), "Cache Flush Stride", 0}, 324a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyOffset), "Duty Cycle Offset", 0}, 325a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyWidth), "Duty Cycle Width", 0}, 326a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DayAlarm), "RTC Day Alarm Index", 0}, 327a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MonthAlarm), "RTC Month Alarm Index", 0}, 328a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Century), "RTC Century Index", 0}, 329a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (BootFlags), "Boot Flags (decoded below)", DT_FLAG}, 330a9f12690SJung-uk Kim 331a9f12690SJung-uk Kim /* Boot Architecture Flags byte 0 */ 332a9f12690SJung-uk Kim 333a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "Legacy Devices Supported (V2)", 0}, 334a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "8042 Present on ports 60/64 (V2)", 0}, 335a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "VGA Not Present (V4)", 0}, 336a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "MSI Not Supported (V4)", 0}, 337a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "PCIe ASPM Not Supported (V4)", 0}, 338ec3fc72fSJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "CMOS RTC Not Present (V5)", 0}, 339a9f12690SJung-uk Kim 340a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Reserved), "Reserved", 0}, 341a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 3421a39cfb0SJung-uk Kim 3431a39cfb0SJung-uk Kim /* Flags byte 0 */ 3441a39cfb0SJung-uk Kim 345a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD instruction is operational (V1)", 0}, 346a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD flushes all caches (V1)", 0}, 347a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,0), "All CPUs support C1 (V1)", 0}, 348a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,0), "C2 works on MP system (V1)", 0}, 349a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Power Button (V1)", 0}, 350a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Sleep Button (V1)", 0}, 351a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC wake not in fixed reg space (V1)", 0}, 352a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC can wake system from S4 (V1)", 0}, 3531a39cfb0SJung-uk Kim 3541a39cfb0SJung-uk Kim /* Flags byte 1 */ 3551a39cfb0SJung-uk Kim 356a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,1), "32-bit PM Timer (V1)", 0}, 357a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,1), "Docking Supported (V1)", 0}, 358a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,1), "Reset Register Supported (V2)", 0}, 359a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,1), "Sealed Case (V3)", 0}, 360a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,1), "Headless - No Video (V3)", 0}, 361a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use native instr after SLP_TYPx (V3)", 0}, 362a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,1), "PCIEXP_WAK Bits Supported (V4)", 0}, 363a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use Platform Timer (V4)", 0}, 3641a39cfb0SJung-uk Kim 3651a39cfb0SJung-uk Kim /* Flags byte 2 */ 3661a39cfb0SJung-uk Kim 367a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,2), "RTC_STS valid on S4 wake (V4)", 0}, 368a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,2), "Remote Power-on capable (V4)", 0}, 369a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Cluster Model (V4)", 0}, 370a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Physical Destination Mode (V4)", 0}, 3713f0275a0SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,2), "Hardware Reduced (V5)", 0}, 372ec3fc72fSJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,2), "Low Power S0 Idle (V5)", 0}, 373a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 374a9f12690SJung-uk Kim }; 3751a39cfb0SJung-uk Kim 3761cc50d6bSJung-uk Kim /* ACPI 1.0 MS Extensions (FADT version 2) */ 3771cc50d6bSJung-uk Kim 3781cc50d6bSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[] = 3791cc50d6bSJung-uk Kim { 3801cc50d6bSJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, 3811cc50d6bSJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, 3821cc50d6bSJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (ArmBootFlags), "Reserved", 0}, 3831cc50d6bSJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MinorRevision), "Reserved", 0}, 3841cc50d6bSJung-uk Kim ACPI_DMT_TERMINATOR 3851cc50d6bSJung-uk Kim }; 3861cc50d6bSJung-uk Kim 3871cc50d6bSJung-uk Kim /* ACPI 2.0+ Extensions (FADT version 3, 4, and 5) */ 388a9f12690SJung-uk Kim 389a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[] = 390a9f12690SJung-uk Kim { 391a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, 392a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, 393313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (ArmBootFlags), "ARM Flags (decoded below)", DT_FLAG}, 394313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0), "PSCI Compliant", 0}, 395313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0), "Must use HVC for PSCI", 0}, 396313a0c13SJung-uk Kim ACPI_DMT_NEW_LINE, 397313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MinorRevision), "FADT Minor Revision", 0}, 398a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XFacs), "FACS Address", 0}, 399a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XDsdt), "DSDT Address", 0}, 400a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aEventBlock), "PM1A Event Block", 0}, 401a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bEventBlock), "PM1B Event Block", 0}, 402a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aControlBlock), "PM1A Control Block", 0}, 403a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bControlBlock), "PM1B Control Block", 0}, 404a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm2ControlBlock), "PM2 Control Block", 0}, 405a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPmTimerBlock), "PM Timer Block", 0}, 406a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe0Block), "GPE0 Block", 0}, 407a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe1Block), "GPE1 Block", 0}, 408a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4091a39cfb0SJung-uk Kim }; 4101a39cfb0SJung-uk Kim 4111cc50d6bSJung-uk Kim /* ACPI 5.0 Extensions (FADT version 5) */ 4123f0275a0SJung-uk Kim 4133f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[] = 4143f0275a0SJung-uk Kim { 4151cc50d6bSJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepControl), "Sleep Control Register", 0}, 416ec3fc72fSJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepStatus), "Sleep Status Register", 0}, 4173f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 4183f0275a0SJung-uk Kim }; 4193f0275a0SJung-uk Kim 4201cc50d6bSJung-uk Kim /* ACPI 6.0 Extensions (FADT version 6) */ 421a371a5fdSJung-uk Kim 422a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[] = 423a371a5fdSJung-uk Kim { 424a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (HypervisorId), "Hypervisor ID", 0}, 425a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 426a371a5fdSJung-uk Kim }; 427a371a5fdSJung-uk Kim 4281a39cfb0SJung-uk Kim 4291a39cfb0SJung-uk Kim /* 4301a39cfb0SJung-uk Kim * Remaining tables are not consumed directly by the ACPICA subsystem 4311a39cfb0SJung-uk Kim */ 4321a39cfb0SJung-uk Kim 4331a39cfb0SJung-uk Kim /******************************************************************************* 4341a39cfb0SJung-uk Kim * 4351a39cfb0SJung-uk Kim * ASF - Alert Standard Format table (Signature "ASF!") 4361a39cfb0SJung-uk Kim * 4371a39cfb0SJung-uk Kim ******************************************************************************/ 4381a39cfb0SJung-uk Kim 439a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 4401a39cfb0SJung-uk Kim 4411a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[] = 4421a39cfb0SJung-uk Kim { 443a88e22b7SJung-uk Kim {ACPI_DMT_ASF, ACPI_ASF0_OFFSET (Header.Type), "Subtable Type", 0}, 444a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Header.Reserved), "Reserved", 0}, 445a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (Header.Length), "Length", DT_LENGTH}, 446a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4471a39cfb0SJung-uk Kim }; 4481a39cfb0SJung-uk Kim 4491a39cfb0SJung-uk Kim /* 0: ASF Information */ 4501a39cfb0SJung-uk Kim 4511a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[] = 4521a39cfb0SJung-uk Kim { 453a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Reset Value", 0}, 454a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinPollInterval), "Minimum Polling Interval", 0}, 455a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (SystemId), "System ID", 0}, 456a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (MfgId), "Manufacturer ID", 0}, 457a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Flags), "Flags", 0}, 458a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_ASF0_OFFSET (Reserved2[0]), "Reserved", 0}, 459a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4601a39cfb0SJung-uk Kim }; 4611a39cfb0SJung-uk Kim 4621a39cfb0SJung-uk Kim /* 1: ASF Alerts */ 4631a39cfb0SJung-uk Kim 4641a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[] = 4651a39cfb0SJung-uk Kim { 466a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (AssertMask), "AssertMask", 0}, 467a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DeassertMask), "DeassertMask", 0}, 468a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (Alerts), "Alert Count", 0}, 469a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DataLength), "Alert Data Length", 0}, 470a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4711a39cfb0SJung-uk Kim }; 4721a39cfb0SJung-uk Kim 4731a39cfb0SJung-uk Kim /* 1a: ASF Alert data */ 4741a39cfb0SJung-uk Kim 4751a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[] = 4761a39cfb0SJung-uk Kim { 477a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Address), "Address", 0}, 478a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Command), "Command", 0}, 479a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Mask), "Mask", 0}, 480a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Value), "Value", 0}, 481a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorType), "SensorType", 0}, 482a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Type), "Type", 0}, 483a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Offset), "Offset", 0}, 484a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SourceType), "SourceType", 0}, 485a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Severity), "Severity", 0}, 486a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorNumber), "SensorNumber", 0}, 487a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Entity), "Entity", 0}, 488a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Instance), "Instance", 0}, 489a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4901a39cfb0SJung-uk Kim }; 4911a39cfb0SJung-uk Kim 4921a39cfb0SJung-uk Kim /* 2: ASF Remote Control */ 4931a39cfb0SJung-uk Kim 4941a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[] = 4951a39cfb0SJung-uk Kim { 496a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (Controls), "Control Count", 0}, 497a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (DataLength), "Control Data Length", 0}, 498a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF2_OFFSET (Reserved2), "Reserved", 0}, 499a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5001a39cfb0SJung-uk Kim }; 5011a39cfb0SJung-uk Kim 5021a39cfb0SJung-uk Kim /* 2a: ASF Control data */ 5031a39cfb0SJung-uk Kim 5041a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[] = 5051a39cfb0SJung-uk Kim { 506a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Function), "Function", 0}, 507a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Address), "Address", 0}, 508a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Command), "Command", 0}, 509a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Value), "Value", 0}, 510a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5111a39cfb0SJung-uk Kim }; 5121a39cfb0SJung-uk Kim 5131a39cfb0SJung-uk Kim /* 3: ASF RMCP Boot Options */ 5141a39cfb0SJung-uk Kim 5151a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[] = 5161a39cfb0SJung-uk Kim { 5170b94ba42SJung-uk Kim {ACPI_DMT_BUF7, ACPI_ASF3_OFFSET (Capabilities[0]), "Capabilities", 0}, 518a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (CompletionCode), "Completion Code", 0}, 519a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ASF3_OFFSET (EnterpriseId), "Enterprise ID", 0}, 520a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (Command), "Command", 0}, 521a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (Parameter), "Parameter", 0}, 522a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (BootOptions), "Boot Options", 0}, 523a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (OemParameters), "Oem Parameters", 0}, 524a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5251a39cfb0SJung-uk Kim }; 5261a39cfb0SJung-uk Kim 5271a39cfb0SJung-uk Kim /* 4: ASF Address */ 5281a39cfb0SJung-uk Kim 5291a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[] = 5301a39cfb0SJung-uk Kim { 531a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (EpromAddress), "Eprom Address", 0}, 532a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (Devices), "Device Count", DT_COUNT}, 533a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5341a39cfb0SJung-uk Kim }; 5351a39cfb0SJung-uk Kim 5361a39cfb0SJung-uk Kim 5371a39cfb0SJung-uk Kim /******************************************************************************* 5381a39cfb0SJung-uk Kim * 539a9f12690SJung-uk Kim * BERT - Boot Error Record table 540a9f12690SJung-uk Kim * 541a9f12690SJung-uk Kim ******************************************************************************/ 542a9f12690SJung-uk Kim 543a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBert[] = 544a9f12690SJung-uk Kim { 545a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BERT_OFFSET (RegionLength), "Boot Error Region Length", 0}, 546a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_BERT_OFFSET (Address), "Boot Error Region Address", 0}, 547a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 548a9f12690SJung-uk Kim }; 549a9f12690SJung-uk Kim 550a9f12690SJung-uk Kim 551a9f12690SJung-uk Kim /******************************************************************************* 552a9f12690SJung-uk Kim * 5533f0275a0SJung-uk Kim * BGRT - Boot Graphics Resource Table (ACPI 5.0) 5543f0275a0SJung-uk Kim * 5553f0275a0SJung-uk Kim ******************************************************************************/ 5563f0275a0SJung-uk Kim 5573f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[] = 5583f0275a0SJung-uk Kim { 5593f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_BGRT_OFFSET (Version), "Version", 0}, 560af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BGRT_OFFSET (Status), "Status (decoded below)", DT_FLAG}, 561af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_BGRT_FLAG_OFFSET (Status, 0), "Displayed", 0}, 562af051161SJung-uk Kim {ACPI_DMT_FLAGS1, ACPI_BGRT_FLAG_OFFSET (Status, 0), "Orientation Offset", 0}, 563af051161SJung-uk Kim 5643f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BGRT_OFFSET (ImageType), "Image Type", 0}, 5653f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_BGRT_OFFSET (ImageAddress), "Image Address", 0}, 5663f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BGRT_OFFSET (ImageOffsetX), "Image OffsetX", 0}, 5673f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BGRT_OFFSET (ImageOffsetY), "Image OffsetY", 0}, 5683f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 5693f0275a0SJung-uk Kim }; 5703f0275a0SJung-uk Kim 5713f0275a0SJung-uk Kim 5723f0275a0SJung-uk Kim /******************************************************************************* 5733f0275a0SJung-uk Kim * 5741a39cfb0SJung-uk Kim * BOOT - Simple Boot Flag Table 5751a39cfb0SJung-uk Kim * 5761a39cfb0SJung-uk Kim ******************************************************************************/ 5771a39cfb0SJung-uk Kim 5781a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[] = 5791a39cfb0SJung-uk Kim { 580a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BOOT_OFFSET (CmosIndex), "Boot Register Index", 0}, 581a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_BOOT_OFFSET (Reserved[0]), "Reserved", 0}, 582a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5831a39cfb0SJung-uk Kim }; 5841a39cfb0SJung-uk Kim 5851a39cfb0SJung-uk Kim 5861a39cfb0SJung-uk Kim /******************************************************************************* 5871a39cfb0SJung-uk Kim * 5881a39cfb0SJung-uk Kim * CPEP - Corrected Platform Error Polling table 5891a39cfb0SJung-uk Kim * 5901a39cfb0SJung-uk Kim ******************************************************************************/ 5911a39cfb0SJung-uk Kim 5921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[] = 5931a39cfb0SJung-uk Kim { 594a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_CPEP_OFFSET (Reserved), "Reserved", 0}, 595a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5961a39cfb0SJung-uk Kim }; 5971a39cfb0SJung-uk Kim 5981a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[] = 5991a39cfb0SJung-uk Kim { 600a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Type), "Subtable Type", 0}, 601a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Length), "Length", DT_LENGTH}, 602a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Id), "Processor ID", 0}, 603a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Eid), "Processor EID", 0}, 604a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CPEP0_OFFSET (Interval), "Polling Interval", 0}, 605a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 6061a39cfb0SJung-uk Kim }; 6071a39cfb0SJung-uk Kim 6081a39cfb0SJung-uk Kim 6091a39cfb0SJung-uk Kim /******************************************************************************* 6101a39cfb0SJung-uk Kim * 6111df130f1SJung-uk Kim * CSRT - Core System Resource Table 6121df130f1SJung-uk Kim * 6131df130f1SJung-uk Kim ******************************************************************************/ 6141df130f1SJung-uk Kim 6151df130f1SJung-uk Kim /* Main table consists only of the standard ACPI table header */ 6161df130f1SJung-uk Kim 6171df130f1SJung-uk Kim /* Resource Group subtable */ 6181df130f1SJung-uk Kim 6191df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[] = 6201df130f1SJung-uk Kim { 621a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (Length), "Length", DT_LENGTH}, 6221df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (VendorId), "Vendor ID", 0}, 6231df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (SubvendorId), "Subvendor ID", 0}, 6241df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (DeviceId), "Device ID", 0}, 6251df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (SubdeviceId), "Subdevice ID", 0}, 6261df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Revision), "Revision", 0}, 6271df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Reserved), "Reserved", 0}, 628efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (SharedInfoLength), "Shared Info Length", 0}, 6291df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 6301df130f1SJung-uk Kim }; 6311df130f1SJung-uk Kim 632efcc2a30SJung-uk Kim /* Shared Info subtable */ 6331df130f1SJung-uk Kim 6341df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[] = 6351df130f1SJung-uk Kim { 636efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (MajorVersion), "Major Version", 0}, 637efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (MinorVersion), "Minor Version", 0}, 638efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MmioBaseLow), "MMIO Base Address Low", 0}, 639efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MmioBaseHigh), "MMIO Base Address High", 0}, 640efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (GsiInterrupt), "GSI Interrupt", 0}, 641efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (InterruptPolarity), "Interrupt Polarity", 0}, 642efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (InterruptMode), "Interrupt Mode", 0}, 643efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (NumChannels), "Num Channels", 0}, 644efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (DmaAddressWidth), "DMA Address Width", 0}, 645efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (BaseRequestLine), "Base Request Line", 0}, 646efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (NumHandshakeSignals), "Num Handshake Signals", 0}, 647efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MaxBlockSize), "Max Block Size", 0}, 648efcc2a30SJung-uk Kim ACPI_DMT_TERMINATOR 649efcc2a30SJung-uk Kim }; 650efcc2a30SJung-uk Kim 651efcc2a30SJung-uk Kim /* Resource Descriptor subtable */ 652efcc2a30SJung-uk Kim 653efcc2a30SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[] = 654efcc2a30SJung-uk Kim { 655a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT2_OFFSET (Length), "Length", DT_LENGTH}, 656efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT2_OFFSET (Type), "Type", 0}, 657efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT2_OFFSET (Subtype), "Subtype", 0}, 658efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT2_OFFSET (Uid), "UID", 0}, 6591df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 6601df130f1SJung-uk Kim }; 6611df130f1SJung-uk Kim 662a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[] = 663a371a5fdSJung-uk Kim { 664a371a5fdSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "ResourceInfo", DT_OPTIONAL}, 665a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 666a371a5fdSJung-uk Kim }; 667a371a5fdSJung-uk Kim 6681df130f1SJung-uk Kim 6691df130f1SJung-uk Kim /******************************************************************************* 6701df130f1SJung-uk Kim * 6711df130f1SJung-uk Kim * DBG2 - Debug Port Table 2 6721df130f1SJung-uk Kim * 6731df130f1SJung-uk Kim ******************************************************************************/ 6741df130f1SJung-uk Kim 6751df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[] = 6761df130f1SJung-uk Kim { 6771df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoOffset), "Info Offset", 0}, 6781df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoCount), "Info Count", 0}, 6791df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 6801df130f1SJung-uk Kim }; 6811df130f1SJung-uk Kim 6821df130f1SJung-uk Kim /* Debug Device Information Subtable */ 6831df130f1SJung-uk Kim 6841df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[] = 6851df130f1SJung-uk Kim { 6861df130f1SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (Revision), "Revision", 0}, 687313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Length), "Length", DT_LENGTH}, 6881df130f1SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (RegisterCount), "Register Count", 0}, 6891df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathLength), "Namepath Length", 0}, 6901df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathOffset), "Namepath Offset", 0}, 691313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataLength), "OEM Data Length", DT_DESCRIBES_OPTIONAL}, 692313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataOffset), "OEM Data Offset", DT_DESCRIBES_OPTIONAL}, 6931df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortType), "Port Type", 0}, 6941df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortSubtype), "Port Subtype", 0}, 6951df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Reserved), "Reserved", 0}, 6961df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (BaseAddressOffset), "Base Address Offset", 0}, 6971df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (AddressSizeOffset), "Address Size Offset", 0}, 6981df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 6991df130f1SJung-uk Kim }; 7001df130f1SJung-uk Kim 7011df130f1SJung-uk Kim /* Variable-length data for the subtable */ 7021df130f1SJung-uk Kim 7031df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[] = 7041df130f1SJung-uk Kim { 7051df130f1SJung-uk Kim {ACPI_DMT_GAS, 0, "Base Address Register", 0}, 7061df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7071df130f1SJung-uk Kim }; 7081df130f1SJung-uk Kim 7091df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[] = 7101df130f1SJung-uk Kim { 7111df130f1SJung-uk Kim {ACPI_DMT_UINT32, 0, "Address Size", 0}, 7121df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7131df130f1SJung-uk Kim }; 7141df130f1SJung-uk Kim 7151df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[] = 7161df130f1SJung-uk Kim { 7171df130f1SJung-uk Kim {ACPI_DMT_STRING, 0, "Namepath", 0}, 7181df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7191df130f1SJung-uk Kim }; 7201df130f1SJung-uk Kim 721313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[] = 722313a0c13SJung-uk Kim { 723a371a5fdSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "OEM Data", DT_OPTIONAL}, 724313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 725313a0c13SJung-uk Kim }; 726313a0c13SJung-uk Kim 7271df130f1SJung-uk Kim 7281df130f1SJung-uk Kim /******************************************************************************* 7291df130f1SJung-uk Kim * 7301a39cfb0SJung-uk Kim * DBGP - Debug Port 7311a39cfb0SJung-uk Kim * 7321a39cfb0SJung-uk Kim ******************************************************************************/ 7331a39cfb0SJung-uk Kim 7341a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[] = 7351a39cfb0SJung-uk Kim { 736a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBGP_OFFSET (Type), "Interface Type", 0}, 737a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_DBGP_OFFSET (Reserved[0]), "Reserved", 0}, 738a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_DBGP_OFFSET (DebugPort), "Debug Port Register", 0}, 739a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7401a39cfb0SJung-uk Kim }; 7411a39cfb0SJung-uk Kim 7421a39cfb0SJung-uk Kim 7431a39cfb0SJung-uk Kim /******************************************************************************* 7441a39cfb0SJung-uk Kim * 7451a39cfb0SJung-uk Kim * DMAR - DMA Remapping table 7461a39cfb0SJung-uk Kim * 7471a39cfb0SJung-uk Kim ******************************************************************************/ 7481a39cfb0SJung-uk Kim 7491a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[] = 7501a39cfb0SJung-uk Kim { 751a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Width), "Host Address Width", 0}, 752a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Flags), "Flags", 0}, 7538d744e47SJung-uk Kim {ACPI_DMT_BUF10, ACPI_DMAR_OFFSET (Reserved[0]), "Reserved", 0}, 754a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7551a39cfb0SJung-uk Kim }; 7561a39cfb0SJung-uk Kim 757a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 7581a39cfb0SJung-uk Kim 7591a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[] = 7601a39cfb0SJung-uk Kim { 761a88e22b7SJung-uk Kim {ACPI_DMT_DMAR, ACPI_DMAR0_OFFSET (Header.Type), "Subtable Type", 0}, 762a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Header.Length), "Length", DT_LENGTH}, 763a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7641a39cfb0SJung-uk Kim }; 7651a39cfb0SJung-uk Kim 7661a39cfb0SJung-uk Kim /* Common device scope entry */ 7671a39cfb0SJung-uk Kim 7681a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[] = 7691a39cfb0SJung-uk Kim { 770313a0c13SJung-uk Kim {ACPI_DMT_DMAR_SCOPE, ACPI_DMARS_OFFSET (EntryType), "Device Scope Type", 0}, 771a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Length), "Entry Length", DT_LENGTH}, 772a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMARS_OFFSET (Reserved), "Reserved", 0}, 773a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EnumerationId), "Enumeration ID", 0}, 774a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Bus), "PCI Bus Number", 0}, 775a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7761a39cfb0SJung-uk Kim }; 7771a39cfb0SJung-uk Kim 778a9f12690SJung-uk Kim /* DMAR Subtables */ 7791a39cfb0SJung-uk Kim 7801a39cfb0SJung-uk Kim /* 0: Hardware Unit Definition */ 7811a39cfb0SJung-uk Kim 7821a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[] = 7831a39cfb0SJung-uk Kim { 784a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Flags), "Flags", 0}, 785a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Reserved), "Reserved", 0}, 786a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Segment), "PCI Segment Number", 0}, 787a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR0_OFFSET (Address), "Register Base Address", 0}, 788a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7891a39cfb0SJung-uk Kim }; 7901a39cfb0SJung-uk Kim 791a9f12690SJung-uk Kim /* 1: Reserved Memory Definition */ 7921a39cfb0SJung-uk Kim 7931a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[] = 7941a39cfb0SJung-uk Kim { 795a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Reserved), "Reserved", 0}, 796a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Segment), "PCI Segment Number", 0}, 797a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (BaseAddress), "Base Address", 0}, 798a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (EndAddress), "End Address (limit)", 0}, 799a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8001a39cfb0SJung-uk Kim }; 8011a39cfb0SJung-uk Kim 802a9f12690SJung-uk Kim /* 2: Root Port ATS Capability Definition */ 803a9f12690SJung-uk Kim 804a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[] = 805a9f12690SJung-uk Kim { 806a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Flags), "Flags", 0}, 807a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Reserved), "Reserved", 0}, 808a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR2_OFFSET (Segment), "PCI Segment Number", 0}, 809a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 810a9f12690SJung-uk Kim }; 811a9f12690SJung-uk Kim 812d6dd1baeSJung-uk Kim /* 3: Remapping Hardware Static Affinity Structure */ 813d6dd1baeSJung-uk Kim 814d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[] = 815d6dd1baeSJung-uk Kim { 816a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (Reserved), "Reserved", 0}, 817a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR3_OFFSET (BaseAddress), "Base Address", 0}, 818a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (ProximityDomain), "Proximity Domain", 0}, 819a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 820d6dd1baeSJung-uk Kim }; 821d6dd1baeSJung-uk Kim 822313a0c13SJung-uk Kim /* 4: ACPI Namespace Device Declaration Structure */ 823313a0c13SJung-uk Kim 824313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] = 825313a0c13SJung-uk Kim { 826313a0c13SJung-uk Kim {ACPI_DMT_UINT24, ACPI_DMAR4_OFFSET (Reserved[0]), "Reserved", 0}, 827313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR4_OFFSET (DeviceNumber), "Device Number", 0}, 828313a0c13SJung-uk Kim {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (DeviceName[0]), "Device Name", 0}, 829313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 830313a0c13SJung-uk Kim }; 831313a0c13SJung-uk Kim 8321a39cfb0SJung-uk Kim 8331a39cfb0SJung-uk Kim /******************************************************************************* 8341a39cfb0SJung-uk Kim * 8353f0275a0SJung-uk Kim * DRTM - Dynamic Root of Trust for Measurement table 8363f0275a0SJung-uk Kim * 8373f0275a0SJung-uk Kim ******************************************************************************/ 8383f0275a0SJung-uk Kim 8393f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[] = 8403f0275a0SJung-uk Kim { 841a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (EntryBaseAddress), "Entry Base Address", 0}, 842a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (EntryLength), "Entry Length", 0}, 843a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM_OFFSET (EntryAddress32), "Entry 32", 0}, 844a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (EntryAddress64), "Entry 64", 0}, 845a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (ExitAddress), "Exit Address", 0}, 846a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (LogAreaAddress), "Log Area Start", 0}, 847a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM_OFFSET (LogAreaLength), "Log Area Length", 0}, 848a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM_OFFSET (ArchDependentAddress), "Arch Dependent Address", 0}, 849a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM_OFFSET (Flags), "Flags (decoded below)", 0}, 850a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_DRTM_FLAG_OFFSET (Flags, 0), "Namespace in TCB", 0}, 851a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_DRTM_FLAG_OFFSET (Flags, 0), "Gap Code on S3 Resume", 0}, 852a371a5fdSJung-uk Kim {ACPI_DMT_FLAG2, ACPI_DRTM_FLAG_OFFSET (Flags, 0), "Gap Code on DLME_Exit", 0}, 853a371a5fdSJung-uk Kim {ACPI_DMT_FLAG3, ACPI_DRTM_FLAG_OFFSET (Flags, 0), "PCR_Authorities Changed", 0}, 854a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 855a371a5fdSJung-uk Kim }; 8563f0275a0SJung-uk Kim 857a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[] = 858a371a5fdSJung-uk Kim { 859a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM0_OFFSET (ValidatedTableCount), "Validated Table Count", DT_COUNT}, 860a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 861a371a5fdSJung-uk Kim }; 862a371a5fdSJung-uk Kim 863a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[] = 864a371a5fdSJung-uk Kim { 865a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, 0, "Table Address", DT_OPTIONAL}, 866a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 867a371a5fdSJung-uk Kim }; 868a371a5fdSJung-uk Kim 869a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[] = 870a371a5fdSJung-uk Kim { 871a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM1_OFFSET (ResourceCount), "Resource Count", DT_COUNT}, 872a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 873a371a5fdSJung-uk Kim }; 874a371a5fdSJung-uk Kim 875a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[] = 876a371a5fdSJung-uk Kim { 877a371a5fdSJung-uk Kim {ACPI_DMT_UINT56, ACPI_DRTM1a_OFFSET (Size[0]), "Size", DT_OPTIONAL}, 878a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_DRTM1a_OFFSET (Type), "Type", 0}, 879a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_DRTM1a_FLAG_OFFSET (Type, 0), "Resource Type", 0}, 880a371a5fdSJung-uk Kim {ACPI_DMT_FLAG7, ACPI_DRTM1a_FLAG_OFFSET (Type, 0), "Protections", 0}, 881a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_DRTM1a_OFFSET (Address), "Address", 0}, 882a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 883a371a5fdSJung-uk Kim }; 884a371a5fdSJung-uk Kim 885a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[] = 886a371a5fdSJung-uk Kim { 887a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_DRTM2_OFFSET (DpsIdLength), "DLME Platform Id Length", DT_COUNT}, 888a371a5fdSJung-uk Kim {ACPI_DMT_BUF16, ACPI_DRTM2_OFFSET (DpsId), "DLME Platform Id", DT_COUNT}, 8893f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 8903f0275a0SJung-uk Kim }; 8913f0275a0SJung-uk Kim 8923f0275a0SJung-uk Kim 8933f0275a0SJung-uk Kim /******************************************************************************* 8943f0275a0SJung-uk Kim * 8951a39cfb0SJung-uk Kim * ECDT - Embedded Controller Boot Resources Table 8961a39cfb0SJung-uk Kim * 8971a39cfb0SJung-uk Kim ******************************************************************************/ 8981a39cfb0SJung-uk Kim 8991a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[] = 9001a39cfb0SJung-uk Kim { 901a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Control), "Command/Status Register", 0}, 902a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Data), "Data Register", 0}, 903a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ECDT_OFFSET (Uid), "UID", 0}, 904a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ECDT_OFFSET (Gpe), "GPE Number", 0}, 905a88e22b7SJung-uk Kim {ACPI_DMT_STRING, ACPI_ECDT_OFFSET (Id[0]), "Namepath", 0}, 906a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 9071a39cfb0SJung-uk Kim }; 9081a39cfb0SJung-uk Kim 9091a39cfb0SJung-uk Kim 9101a39cfb0SJung-uk Kim /******************************************************************************* 9111a39cfb0SJung-uk Kim * 912a9f12690SJung-uk Kim * EINJ - Error Injection table 913a9f12690SJung-uk Kim * 914a9f12690SJung-uk Kim ******************************************************************************/ 915a9f12690SJung-uk Kim 916a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[] = 917a9f12690SJung-uk Kim { 918a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (HeaderLength), "Injection Header Length", 0}, 919a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ_OFFSET (Flags), "Flags", 0}, 920a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_EINJ_OFFSET (Reserved[0]), "Reserved", 0}, 921a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Entries), "Injection Entry Count", 0}, 922a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 923a9f12690SJung-uk Kim }; 924a9f12690SJung-uk Kim 925a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[] = 926a9f12690SJung-uk Kim { 927a88e22b7SJung-uk Kim {ACPI_DMT_EINJACT, ACPI_EINJ0_OFFSET (Action), "Action", 0}, 928a88e22b7SJung-uk Kim {ACPI_DMT_EINJINST, ACPI_EINJ0_OFFSET (Instruction), "Instruction", 0}, 929a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 930a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_EINJ0_FLAG_OFFSET (Flags,0), "Preserve Register Bits", 0}, 931a88e22b7SJung-uk Kim 932a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Reserved), "Reserved", 0}, 933a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_EINJ0_OFFSET (RegisterRegion), "Register Region", 0}, 934a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Value), "Value", 0}, 935a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Mask), "Mask", 0}, 936a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 937a9f12690SJung-uk Kim }; 938a9f12690SJung-uk Kim 939a9f12690SJung-uk Kim 940a9f12690SJung-uk Kim /******************************************************************************* 941a9f12690SJung-uk Kim * 942a9f12690SJung-uk Kim * ERST - Error Record Serialization table 943a9f12690SJung-uk Kim * 944a9f12690SJung-uk Kim ******************************************************************************/ 945a9f12690SJung-uk Kim 946a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoErst[] = 947a9f12690SJung-uk Kim { 948a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (HeaderLength), "Serialization Header Length", 0}, 949a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (Reserved), "Reserved", 0}, 950a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (Entries), "Instruction Entry Count", 0}, 951a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 952a88e22b7SJung-uk Kim }; 953a88e22b7SJung-uk Kim 954a88e22b7SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[] = 955a88e22b7SJung-uk Kim { 956a88e22b7SJung-uk Kim {ACPI_DMT_ERSTACT, ACPI_ERST0_OFFSET (Action), "Action", 0}, 957a88e22b7SJung-uk Kim {ACPI_DMT_ERSTINST, ACPI_ERST0_OFFSET (Instruction), "Instruction", 0}, 958a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ERST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 959a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_ERST0_FLAG_OFFSET (Flags,0), "Preserve Register Bits", 0}, 960a88e22b7SJung-uk Kim 961a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ERST0_OFFSET (Reserved), "Reserved", 0}, 962a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ERST0_OFFSET (RegisterRegion), "Register Region", 0}, 963a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_ERST0_OFFSET (Value), "Value", 0}, 964a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_ERST0_OFFSET (Mask), "Mask", 0}, 965a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 966a9f12690SJung-uk Kim }; 967a9f12690SJung-uk Kim 968a9f12690SJung-uk Kim 969a9f12690SJung-uk Kim /******************************************************************************* 970a9f12690SJung-uk Kim * 9713f0275a0SJung-uk Kim * FPDT - Firmware Performance Data Table (ACPI 5.0) 9723f0275a0SJung-uk Kim * 9733f0275a0SJung-uk Kim ******************************************************************************/ 9743f0275a0SJung-uk Kim 9753f0275a0SJung-uk Kim /* Main table consists of only the standard ACPI header - subtables follow */ 9763f0275a0SJung-uk Kim 9773f0275a0SJung-uk Kim /* FPDT subtable header */ 9783f0275a0SJung-uk Kim 9793f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[] = 9803f0275a0SJung-uk Kim { 9813f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FPDTH_OFFSET (Type), "Subtable Type", 0}, 9823f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FPDTH_OFFSET (Length), "Length", DT_LENGTH}, 9833f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FPDTH_OFFSET (Revision), "Revision", 0}, 9843f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 9853f0275a0SJung-uk Kim }; 9863f0275a0SJung-uk Kim 9873f0275a0SJung-uk Kim /* 0: Firmware Basic Boot Performance Record */ 9883f0275a0SJung-uk Kim 9893f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[] = 9903f0275a0SJung-uk Kim { 9913f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FPDT0_OFFSET (Reserved), "Reserved", 0}, 992f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT1_OFFSET (Address), "FPDT Boot Record Address", 0}, 9933f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 9943f0275a0SJung-uk Kim }; 9953f0275a0SJung-uk Kim 9963f0275a0SJung-uk Kim /* 1: S3 Performance Table Pointer Record */ 9973f0275a0SJung-uk Kim 9983f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[] = 9993f0275a0SJung-uk Kim { 10003f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FPDT1_OFFSET (Reserved), "Reserved", 0}, 1001f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT1_OFFSET (Address), "S3PT Record Address", 0}, 10023f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 10033f0275a0SJung-uk Kim }; 10043f0275a0SJung-uk Kim 1005f8146b88SJung-uk Kim #if 0 1006f8146b88SJung-uk Kim /* Boot Performance Record, not supported at this time. */ 1007f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ResetEnd), "Reset End", 0}, 1008f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (LoadStart), "Load Image Start", 0}, 1009f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (StartupStart), "Start Image Start", 0}, 1010f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ExitServicesEntry), "Exit Services Entry", 0}, 1011f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ExitServicesExit), "Exit Services Exit", 0}, 1012f8146b88SJung-uk Kim #endif 10133f0275a0SJung-uk Kim 101467d9aa44SJung-uk Kim 10153f0275a0SJung-uk Kim /******************************************************************************* 10163f0275a0SJung-uk Kim * 10173f0275a0SJung-uk Kim * GTDT - Generic Timer Description Table 10183f0275a0SJung-uk Kim * 10193f0275a0SJung-uk Kim ******************************************************************************/ 10203f0275a0SJung-uk Kim 10213f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[] = 10223f0275a0SJung-uk Kim { 1023313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT_OFFSET (CounterBlockAddresss), "Counter Block Address", 0}, 1024313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (Reserved), "Reserved", 0}, 10253f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1026313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (SecureEl1Interrupt), "Secure EL1 Interrupt", 0}, 1027313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (SecureEl1Flags), "EL1 Flags (decoded below)", DT_FLAG}, 1028313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Trigger Mode", 0}, 1029313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Polarity", 0}, 1030313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Always On", 0}, 10313f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1032313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl1Interrupt), "Non-Secure EL1 Interrupt", 0}, 1033313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl1Flags), "NEL1 Flags (decoded below)", DT_FLAG}, 1034313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Trigger Mode", 0}, 1035313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Polarity", 0}, 1036313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Always On", 0}, 10373f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 10383f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (VirtualTimerInterrupt), "Virtual Timer Interrupt", 0}, 10393f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (VirtualTimerFlags), "VT Flags (decoded below)", DT_FLAG}, 10403f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Trigger Mode", 0}, 10413f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Polarity", 0}, 1042313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Always On", 0}, 10433f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1044313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl2Interrupt), "Non-Secure EL2 Interrupt", 0}, 1045313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl2Flags), "NEL2 Flags (decoded below)", DT_FLAG}, 1046313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Trigger Mode", 0}, 1047313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Polarity", 0}, 1048313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Always On", 0}, 1049313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT_OFFSET (CounterReadBlockAddress), "Counter Read Block Address", 0}, 1050313a0c13SJung-uk Kim ACPI_DMT_NEW_LINE, 1051313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (PlatformTimerCount), "Platform Timer Count", 0}, 1052313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (PlatformTimerOffset), "Platform Timer Offset", 0}, 1053313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1054313a0c13SJung-uk Kim }; 1055313a0c13SJung-uk Kim 1056313a0c13SJung-uk Kim /* GTDT Subtable header (one per Subtable) */ 1057313a0c13SJung-uk Kim 1058313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[] = 1059313a0c13SJung-uk Kim { 1060313a0c13SJung-uk Kim {ACPI_DMT_GTDT, ACPI_GTDTH_OFFSET (Type), "Subtable Type", 0}, 1061313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_GTDTH_OFFSET (Length), "Length", DT_LENGTH}, 1062313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1063313a0c13SJung-uk Kim }; 1064313a0c13SJung-uk Kim 1065313a0c13SJung-uk Kim /* GTDT Subtables */ 1066313a0c13SJung-uk Kim 1067313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[] = 1068313a0c13SJung-uk Kim { 1069313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GTDT0_OFFSET (Reserved), "Reserved", 0}, 1070313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0_OFFSET (BlockAddress), "Block Address", 0}, 1071313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0_OFFSET (TimerCount), "Timer Count", 0}, 1072313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0_OFFSET (TimerOffset), "Timer Offset", 0}, 1073313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1074313a0c13SJung-uk Kim }; 1075313a0c13SJung-uk Kim 1076313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[] = 1077313a0c13SJung-uk Kim { 1078313a0c13SJung-uk Kim {ACPI_DMT_UINT8 , ACPI_GTDT0a_OFFSET (FrameNumber), "Frame Number", 0}, 1079313a0c13SJung-uk Kim {ACPI_DMT_UINT24, ACPI_GTDT0a_OFFSET (Reserved[0]), "Reserved", 0}, 1080313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0a_OFFSET (BaseAddress), "Base Address", 0}, 1081313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0a_OFFSET (El0BaseAddress), "EL0 Base Address", 0}, 1082313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (TimerInterrupt), "Timer Interrupt", 0}, 1083313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (TimerFlags), "Timer Flags (decoded below)", 0}, 1084313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0), "Trigger Mode", 0}, 1085313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0), "Polarity", 0}, 1086313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (VirtualTimerInterrupt), "Virtual Timer Interrupt", 0}, 1087313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (VirtualTimerFlags), "Virtual Timer Flags (decoded below)", 0}, 1088313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0), "Trigger Mode", 0}, 1089313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0), "Polarity", 0}, 1090313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (CommonFlags), "Common Flags (decoded below)", 0}, 1091313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0), "Secure", 0}, 1092313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0), "Always On", 0}, 1093313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1094313a0c13SJung-uk Kim }; 1095313a0c13SJung-uk Kim 1096313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[] = 1097313a0c13SJung-uk Kim { 1098313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GTDT1_OFFSET (Reserved), "Reserved", 0}, 1099313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT1_OFFSET (RefreshFrameAddress), "Refresh Frame Address", 0}, 1100313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT1_OFFSET (ControlFrameAddress), "Control Frame Address", 0}, 1101313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT1_OFFSET (TimerInterrupt), "Timer Interrupt", 0}, 1102313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT1_OFFSET (TimerFlags), "Timer Flags (decoded below)", DT_FLAG}, 1103313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Trigger Mode", 0}, 1104313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Polarity", 0}, 1105313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Security", 0}, 11063f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 11073f0275a0SJung-uk Kim }; 11083f0275a0SJung-uk Kim 11093f0275a0SJung-uk Kim 11103f0275a0SJung-uk Kim /******************************************************************************* 11113f0275a0SJung-uk Kim * 1112a9f12690SJung-uk Kim * HEST - Hardware Error Source table 1113a9f12690SJung-uk Kim * 1114a9f12690SJung-uk Kim ******************************************************************************/ 1115a9f12690SJung-uk Kim 1116a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest[] = 1117a9f12690SJung-uk Kim { 1118a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST_OFFSET (ErrorSourceCount), "Error Source Count", 0}, 1119a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1120a9f12690SJung-uk Kim }; 1121a9f12690SJung-uk Kim 1122d6dd1baeSJung-uk Kim /* Common HEST structures for subtables */ 1123d6dd1baeSJung-uk Kim 1124d6dd1baeSJung-uk Kim #define ACPI_DM_HEST_HEADER \ 1125a88e22b7SJung-uk Kim {ACPI_DMT_HEST, ACPI_HEST0_OFFSET (Header.Type), "Subtable Type", 0}, \ 1126a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Header.SourceId), "Source Id", 0} 1127d6dd1baeSJung-uk Kim 1128d6dd1baeSJung-uk Kim #define ACPI_DM_HEST_AER \ 1129a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved1), "Reserved", 0}, \ 1130a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Flags), "Flags (decoded below)", DT_FLAG}, \ 1131a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST6_FLAG_OFFSET (Aer.Flags,0), "Firmware First", 0}, \ 1132af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST6_FLAG_OFFSET (Aer.Flags,0), "Global", 0}, \ 1133a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Enabled), "Enabled", 0}, \ 1134a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.RecordsToPreallocate), "Records To Preallocate", 0}, \ 1135a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.MaxSectionsPerRecord), "Max Sections Per Record", 0}, \ 1136a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.Bus), "Bus", 0}, \ 1137a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Device), "Device", 0}, \ 1138a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Function), "Function", 0}, \ 1139a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.DeviceControl), "DeviceControl", 0}, \ 1140a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved2), "Reserved", 0}, \ 1141a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableMask), "Uncorrectable Mask", 0}, \ 1142a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableSeverity), "Uncorrectable Severity", 0}, \ 1143a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.CorrectableMask), "Correctable Mask", 0}, \ 1144a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.AdvancedCapabilities), "Advanced Capabilities", 0} 1145d6dd1baeSJung-uk Kim 1146d6dd1baeSJung-uk Kim 1147a9f12690SJung-uk Kim /* HEST Subtables */ 1148a9f12690SJung-uk Kim 1149d6dd1baeSJung-uk Kim /* 0: IA32 Machine Check Exception */ 1150a9f12690SJung-uk Kim 1151a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[] = 1152a9f12690SJung-uk Kim { 1153d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1154a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Reserved1), "Reserved1", 0}, 1155a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1156a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST0_FLAG_OFFSET (Flags,0), "Firmware First", 0}, 1157af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_HEST0_FLAG_OFFSET (Flags,0), "GHES Assist", 0}, 1158a88e22b7SJung-uk Kim 1159a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Enabled), "Enabled", 0}, 1160a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1161a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1162a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalCapabilityData), "Global Capability Data", 0}, 1163a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalControlData), "Global Control Data", 0}, 1164a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (NumHardwareBanks), "Num Hardware Banks", 0}, 1165a88e22b7SJung-uk Kim {ACPI_DMT_UINT56, ACPI_HEST0_OFFSET (Reserved3[0]), "Reserved2", 0}, 1166a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1167a9f12690SJung-uk Kim }; 1168a9f12690SJung-uk Kim 1169d6dd1baeSJung-uk Kim /* 1: IA32 Corrected Machine Check */ 1170a9f12690SJung-uk Kim 1171a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[] = 1172a9f12690SJung-uk Kim { 1173d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1174a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST1_OFFSET (Reserved1), "Reserved1", 0}, 1175a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1176a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST1_FLAG_OFFSET (Flags,0), "Firmware First", 0}, 1177af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_HEST1_FLAG_OFFSET (Flags,0), "GHES Assist", 0}, 1178a88e22b7SJung-uk Kim 1179a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Enabled), "Enabled", 0}, 1180a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1181a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1182a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST1_OFFSET (Notify), "Notify", 0}, 1183a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (NumHardwareBanks), "Num Hardware Banks", 0}, 1184a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_HEST1_OFFSET (Reserved2[0]), "Reserved2", 0}, 1185a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1186a9f12690SJung-uk Kim }; 1187a9f12690SJung-uk Kim 1188d6dd1baeSJung-uk Kim /* 2: IA32 Non-Maskable Interrupt */ 1189a9f12690SJung-uk Kim 1190d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[] = 1191a9f12690SJung-uk Kim { 1192d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1193a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (Reserved), "Reserved", 0}, 1194a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1195a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1196a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxRawDataLength), "Max Raw Data Length", 0}, 1197a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1198a9f12690SJung-uk Kim }; 1199a9f12690SJung-uk Kim 1200a9f12690SJung-uk Kim /* 6: PCI Express Root Port AER */ 1201a9f12690SJung-uk Kim 1202a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[] = 1203a9f12690SJung-uk Kim { 1204d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1205d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1206a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (RootErrorCommand), "Root Error Command", 0}, 1207a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1208a9f12690SJung-uk Kim }; 1209a9f12690SJung-uk Kim 1210a9f12690SJung-uk Kim /* 7: PCI Express AER (AER Endpoint) */ 1211a9f12690SJung-uk Kim 1212a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[] = 1213a9f12690SJung-uk Kim { 1214d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1215d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1216a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1217a9f12690SJung-uk Kim }; 1218a9f12690SJung-uk Kim 1219a9f12690SJung-uk Kim /* 8: PCI Express/PCI-X Bridge AER */ 1220a9f12690SJung-uk Kim 1221a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[] = 1222a9f12690SJung-uk Kim { 1223d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1224d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1225a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (UncorrectableMask2), "2nd Uncorrectable Mask", 0}, 1226a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (UncorrectableSeverity2), "2nd Uncorrectable Severity", 0}, 1227a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (AdvancedCapabilities2), "2nd Advanced Capabilities", 0}, 1228a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1229a9f12690SJung-uk Kim }; 1230a9f12690SJung-uk Kim 1231a9f12690SJung-uk Kim /* 9: Generic Hardware Error Source */ 1232a9f12690SJung-uk Kim 1233a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[] = 1234a9f12690SJung-uk Kim { 1235d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1236a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST9_OFFSET (RelatedSourceId), "Related Source Id", 0}, 1237a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST9_OFFSET (Reserved), "Reserved", 0}, 1238a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST9_OFFSET (Enabled), "Enabled", 0}, 1239a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1240a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1241a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (MaxRawDataLength), "Max Raw Data Length", 0}, 1242a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_HEST9_OFFSET (ErrorStatusAddress), "Error Status Address", 0}, 1243a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST9_OFFSET (Notify), "Notify", 0}, 1244a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (ErrorBlockLength), "Error Status Block Length", 0}, 1245a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1246a9f12690SJung-uk Kim }; 1247a9f12690SJung-uk Kim 1248f8146b88SJung-uk Kim /* 10: Generic Hardware Error Source - Version 2 */ 1249f8146b88SJung-uk Kim 1250f8146b88SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[] = 1251f8146b88SJung-uk Kim { 1252f8146b88SJung-uk Kim ACPI_DM_HEST_HEADER, 1253f8146b88SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST10_OFFSET (RelatedSourceId), "Related Source Id", 0}, 1254f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST10_OFFSET (Reserved), "Reserved", 0}, 1255f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST10_OFFSET (Enabled), "Enabled", 0}, 1256f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST10_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1257f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST10_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1258f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST10_OFFSET (MaxRawDataLength), "Max Raw Data Length", 0}, 1259f8146b88SJung-uk Kim {ACPI_DMT_GAS, ACPI_HEST10_OFFSET (ErrorStatusAddress), "Error Status Address", 0}, 1260f8146b88SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST10_OFFSET (Notify), "Notify", 0}, 1261f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST10_OFFSET (ErrorBlockLength), "Error Status Block Length", 0}, 1262f8146b88SJung-uk Kim {ACPI_DMT_GAS, ACPI_HEST10_OFFSET (ReadAckRegister), "Read Ack Register", 0}, 1263f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST10_OFFSET (ReadAckPreserve), "Read Ack Preserve", 0}, 1264f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST10_OFFSET (ReadAckWrite), "Read Ack Write", 0}, 1265f8146b88SJung-uk Kim ACPI_DMT_TERMINATOR 1266f8146b88SJung-uk Kim }; 1267f8146b88SJung-uk Kim 1268af051161SJung-uk Kim /* 11: IA32 Deferred Machine Check */ 1269af051161SJung-uk Kim 1270af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[] = 1271af051161SJung-uk Kim { 1272af051161SJung-uk Kim ACPI_DM_HEST_HEADER, 1273af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST11_OFFSET (Reserved1), "Reserved1", 0}, 1274af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST11_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1275af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST11_FLAG_OFFSET (Flags,0), "Firmware First", 0}, 1276af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_HEST11_FLAG_OFFSET (Flags,0), "GHES Assist", 0}, 1277af051161SJung-uk Kim 1278af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST11_OFFSET (Enabled), "Enabled", 0}, 1279af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST11_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1280af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST11_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1281af051161SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST11_OFFSET (Notify), "Notify", 0}, 1282af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST11_OFFSET (NumHardwareBanks), "Num Hardware Banks", 0}, 1283af051161SJung-uk Kim {ACPI_DMT_UINT24, ACPI_HEST11_OFFSET (Reserved2[0]), "Reserved2", 0}, 1284af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1285af051161SJung-uk Kim }; 1286af051161SJung-uk Kim 1287af051161SJung-uk Kim /* Notification Structure */ 1288af051161SJung-uk Kim 1289d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[] = 1290a9f12690SJung-uk Kim { 1291a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTYP, ACPI_HESTN_OFFSET (Type), "Notify Type", 0}, 1292a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTN_OFFSET (Length), "Notify Length", DT_LENGTH}, 1293a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HESTN_OFFSET (ConfigWriteEnable), "Configuration Write Enable", 0}, 1294a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollInterval), "PollInterval", 0}, 1295a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (Vector), "Vector", 0}, 1296a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollingThresholdValue), "Polling Threshold Value", 0}, 1297a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollingThresholdWindow), "Polling Threshold Window", 0}, 1298a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (ErrorThresholdValue), "Error Threshold Value", 0}, 1299a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (ErrorThresholdWindow), "Error Threshold Window", 0}, 1300a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1301a9f12690SJung-uk Kim }; 1302a9f12690SJung-uk Kim 1303a9f12690SJung-uk Kim 1304d6dd1baeSJung-uk Kim /* 1305d6dd1baeSJung-uk Kim * IA32 Error Bank(s) - Follows the ACPI_HEST_IA_MACHINE_CHECK and 1306d6dd1baeSJung-uk Kim * ACPI_HEST_IA_CORRECTED structures. 1307d6dd1baeSJung-uk Kim */ 1308d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[] = 1309d6dd1baeSJung-uk Kim { 1310a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (BankNumber), "Bank Number", 0}, 1311a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (ClearStatusOnInit), "Clear Status On Init", 0}, 1312a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (StatusFormat), "Status Format", 0}, 1313a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (Reserved), "Reserved", 0}, 1314a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (ControlRegister), "Control Register", 0}, 1315a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HESTB_OFFSET (ControlData), "Control Data", 0}, 1316a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (StatusRegister), "Status Register", 0}, 1317a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (AddressRegister), "Address Register", 0}, 1318a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (MiscRegister), "Misc Register", 0}, 1319a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1320d6dd1baeSJung-uk Kim }; 1321d6dd1baeSJung-uk Kim 1322d6dd1baeSJung-uk Kim 1323a9f12690SJung-uk Kim /******************************************************************************* 1324a9f12690SJung-uk Kim * 13251a39cfb0SJung-uk Kim * HPET - High Precision Event Timer table 13261a39cfb0SJung-uk Kim * 13271a39cfb0SJung-uk Kim ******************************************************************************/ 13281a39cfb0SJung-uk Kim 13291a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[] = 13301a39cfb0SJung-uk Kim { 1331a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HPET_OFFSET (Id), "Hardware Block ID", 0}, 1332a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_HPET_OFFSET (Address), "Timer Block Register", 0}, 1333a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HPET_OFFSET (Sequence), "Sequence Number", 0}, 1334a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HPET_OFFSET (MinimumTick), "Minimum Clock Ticks", 0}, 1335a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HPET_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1336a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HPET_FLAG_OFFSET (Flags,0), "4K Page Protect", 0}, 1337a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_HPET_FLAG_OFFSET (Flags,0), "64K Page Protect", 0}, 1338a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1339d6dd1baeSJung-uk Kim }; 1340d6dd1baeSJung-uk Kim 1341d6dd1baeSJung-uk Kim 1342d6dd1baeSJung-uk Kim /******************************************************************************* 1343d6dd1baeSJung-uk Kim * 1344af051161SJung-uk Kim * HMAT - Heterogeneous Memory Attributes Table 1345af051161SJung-uk Kim * 1346af051161SJung-uk Kim ******************************************************************************/ 1347af051161SJung-uk Kim 1348af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[] = 1349af051161SJung-uk Kim { 1350af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT_OFFSET (Reserved), "Reserved", 0}, 1351af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1352af051161SJung-uk Kim }; 1353af051161SJung-uk Kim 1354af051161SJung-uk Kim /* Common HMAT structure header (one per Subtable) */ 1355af051161SJung-uk Kim 1356af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[] = 1357af051161SJung-uk Kim { 1358af051161SJung-uk Kim {ACPI_DMT_HMAT, ACPI_HMATH_OFFSET (Type), "Structure Type", 0}, 1359af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMATH_OFFSET (Reserved), "Reserved", 0}, 1360af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMATH_OFFSET (Length), "Length", 0}, 1361af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1362af051161SJung-uk Kim }; 1363af051161SJung-uk Kim 1364af051161SJung-uk Kim /* HMAT subtables */ 1365af051161SJung-uk Kim 1366af051161SJung-uk Kim /* 0x00: Memory Subsystem Address Range */ 1367af051161SJung-uk Kim 1368af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[] = 1369af051161SJung-uk Kim { 1370af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMAT0_OFFSET (Flags), "Flags (decoded below)", 0}, 1371af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HMAT0_FLAG_OFFSET (Flags,0), "Processor Proximity Domain Valid", 0}, 1372af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_HMAT0_FLAG_OFFSET (Flags,0), "Memory Proximity Domain Valid", 0}, 1373af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_HMAT0_FLAG_OFFSET (Flags,0), "Reservation Hint", 0}, 1374af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMAT0_OFFSET (Reserved1), "Reserved1", 0}, 1375af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT0_OFFSET (ProcessorPD), "Processor Proximity Domain", 0}, 1376af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT0_OFFSET (MemoryPD), "Memory Proximity Domain", 0}, 1377af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT0_OFFSET (Reserved2), "Reserved2", 0}, 1378af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HMAT0_OFFSET (PhysicalAddressBase), "Physical Address Range Base", 0}, 1379af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HMAT0_OFFSET (PhysicalAddressLength), "Physical Address Range Size", 0}, 1380af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1381af051161SJung-uk Kim }; 1382af051161SJung-uk Kim 1383af051161SJung-uk Kim /* 0x01: System Locality Latency and Bandwidth Information */ 1384af051161SJung-uk Kim 1385af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[] = 1386af051161SJung-uk Kim { 1387af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HMAT1_OFFSET (Flags), "Flags (decoded below)", 0}, 1388af051161SJung-uk Kim {ACPI_DMT_FLAGS4_0, ACPI_HMAT1_FLAG_OFFSET (Flags,0), "Memory Hierarchy", 0}, 1389af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HMAT1_OFFSET (DataType), "Data Type", 0}, 1390af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMAT1_OFFSET (Reserved1), "Reserved1", 0}, 1391af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT1_OFFSET (NumberOfInitiatorPDs), "Initiator Proximity Domains #", 0}, 1392af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT1_OFFSET (NumberOfTargetPDs), "Target Proximity Domains #", 0}, 1393af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT1_OFFSET (Reserved2), "Reserved2", 0}, 1394af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HMAT1_OFFSET (EntryBaseUnit), "Entry Base Unit", 0}, 1395af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1396af051161SJung-uk Kim }; 1397af051161SJung-uk Kim 1398af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[] = 1399af051161SJung-uk Kim { 1400af051161SJung-uk Kim {ACPI_DMT_UINT32, 0, "Initiator Proximity Domain List", DT_OPTIONAL}, 1401af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1402af051161SJung-uk Kim }; 1403af051161SJung-uk Kim 1404af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[] = 1405af051161SJung-uk Kim { 1406af051161SJung-uk Kim {ACPI_DMT_UINT32, 0, "Target Proximity Domain List", DT_OPTIONAL}, 1407af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1408af051161SJung-uk Kim }; 1409af051161SJung-uk Kim 1410af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[] = 1411af051161SJung-uk Kim { 1412af051161SJung-uk Kim {ACPI_DMT_UINT16, 0, "Entry", DT_OPTIONAL}, 1413af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1414af051161SJung-uk Kim }; 1415af051161SJung-uk Kim 1416af051161SJung-uk Kim /* 0x02: Memory Side Cache Information */ 1417af051161SJung-uk Kim 1418af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[] = 1419af051161SJung-uk Kim { 1420af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT2_OFFSET (MemoryPD), "Memory Proximity Domain", 0}, 1421af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT2_OFFSET (Reserved1), "Reserved1", 0}, 1422af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HMAT2_OFFSET (CacheSize), "Memory Side Cache Size", 0}, 1423af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HMAT2_OFFSET (CacheAttributes), "Cache Attributes (decoded below)", 0}, 1424af051161SJung-uk Kim {ACPI_DMT_FLAGS4_0, ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Total Cache Levels", 0}, 1425af051161SJung-uk Kim {ACPI_DMT_FLAGS4_4, ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Level", 0}, 1426af051161SJung-uk Kim {ACPI_DMT_FLAGS4_8, ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Associativity", 0}, 1427af051161SJung-uk Kim {ACPI_DMT_FLAGS4_12, ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Write Policy", 0}, 1428af051161SJung-uk Kim {ACPI_DMT_FLAGS16_16, ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Line Size", 0}, 1429af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMAT2_OFFSET (Reserved2), "Reserved2", 0}, 1430af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HMAT2_OFFSET (NumberOfSMBIOSHandles), "SMBIOS Handle #", 0}, 1431af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1432af051161SJung-uk Kim }; 1433af051161SJung-uk Kim 1434af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[] = 1435af051161SJung-uk Kim { 1436af051161SJung-uk Kim {ACPI_DMT_UINT16, 0, "SMBIOS Handle", DT_OPTIONAL}, 1437af051161SJung-uk Kim ACPI_DMT_TERMINATOR 1438af051161SJung-uk Kim }; 1439af051161SJung-uk Kim 1440af051161SJung-uk Kim 1441af051161SJung-uk Kim /******************************************************************************* 1442af051161SJung-uk Kim * 1443a371a5fdSJung-uk Kim * IORT - IO Remapping Table 1444a371a5fdSJung-uk Kim * 1445a371a5fdSJung-uk Kim ******************************************************************************/ 1446a371a5fdSJung-uk Kim 1447a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort[] = 1448a371a5fdSJung-uk Kim { 1449a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT_OFFSET (NodeCount), "Node Count", 0}, 1450a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT_OFFSET (NodeOffset), "Node Offset", 0}, 1451a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT_OFFSET (Reserved), "Reserved", 0}, 1452a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1453a371a5fdSJung-uk Kim }; 1454a371a5fdSJung-uk Kim 1455a371a5fdSJung-uk Kim /* Optional padding field */ 1456a371a5fdSJung-uk Kim 1457a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[] = 1458a371a5fdSJung-uk Kim { 1459a371a5fdSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "Optional Padding", DT_OPTIONAL}, 1460a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1461a371a5fdSJung-uk Kim }; 1462a371a5fdSJung-uk Kim 1463a371a5fdSJung-uk Kim /* Common Subtable header (one per Subtable) */ 1464a371a5fdSJung-uk Kim 1465a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[] = 1466a371a5fdSJung-uk Kim { 1467a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORTH_OFFSET (Type), "Type", 0}, 1468a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_IORTH_OFFSET (Length), "Length", DT_LENGTH}, 1469a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORTH_OFFSET (Revision), "Revision", 0}, 1470a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTH_OFFSET (Reserved), "Reserved", 0}, 1471a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTH_OFFSET (MappingCount), "Mapping Count", 0}, 1472a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTH_OFFSET (MappingOffset), "Mapping Offset", 0}, 1473a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1474a371a5fdSJung-uk Kim }; 1475a371a5fdSJung-uk Kim 1476a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[] = 1477a371a5fdSJung-uk Kim { 1478a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTM_OFFSET (InputBase), "Input base", DT_OPTIONAL}, 1479a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTM_OFFSET (IdCount), "ID Count", 0}, 1480a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTM_OFFSET (OutputBase), "Output Base", 0}, 1481a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTM_OFFSET (OutputReference), "Output Reference", 0}, 1482a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTM_OFFSET (Flags), "Flags (decoded below)", 0}, 1483a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORTM_FLAG_OFFSET (Flags, 0), "Single Mapping", 0}, 1484a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1485a371a5fdSJung-uk Kim }; 1486a371a5fdSJung-uk Kim 1487a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[] = 1488a371a5fdSJung-uk Kim { 1489a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORTA_OFFSET (CacheCoherency), "Cache Coherency", 0}, 1490a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORTA_OFFSET (Hints), "Hints (decoded below)", 0}, 1491a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORTA_FLAG_OFFSET (Hints, 0), "Transient", 0}, 1492a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_IORTA_FLAG_OFFSET (Hints, 0), "Write Allocate", 0}, 1493a371a5fdSJung-uk Kim {ACPI_DMT_FLAG2, ACPI_IORTA_FLAG_OFFSET (Hints, 0), "Read Allocate", 0}, 1494a371a5fdSJung-uk Kim {ACPI_DMT_FLAG3, ACPI_IORTA_FLAG_OFFSET (Hints, 0), "Override", 0}, 1495a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_IORTA_OFFSET (Reserved), "Reserved", 0}, 1496a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORTA_OFFSET (MemoryFlags), "Memory Flags (decoded below)", 0}, 1497a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0), "Coherency", 0}, 1498a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0), "Device Attribute", 0}, 1499a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1500a371a5fdSJung-uk Kim }; 1501a371a5fdSJung-uk Kim 1502a371a5fdSJung-uk Kim /* IORT subtables */ 1503a371a5fdSJung-uk Kim 1504a371a5fdSJung-uk Kim /* 0x00: ITS Group */ 1505a371a5fdSJung-uk Kim 1506a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[] = 1507a371a5fdSJung-uk Kim { 1508a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT0_OFFSET (ItsCount), "ItsCount", 0}, 1509a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1510a371a5fdSJung-uk Kim }; 1511a371a5fdSJung-uk Kim 1512a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[] = 1513a371a5fdSJung-uk Kim { 1514a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, 0, "Identifiers", DT_OPTIONAL}, 1515a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1516a371a5fdSJung-uk Kim }; 1517a371a5fdSJung-uk Kim 1518a371a5fdSJung-uk Kim /* 0x01: Named Component */ 1519a371a5fdSJung-uk Kim 1520a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[] = 1521a371a5fdSJung-uk Kim { 1522a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT1_OFFSET (NodeFlags), "Node Flags", 0}, 1523a371a5fdSJung-uk Kim {ACPI_DMT_IORTMEM, ACPI_IORT1_OFFSET (MemoryProperties), "Memory Properties", 0}, 1524a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORT1_OFFSET (MemoryAddressLimit), "Memory Size Limit", 0}, 1525a371a5fdSJung-uk Kim {ACPI_DMT_STRING, ACPI_IORT1_OFFSET (DeviceName[0]), "Device Name", 0}, 1526a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1527a371a5fdSJung-uk Kim }; 1528a371a5fdSJung-uk Kim 1529a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[] = 1530a371a5fdSJung-uk Kim { 1531a371a5fdSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "Padding", DT_OPTIONAL}, 1532a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1533a371a5fdSJung-uk Kim }; 1534a371a5fdSJung-uk Kim 1535a371a5fdSJung-uk Kim /* 0x02: PCI Root Complex */ 1536a371a5fdSJung-uk Kim 1537a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[] = 1538a371a5fdSJung-uk Kim { 1539a371a5fdSJung-uk Kim {ACPI_DMT_IORTMEM, ACPI_IORT2_OFFSET (MemoryProperties), "Memory Properties", 0}, 1540a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT2_OFFSET (AtsAttribute), "ATS Attribute", 0}, 1541a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT2_OFFSET (PciSegmentNumber), "PCI Segment Number", 0}, 1542a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1543a371a5fdSJung-uk Kim }; 1544a371a5fdSJung-uk Kim 1545a371a5fdSJung-uk Kim /* 0x03: SMMUv1/2 */ 1546a371a5fdSJung-uk Kim 1547a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[] = 1548a371a5fdSJung-uk Kim { 1549a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_IORT3_OFFSET (BaseAddress), "Base Address", 0}, 1550a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_IORT3_OFFSET (Span), "Span", 0}, 1551a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (Model), "Model", 0}, 1552a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (Flags), "Flags (decoded below)", 0}, 1553a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORT3_FLAG_OFFSET (Flags, 0), "DVM Supported", 0}, 1554a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_IORT3_FLAG_OFFSET (Flags, 0), "Coherent Walk", 0}, 1555a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (GlobalInterruptOffset), "Global Interrupt Offset", 0}, 1556a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (ContextInterruptCount), "Context Interrupt Count", 0}, 1557a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (ContextInterruptOffset), "Context Interrupt Offset", 0}, 1558a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (PmuInterruptCount), "PMU Interrupt Count", 0}, 1559a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3_OFFSET (PmuInterruptOffset), "PMU Interrupt Offset", 0}, 1560a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1561a371a5fdSJung-uk Kim }; 1562a371a5fdSJung-uk Kim 1563a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[] = 1564a371a5fdSJung-uk Kim { 15650d84335fSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3A_OFFSET (NSgIrpt), "NSgIrpt", 0}, 15660d84335fSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3A_OFFSET (NSgIrptFlags), "NSgIrpt Flags (decoded below)", 0}, 15670d84335fSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORT3a_FLAG_OFFSET (NSgIrptFlags, 0), "Edge Triggered", 0}, 15680d84335fSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3A_OFFSET (NSgCfgIrpt), "NSgCfgIrpt", 0}, 15690d84335fSJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT3A_OFFSET (NSgCfgIrptFlags), "NSgCfgIrpt Flags (decoded below)", 0}, 15700d84335fSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORT3a_FLAG_OFFSET (NSgCfgIrptFlags, 0), "Edge Triggered", 0}, 1571a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1572a371a5fdSJung-uk Kim }; 1573a371a5fdSJung-uk Kim 1574a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[] = 1575a371a5fdSJung-uk Kim { 1576a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, 0, "Context Interrupt", DT_OPTIONAL}, 1577a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1578a371a5fdSJung-uk Kim }; 1579a371a5fdSJung-uk Kim 1580a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[] = 1581a371a5fdSJung-uk Kim { 1582a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, 0, "PMU Interrupt", DT_OPTIONAL}, 1583a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1584a371a5fdSJung-uk Kim }; 1585a371a5fdSJung-uk Kim 1586f8146b88SJung-uk Kim /* 0x04: SMMUv3 */ 1587f8146b88SJung-uk Kim 1588f8146b88SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[] = 1589f8146b88SJung-uk Kim { 1590f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IORT4_OFFSET (BaseAddress), "Base Address", 0}, 1591f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (Flags), "Flags (decoded below)", 0}, 1592f8146b88SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "COHACC Override", 0}, 1593f8146b88SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "HTTU Override", 0}, 15945f9b24faSJung-uk Kim {ACPI_DMT_FLAG3, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "Proximity Domain Valid", 0}, 1595f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (Reserved), "Reserved", 0}, 1596f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IORT4_OFFSET (VatosAddress), "VATOS Address", 0}, 1597f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (Model), "Model", 0}, 1598f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (EventGsiv), "Event GSIV", 0}, 1599f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (PriGsiv), "PRI GSIV", 0}, 1600f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (GerrGsiv), "GERR GSIV", 0}, 1601f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (SyncGsiv), "Sync GSIV", 0}, 16025f9b24faSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORT4_OFFSET (Pxm), "Proximity Domain", 0}, 16035f9b24faSJung-uk Kim {ACPI_DMT_UINT8, ACPI_IORT4_OFFSET (Reserved1), "Reserved", 0}, 16045f9b24faSJung-uk Kim {ACPI_DMT_UINT16, ACPI_IORT4_OFFSET (Reserved2), "Reserved", 0}, 1605b7b7e711SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (IdMappingIndex), "Device ID Mapping Index", 0}, 1606f8146b88SJung-uk Kim ACPI_DMT_TERMINATOR 1607f8146b88SJung-uk Kim }; 1608a371a5fdSJung-uk Kim 160967d9aa44SJung-uk Kim 1610a371a5fdSJung-uk Kim /******************************************************************************* 1611a371a5fdSJung-uk Kim * 1612d6dd1baeSJung-uk Kim * IVRS - I/O Virtualization Reporting Structure 1613d6dd1baeSJung-uk Kim * 1614d6dd1baeSJung-uk Kim ******************************************************************************/ 1615d6dd1baeSJung-uk Kim 1616d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[] = 1617d6dd1baeSJung-uk Kim { 1618a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS_OFFSET (Info), "Virtualization Info", 0}, 1619a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS_OFFSET (Reserved), "Reserved", 0}, 1620a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1621d6dd1baeSJung-uk Kim }; 1622d6dd1baeSJung-uk Kim 1623d6dd1baeSJung-uk Kim /* Common Subtable header (one per Subtable) */ 1624d6dd1baeSJung-uk Kim 1625d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[] = 1626d6dd1baeSJung-uk Kim { 1627a88e22b7SJung-uk Kim {ACPI_DMT_IVRS, ACPI_IVRSH_OFFSET (Type), "Subtable Type", 0}, 1628a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSH_OFFSET (Flags), "Flags", 0}, 1629a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSH_OFFSET (Length), "Length", DT_LENGTH}, 1630a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSH_OFFSET (DeviceId), "DeviceId", 0}, 1631a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1632d6dd1baeSJung-uk Kim }; 1633d6dd1baeSJung-uk Kim 1634d6dd1baeSJung-uk Kim /* IVRS subtables */ 1635d6dd1baeSJung-uk Kim 1636d6dd1baeSJung-uk Kim /* 0x10: I/O Virtualization Hardware Definition (IVHD) Block */ 1637d6dd1baeSJung-uk Kim 1638d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[] = 1639d6dd1baeSJung-uk Kim { 1640a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (CapabilityOffset), "Capability Offset", 0}, 1641a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS0_OFFSET (BaseAddress), "Base Address", 0}, 1642a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (PciSegmentGroup), "PCI Segment Group", 0}, 1643a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (Info), "Virtualization Info", 0}, 1644a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS0_OFFSET (Reserved), "Reserved", 0}, 1645a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1646d6dd1baeSJung-uk Kim }; 1647d6dd1baeSJung-uk Kim 1648d6dd1baeSJung-uk Kim /* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition (IVMD) Block */ 1649d6dd1baeSJung-uk Kim 1650d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[] = 1651d6dd1baeSJung-uk Kim { 1652a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS1_OFFSET (AuxData), "Auxiliary Data", 0}, 1653a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (Reserved), "Reserved", 0}, 1654a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (StartAddress), "Start Address", 0}, 1655a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (MemoryLength), "Memory Length", 0}, 1656a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1657d6dd1baeSJung-uk Kim }; 1658d6dd1baeSJung-uk Kim 1659d6dd1baeSJung-uk Kim /* Device entry header for IVHD block */ 1660d6dd1baeSJung-uk Kim 1661d6dd1baeSJung-uk Kim #define ACPI_DMT_IVRS_DE_HEADER \ 1662a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSD_OFFSET (Type), "Entry Type", 0}, \ 1663a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSD_OFFSET (Id), "Device ID", 0}, \ 1664a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSD_OFFSET (DataSetting), "Data Setting", 0} 1665d6dd1baeSJung-uk Kim 1666d6dd1baeSJung-uk Kim /* 4-byte device entry */ 1667d6dd1baeSJung-uk Kim 1668d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[] = 1669d6dd1baeSJung-uk Kim { 1670d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1671a88e22b7SJung-uk Kim {ACPI_DMT_EXIT, 0, NULL, 0}, 1672d6dd1baeSJung-uk Kim }; 1673d6dd1baeSJung-uk Kim 1674d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1675d6dd1baeSJung-uk Kim 1676d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[] = 1677d6dd1baeSJung-uk Kim { 1678d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1679a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8A_OFFSET (Reserved1), "Reserved", 0}, 1680a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS8A_OFFSET (UsedId), "Source Used Device ID", 0}, 1681a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8A_OFFSET (Reserved2), "Reserved", 0}, 1682a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1683d6dd1baeSJung-uk Kim }; 1684d6dd1baeSJung-uk Kim 1685d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1686d6dd1baeSJung-uk Kim 1687d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[] = 1688d6dd1baeSJung-uk Kim { 1689d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1690a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS8B_OFFSET (ExtendedData), "Extended Data", 0}, 1691a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1692d6dd1baeSJung-uk Kim }; 1693d6dd1baeSJung-uk Kim 1694d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1695d6dd1baeSJung-uk Kim 1696d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[] = 1697d6dd1baeSJung-uk Kim { 1698d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1699a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8C_OFFSET (Handle), "Handle", 0}, 1700a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS8C_OFFSET (UsedId), "Source Used Device ID", 0}, 1701a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8C_OFFSET (Variety), "Variety", 0}, 1702a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 17031a39cfb0SJung-uk Kim }; 17041a39cfb0SJung-uk Kim 17051a39cfb0SJung-uk Kim 17061a39cfb0SJung-uk Kim /******************************************************************************* 17071a39cfb0SJung-uk Kim * 1708313a0c13SJung-uk Kim * LPIT - Low Power Idle Table 1709313a0c13SJung-uk Kim * 1710313a0c13SJung-uk Kim ******************************************************************************/ 1711313a0c13SJung-uk Kim 1712313a0c13SJung-uk Kim /* Main table consists only of the standard ACPI table header */ 1713313a0c13SJung-uk Kim 1714313a0c13SJung-uk Kim /* Common Subtable header (one per Subtable) */ 1715313a0c13SJung-uk Kim 1716313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[] = 1717313a0c13SJung-uk Kim { 1718313a0c13SJung-uk Kim {ACPI_DMT_LPIT, ACPI_LPITH_OFFSET (Type), "Subtable Type", 0}, 1719313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPITH_OFFSET (Length), "Length", DT_LENGTH}, 1720313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_LPITH_OFFSET (UniqueId), "Unique ID", 0}, 1721313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_LPITH_OFFSET (Reserved), "Reserved", 0}, 1722313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPITH_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1723313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_LPITH_FLAG_OFFSET (Flags, 0), "State Disabled", 0}, 1724313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_LPITH_FLAG_OFFSET (Flags, 0), "No Counter", 0}, 1725313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1726313a0c13SJung-uk Kim }; 1727313a0c13SJung-uk Kim 1728313a0c13SJung-uk Kim /* LPIT Subtables */ 1729313a0c13SJung-uk Kim 1730313a0c13SJung-uk Kim /* 0: Native C-state */ 1731313a0c13SJung-uk Kim 1732313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[] = 1733313a0c13SJung-uk Kim { 1734313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT0_OFFSET (EntryTrigger), "Entry Trigger", 0}, 1735313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT0_OFFSET (Residency), "Residency", 0}, 1736313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT0_OFFSET (Latency), "Latency", 0}, 1737313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT0_OFFSET (ResidencyCounter), "Residency Counter", 0}, 1738313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_LPIT0_OFFSET (CounterFrequency), "Counter Frequency", 0}, 1739313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1740313a0c13SJung-uk Kim }; 1741313a0c13SJung-uk Kim 1742313a0c13SJung-uk Kim 1743313a0c13SJung-uk Kim /******************************************************************************* 1744313a0c13SJung-uk Kim * 17451a39cfb0SJung-uk Kim * MADT - Multiple APIC Description Table and subtables 17461a39cfb0SJung-uk Kim * 17471a39cfb0SJung-uk Kim ******************************************************************************/ 17481a39cfb0SJung-uk Kim 17491a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[] = 17501a39cfb0SJung-uk Kim { 1751a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT_OFFSET (Address), "Local Apic Address", 0}, 1752a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1753a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT_FLAG_OFFSET (Flags,0), "PC-AT Compatibility", 0}, 1754a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 17551a39cfb0SJung-uk Kim }; 17561a39cfb0SJung-uk Kim 1757a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 17581a39cfb0SJung-uk Kim 17591a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[] = 17601a39cfb0SJung-uk Kim { 1761a88e22b7SJung-uk Kim {ACPI_DMT_MADT, ACPI_MADTH_OFFSET (Type), "Subtable Type", 0}, 1762a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADTH_OFFSET (Length), "Length", DT_LENGTH}, 1763a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 17641a39cfb0SJung-uk Kim }; 17651a39cfb0SJung-uk Kim 1766a9f12690SJung-uk Kim /* MADT Subtables */ 17671a39cfb0SJung-uk Kim 17681a39cfb0SJung-uk Kim /* 0: processor APIC */ 17691a39cfb0SJung-uk Kim 17701a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[] = 17711a39cfb0SJung-uk Kim { 1772a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT0_OFFSET (ProcessorId), "Processor ID", 0}, 1773a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT0_OFFSET (Id), "Local Apic ID", 0}, 1774a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT0_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1775a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT0_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1776a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 17771a39cfb0SJung-uk Kim }; 17781a39cfb0SJung-uk Kim 17791a39cfb0SJung-uk Kim /* 1: IO APIC */ 17801a39cfb0SJung-uk Kim 17811a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[] = 17821a39cfb0SJung-uk Kim { 1783a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT1_OFFSET (Id), "I/O Apic ID", 0}, 1784a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT1_OFFSET (Reserved), "Reserved", 0}, 1785a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT1_OFFSET (Address), "Address", 0}, 1786a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT1_OFFSET (GlobalIrqBase), "Interrupt", 0}, 1787a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 17881a39cfb0SJung-uk Kim }; 17891a39cfb0SJung-uk Kim 17901a39cfb0SJung-uk Kim /* 2: Interrupt Override */ 17911a39cfb0SJung-uk Kim 17921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[] = 17931a39cfb0SJung-uk Kim { 1794a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT2_OFFSET (Bus), "Bus", 0}, 1795a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT2_OFFSET (SourceIrq), "Source", 0}, 1796a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT2_OFFSET (GlobalIrq), "Interrupt", 0}, 1797a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT2_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1798a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT2_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1799a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT2_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1800a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18011a39cfb0SJung-uk Kim }; 18021a39cfb0SJung-uk Kim 18031a39cfb0SJung-uk Kim /* 3: NMI Sources */ 18041a39cfb0SJung-uk Kim 18051a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[] = 18061a39cfb0SJung-uk Kim { 1807a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT3_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1808a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT3_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1809a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT3_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1810a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT3_OFFSET (GlobalIrq), "Interrupt", 0}, 1811a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18121a39cfb0SJung-uk Kim }; 18131a39cfb0SJung-uk Kim 18141a39cfb0SJung-uk Kim /* 4: Local APIC NMI */ 18151a39cfb0SJung-uk Kim 18161a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[] = 18171a39cfb0SJung-uk Kim { 1818a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT4_OFFSET (ProcessorId), "Processor ID", 0}, 1819a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT4_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1820a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT4_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1821a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT4_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1822a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT4_OFFSET (Lint), "Interrupt Input LINT", 0}, 1823a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18241a39cfb0SJung-uk Kim }; 18251a39cfb0SJung-uk Kim 18261a39cfb0SJung-uk Kim /* 5: Address Override */ 18271a39cfb0SJung-uk Kim 18281a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[] = 18291a39cfb0SJung-uk Kim { 1830a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT5_OFFSET (Reserved), "Reserved", 0}, 1831a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT5_OFFSET (Address), "APIC Address", 0}, 1832a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18331a39cfb0SJung-uk Kim }; 18341a39cfb0SJung-uk Kim 18351a39cfb0SJung-uk Kim /* 6: I/O Sapic */ 18361a39cfb0SJung-uk Kim 18371a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[] = 18381a39cfb0SJung-uk Kim { 1839a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT6_OFFSET (Id), "I/O Sapic ID", 0}, 1840a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT6_OFFSET (Reserved), "Reserved", 0}, 1841a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT6_OFFSET (GlobalIrqBase), "Interrupt Base", 0}, 1842a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT6_OFFSET (Address), "Address", 0}, 1843a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18441a39cfb0SJung-uk Kim }; 18451a39cfb0SJung-uk Kim 18461a39cfb0SJung-uk Kim /* 7: Local Sapic */ 18471a39cfb0SJung-uk Kim 18481a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[] = 18491a39cfb0SJung-uk Kim { 1850a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (ProcessorId), "Processor ID", 0}, 1851a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (Id), "Local Sapic ID", 0}, 1852a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (Eid), "Local Sapic EID", 0}, 1853a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT7_OFFSET (Reserved[0]), "Reserved", 0}, 1854a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT7_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1855a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT7_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1856a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT7_OFFSET (Uid), "Processor UID", 0}, 1857a88e22b7SJung-uk Kim {ACPI_DMT_STRING, ACPI_MADT7_OFFSET (UidString[0]), "Processor UID String", 0}, 1858a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18591a39cfb0SJung-uk Kim }; 18601a39cfb0SJung-uk Kim 18611a39cfb0SJung-uk Kim /* 8: Platform Interrupt Source */ 18621a39cfb0SJung-uk Kim 18631a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[] = 18641a39cfb0SJung-uk Kim { 1865a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT8_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1866a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT8_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1867a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT8_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1868a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Type), "InterruptType", 0}, 1869a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Id), "Processor ID", 0}, 1870a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Eid), "Processor EID", 0}, 1871a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (IoSapicVector), "I/O Sapic Vector", 0}, 1872a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT8_OFFSET (GlobalIrq), "Interrupt", 0}, 1873a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT8_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1874a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT8_OFFSET (Flags), "CPEI Override", 0}, 1875a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 18761a39cfb0SJung-uk Kim }; 18771a39cfb0SJung-uk Kim 1878d6dd1baeSJung-uk Kim /* 9: Processor Local X2_APIC (ACPI 4.0) */ 1879a9f12690SJung-uk Kim 1880a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[] = 1881a9f12690SJung-uk Kim { 1882a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT9_OFFSET (Reserved), "Reserved", 0}, 1883a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (LocalApicId), "Processor x2Apic ID", 0}, 1884a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1885a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT9_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1886a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (Uid), "Processor UID", 0}, 1887a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1888a9f12690SJung-uk Kim }; 1889a9f12690SJung-uk Kim 1890d6dd1baeSJung-uk Kim /* 10: Local X2_APIC NMI (ACPI 4.0) */ 1891a9f12690SJung-uk Kim 1892a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[] = 1893a9f12690SJung-uk Kim { 1894a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT10_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1895a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT10_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1896a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT10_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1897a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT10_OFFSET (Uid), "Processor UID", 0}, 1898a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT10_OFFSET (Lint), "Interrupt Input LINT", 0}, 1899a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT10_OFFSET (Reserved[0]), "Reserved", 0}, 1900a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1901a9f12690SJung-uk Kim }; 1902a9f12690SJung-uk Kim 19033f0275a0SJung-uk Kim /* 11: Generic Interrupt Controller (ACPI 5.0) */ 19043f0275a0SJung-uk Kim 19053f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[] = 19063f0275a0SJung-uk Kim { 19073f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (Reserved), "Reserved", 0}, 1908313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (CpuInterfaceNumber), "CPU Interface Number", 0}, 19093f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (Uid), "Processor UID", 0}, 19103f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 19113f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Processor Enabled", 0}, 1912313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Performance Interrupt Trigger Mode", 0}, 1913313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Virtual GIC Interrupt Trigger Mode", 0}, 19143f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (ParkingVersion), "Parking Protocol Version", 0}, 19153f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (PerformanceInterrupt), "Performance Interrupt", 0}, 19163f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (ParkedAddress), "Parked Address", 0}, 19173f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (BaseAddress), "Base Address", 0}, 1918313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GicvBaseAddress), "Virtual GIC Base Address", 0}, 1919313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GichBaseAddress), "Hypervisor GIC Base Address", 0}, 1920313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (VgicInterrupt), "Virtual GIC Interrupt", 0}, 1921313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GicrBaseAddress), "Redistributor Base Address", 0}, 1922313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (ArmMpidr), "ARM MPIDR", 0}, 1923a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT11_OFFSET (EfficiencyClass), "Efficiency Class", 0}, 1924a371a5fdSJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT11_OFFSET (Reserved2[0]), "Reserved", 0}, 19253f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19263f0275a0SJung-uk Kim }; 19273f0275a0SJung-uk Kim 19283f0275a0SJung-uk Kim /* 12: Generic Interrupt Distributor (ACPI 5.0) */ 19293f0275a0SJung-uk Kim 19303f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[] = 19313f0275a0SJung-uk Kim { 19323f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT12_OFFSET (Reserved), "Reserved", 0}, 19333f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT12_OFFSET (GicId), "Local GIC Hardware ID", 0}, 19343f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT12_OFFSET (BaseAddress), "Base Address", 0}, 19353f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT12_OFFSET (GlobalIrqBase), "Interrupt Base", 0}, 1936a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT12_OFFSET (Version), "Version", 0}, 1937a371a5fdSJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT12_OFFSET (Reserved2[0]), "Reserved", 0}, 19383f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19393f0275a0SJung-uk Kim }; 19403f0275a0SJung-uk Kim 1941313a0c13SJung-uk Kim /* 13: Generic MSI Frame (ACPI 5.1) */ 1942313a0c13SJung-uk Kim 1943313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[] = 1944313a0c13SJung-uk Kim { 1945313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (Reserved), "Reserved", 0}, 1946313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT13_OFFSET (MsiFrameId), "MSI Frame ID", 0}, 1947313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT13_OFFSET (BaseAddress), "Base Address", 0}, 1948313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT13_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1949313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT13_FLAG_OFFSET (Flags,0), "Select SPI", 0}, 1950313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (SpiCount), "SPI Count", 0}, 1951313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (SpiBase), "SPI Base", 0}, 1952313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1953313a0c13SJung-uk Kim }; 1954313a0c13SJung-uk Kim 1955313a0c13SJung-uk Kim /* 14: Generic Redistributor (ACPI 5.1) */ 1956313a0c13SJung-uk Kim 1957313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[] = 1958313a0c13SJung-uk Kim { 1959313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT14_OFFSET (Reserved), "Reserved", 0}, 1960313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT14_OFFSET (BaseAddress), "Base Address", 0}, 1961313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT14_OFFSET (Length), "Length", 0}, 1962313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1963313a0c13SJung-uk Kim }; 1964313a0c13SJung-uk Kim 1965a371a5fdSJung-uk Kim /* 15: Generic Translator (ACPI 6.0) */ 1966a371a5fdSJung-uk Kim 1967a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[] = 1968a371a5fdSJung-uk Kim { 1969a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT15_OFFSET (Reserved), "Reserved", 0}, 1970a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT15_OFFSET (TranslationId), "Translation ID", 0}, 1971a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT15_OFFSET (BaseAddress), "Base Address", 0}, 1972a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT15_OFFSET (Reserved2), "Reserved", 0}, 1973a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 1974a371a5fdSJung-uk Kim }; 19751a39cfb0SJung-uk Kim 197667d9aa44SJung-uk Kim 19771a39cfb0SJung-uk Kim /******************************************************************************* 19781a39cfb0SJung-uk Kim * 1979a9f12690SJung-uk Kim * MCFG - PCI Memory Mapped Configuration table and Subtable 19801a39cfb0SJung-uk Kim * 19811a39cfb0SJung-uk Kim ******************************************************************************/ 19821a39cfb0SJung-uk Kim 19831a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[] = 19841a39cfb0SJung-uk Kim { 1985a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCFG_OFFSET (Reserved[0]), "Reserved", 0}, 1986a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 19871a39cfb0SJung-uk Kim }; 19881a39cfb0SJung-uk Kim 19891a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[] = 19901a39cfb0SJung-uk Kim { 1991a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCFG0_OFFSET (Address), "Base Address", 0}, 1992a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MCFG0_OFFSET (PciSegment), "Segment Group Number", 0}, 1993a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCFG0_OFFSET (StartBusNumber), "Start Bus Number", 0}, 1994a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCFG0_OFFSET (EndBusNumber), "End Bus Number", 0}, 1995a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MCFG0_OFFSET (Reserved), "Reserved", 0}, 1996a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 19971a39cfb0SJung-uk Kim }; 19981a39cfb0SJung-uk Kim 19991a39cfb0SJung-uk Kim 20001a39cfb0SJung-uk Kim /******************************************************************************* 20011a39cfb0SJung-uk Kim * 2002ca3cf4faSJung-uk Kim * MCHI - Management Controller Host Interface table 2003ca3cf4faSJung-uk Kim * 2004ca3cf4faSJung-uk Kim ******************************************************************************/ 2005ca3cf4faSJung-uk Kim 2006ca3cf4faSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[] = 2007ca3cf4faSJung-uk Kim { 2008a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (InterfaceType), "Interface Type", 0}, 2009a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (Protocol), "Protocol", 0}, 2010a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCHI_OFFSET (ProtocolData), "Protocol Data", 0}, 2011a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (InterruptType), "Interrupt Type", 0}, 2012a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (Gpe), "Gpe", 0}, 2013a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciDeviceFlag), "Pci Device Flag", 0}, 2014a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MCHI_OFFSET (GlobalInterrupt), "Global Interrupt", 0}, 2015a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_MCHI_OFFSET (ControlRegister), "Control Register", 0}, 2016a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciSegment), "Pci Segment", 0}, 2017a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciBus), "Pci Bus", 0}, 2018a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciDevice), "Pci Device", 0}, 2019a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciFunction), "Pci Function", 0}, 2020a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2021ca3cf4faSJung-uk Kim }; 2022ca3cf4faSJung-uk Kim 2023ca3cf4faSJung-uk Kim 2024ca3cf4faSJung-uk Kim /******************************************************************************* 2025ca3cf4faSJung-uk Kim * 20263f0275a0SJung-uk Kim * MPST - Memory Power State Table 20273f0275a0SJung-uk Kim * 20283f0275a0SJung-uk Kim ******************************************************************************/ 20293f0275a0SJung-uk Kim 20303f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[] = 20313f0275a0SJung-uk Kim { 20323f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST_OFFSET (ChannelId), "Channel ID", 0}, 20338ef1a331SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MPST_OFFSET (Reserved1[0]), "Reserved", 0}, 20343f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST_OFFSET (PowerNodeCount), "Power Node Count", 0}, 20358ef1a331SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST_OFFSET (Reserved2), "Reserved", 0}, 20363f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20373f0275a0SJung-uk Kim }; 20383f0275a0SJung-uk Kim 20393f0275a0SJung-uk Kim /* MPST subtables */ 20403f0275a0SJung-uk Kim 20413f0275a0SJung-uk Kim /* 0: Memory Power Node Structure */ 20423f0275a0SJung-uk Kim 20433f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[] = 20443f0275a0SJung-uk Kim { 20453f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 20463f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Node Enabled", 0}, 20473f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Power Managed", 0}, 20483f0275a0SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Hot Plug Capable", 0}, 20493f0275a0SJung-uk Kim 20503f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (Reserved1), "Reserved", 0}, 20513f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST0_OFFSET (NodeId), "Node ID", 0}, 20528ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (Length), "Length", 0}, 20533f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeAddress), "Range Address", 0}, 20543f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeLength), "Range Length", 0}, 20558ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPowerStates), "Num Power States", 0}, 20568ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPhysicalComponents), "Num Physical Components", 0}, 20573f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20583f0275a0SJung-uk Kim }; 20593f0275a0SJung-uk Kim 20603f0275a0SJung-uk Kim /* 0A: Sub-subtable - Memory Power State Structure (follows Memory Power Node above) */ 20613f0275a0SJung-uk Kim 20623f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[] = 20633f0275a0SJung-uk Kim { 20643f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0A_OFFSET (PowerState), "Power State", 0}, 20653f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0A_OFFSET (InfoIndex), "InfoIndex", 0}, 20663f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20673f0275a0SJung-uk Kim }; 20683f0275a0SJung-uk Kim 20693f0275a0SJung-uk Kim /* 0B: Sub-subtable - Physical Component ID Structure (follows Memory Power State(s) above) */ 20703f0275a0SJung-uk Kim 20713f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[] = 20723f0275a0SJung-uk Kim { 20733f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST0B_OFFSET (ComponentId), "Component Id", 0}, 20743f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20753f0275a0SJung-uk Kim }; 20763f0275a0SJung-uk Kim 20773f0275a0SJung-uk Kim /* 01: Power Characteristics Count (follows all Power Node(s) above) */ 20783f0275a0SJung-uk Kim 20793f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[] = 20803f0275a0SJung-uk Kim { 20813f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (CharacteristicsCount), "Characteristics Count", 0}, 20828ef1a331SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (Reserved), "Reserved", 0}, 20833f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20843f0275a0SJung-uk Kim }; 20853f0275a0SJung-uk Kim 20863f0275a0SJung-uk Kim /* 02: Memory Power State Characteristics Structure */ 20873f0275a0SJung-uk Kim 20883f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[] = 20893f0275a0SJung-uk Kim { 20908ef1a331SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (StructureId), "Structure ID", 0}, 20913f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 20923f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Memory Preserved", 0}, 20933f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Auto Entry", 0}, 20943f0275a0SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Auto Exit", 0}, 20953f0275a0SJung-uk Kim 20963f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST2_OFFSET (Reserved1), "Reserved", 0}, 20973f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST2_OFFSET (AveragePower), "Average Power", 0}, 20983f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST2_OFFSET (PowerSaving), "Power Saving", 0}, 20993f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST2_OFFSET (ExitLatency), "Exit Latency", 0}, 21003f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST2_OFFSET (Reserved2), "Reserved", 0}, 21013f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 21023f0275a0SJung-uk Kim }; 21033f0275a0SJung-uk Kim 21043f0275a0SJung-uk Kim 21053f0275a0SJung-uk Kim /******************************************************************************* 21063f0275a0SJung-uk Kim * 2107d6dd1baeSJung-uk Kim * MSCT - Maximum System Characteristics Table (ACPI 4.0) 2108d6dd1baeSJung-uk Kim * 2109d6dd1baeSJung-uk Kim ******************************************************************************/ 2110d6dd1baeSJung-uk Kim 2111d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[] = 2112d6dd1baeSJung-uk Kim { 2113a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (ProximityOffset), "Proximity Offset", 0}, 2114a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (MaxProximityDomains), "Max Proximity Domains", 0}, 2115a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (MaxClockDomains), "Max Clock Domains", 0}, 2116a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MSCT_OFFSET (MaxAddress), "Max Physical Address", 0}, 2117a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2118d6dd1baeSJung-uk Kim }; 2119d6dd1baeSJung-uk Kim 2120d6dd1baeSJung-uk Kim /* Subtable - Maximum Proximity Domain Information. Version 1 */ 2121d6dd1baeSJung-uk Kim 2122d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[] = 2123d6dd1baeSJung-uk Kim { 2124a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MSCT0_OFFSET (Revision), "Revision", 0}, 2125a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MSCT0_OFFSET (Length), "Length", DT_LENGTH}, 2126a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (RangeStart), "Domain Range Start", 0}, 2127a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (RangeEnd), "Domain Range End", 0}, 2128a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (ProcessorCapacity), "Processor Capacity", 0}, 2129a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MSCT0_OFFSET (MemoryCapacity), "Memory Capacity", 0}, 2130a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2131d6dd1baeSJung-uk Kim }; 2132d6dd1baeSJung-uk Kim 2133d6dd1baeSJung-uk Kim 2134d6dd1baeSJung-uk Kim /******************************************************************************* 2135d6dd1baeSJung-uk Kim * 21369c48c75eSJung-uk Kim * MTMR - MID Timer Table 21379c48c75eSJung-uk Kim * 21389c48c75eSJung-uk Kim ******************************************************************************/ 21399c48c75eSJung-uk Kim 21409c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[] = 21419c48c75eSJung-uk Kim { 21429c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 21439c48c75eSJung-uk Kim }; 21449c48c75eSJung-uk Kim 21459c48c75eSJung-uk Kim /* MTMR Subtables - MTMR Entry */ 21469c48c75eSJung-uk Kim 21479c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[] = 21489c48c75eSJung-uk Kim { 21499c48c75eSJung-uk Kim {ACPI_DMT_GAS, ACPI_MTMR0_OFFSET (PhysicalAddress), "PhysicalAddress", 0}, 21509c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Frequency), "Frequency", 0}, 21519c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Irq), "IRQ", 0}, 21529c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 21539c48c75eSJung-uk Kim }; 21549c48c75eSJung-uk Kim 21559c48c75eSJung-uk Kim 21569c48c75eSJung-uk Kim /******************************************************************************* 21579c48c75eSJung-uk Kim * 2158a371a5fdSJung-uk Kim * NFIT - NVDIMM Firmware Interface Table and Subtables - (ACPI 6.0) 2159a371a5fdSJung-uk Kim * 2160a371a5fdSJung-uk Kim ******************************************************************************/ 2161a371a5fdSJung-uk Kim 2162a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[] = 2163a371a5fdSJung-uk Kim { 2164a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT_OFFSET (Reserved), "Reserved", 0}, 2165a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2166a371a5fdSJung-uk Kim }; 2167a371a5fdSJung-uk Kim 2168a371a5fdSJung-uk Kim /* Common Subtable header */ 2169a371a5fdSJung-uk Kim 2170a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[] = 2171a371a5fdSJung-uk Kim { 2172a371a5fdSJung-uk Kim {ACPI_DMT_NFIT, ACPI_NFITH_OFFSET (Type), "Subtable Type", 0}, 2173a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFITH_OFFSET (Length), "Length", DT_LENGTH}, 2174a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2175a371a5fdSJung-uk Kim }; 2176a371a5fdSJung-uk Kim 2177a371a5fdSJung-uk Kim /* 0: System Physical Address Range Structure */ 2178a371a5fdSJung-uk Kim 2179a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[] = 2180a371a5fdSJung-uk Kim { 2181a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT0_OFFSET (RangeIndex), "Range Index", 0}, 2182a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2183a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_NFIT0_FLAG_OFFSET (Flags,0), "Add/Online Operation Only", 0}, 2184a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_NFIT0_FLAG_OFFSET (Flags,0), "Proximity Domain Valid", 0}, 2185a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT0_OFFSET (Reserved), "Reserved", 0}, 2186a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT0_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2187a371a5fdSJung-uk Kim {ACPI_DMT_UUID, ACPI_NFIT0_OFFSET (RangeGuid[0]), "Address Range GUID", 0}, 2188a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT0_OFFSET (Address), "Address Range Base", 0}, 2189a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT0_OFFSET (Length), "Address Range Length", 0}, 2190a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT0_OFFSET (MemoryMapping), "Memory Map Attribute", 0}, 2191a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2192a371a5fdSJung-uk Kim }; 2193a371a5fdSJung-uk Kim 2194a371a5fdSJung-uk Kim /* 1: Memory Device to System Address Range Map Structure */ 2195a371a5fdSJung-uk Kim 2196a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[] = 2197a371a5fdSJung-uk Kim { 2198a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT1_OFFSET (DeviceHandle), "Device Handle", 0}, 2199a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (PhysicalId), "Physical Id", 0}, 2200a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (RegionId), "Region Id", 0}, 2201a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (RangeIndex), "Range Index", 0}, 2202a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (RegionIndex), "Control Region Index", 0}, 2203a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT1_OFFSET (RegionSize), "Region Size", 0}, 2204a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT1_OFFSET (RegionOffset), "Region Offset", 0}, 2205a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT1_OFFSET (Address), "Address Region Base", 0}, 2206a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (InterleaveIndex), "Interleave Index", 0}, 2207a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (InterleaveWays), "Interleave Ways", 0}, 2208a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (Flags), "Flags", DT_FLAG}, 2209a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Save to device failed", 0}, 2210a371a5fdSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Restore from device failed", 0}, 2211a371a5fdSJung-uk Kim {ACPI_DMT_FLAG2, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Platform flush failed", 0}, 2212a371a5fdSJung-uk Kim {ACPI_DMT_FLAG3, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Device not armed", 0}, 2213a371a5fdSJung-uk Kim {ACPI_DMT_FLAG4, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Health events observed", 0}, 2214a371a5fdSJung-uk Kim {ACPI_DMT_FLAG5, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Health events enabled", 0}, 2215f8146b88SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_NFIT1_FLAG_OFFSET (Flags,0), "Mapping failed", 0}, 2216a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT1_OFFSET (Reserved), "Reserved", 0}, 2217a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2218a371a5fdSJung-uk Kim }; 2219a371a5fdSJung-uk Kim 2220a371a5fdSJung-uk Kim /* 2: Interleave Structure */ 2221a371a5fdSJung-uk Kim 2222a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[] = 2223a371a5fdSJung-uk Kim { 2224a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT2_OFFSET (InterleaveIndex), "Interleave Index", 0}, 2225a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT2_OFFSET (Reserved), "Reserved", 0}, 2226a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT2_OFFSET (LineCount), "Line Count", 0}, 2227a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT2_OFFSET (LineSize), "Line Size", 0}, 2228a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2229a371a5fdSJung-uk Kim }; 2230a371a5fdSJung-uk Kim 2231a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[] = 2232a371a5fdSJung-uk Kim { 2233a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, 0, "Line Offset", DT_OPTIONAL}, 2234a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2235a371a5fdSJung-uk Kim }; 2236a371a5fdSJung-uk Kim 2237a371a5fdSJung-uk Kim /* 3: SMBIOS Management Information Structure */ 2238a371a5fdSJung-uk Kim 2239a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[] = 2240a371a5fdSJung-uk Kim { 2241a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT3_OFFSET (Reserved), "Reserved", 0}, 2242a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2243a371a5fdSJung-uk Kim }; 2244a371a5fdSJung-uk Kim 2245a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[] = 2246a371a5fdSJung-uk Kim { 2247a371a5fdSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "SMBIOS Table Entries", DT_OPTIONAL}, 2248a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2249a371a5fdSJung-uk Kim }; 2250a371a5fdSJung-uk Kim 2251a371a5fdSJung-uk Kim /* 4: NVDIMM Control Region Structure */ 2252a371a5fdSJung-uk Kim 2253a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[] = 2254a371a5fdSJung-uk Kim { 2255a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (RegionIndex), "Region Index", 0}, 2256a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (VendorId), "Vendor Id", 0}, 2257a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (DeviceId), "Device Id", 0}, 2258a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (RevisionId), "Revision Id", 0}, 2259a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (SubsystemVendorId), "Subsystem Vendor Id", 0}, 2260a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (SubsystemDeviceId), "Subsystem Device Id", 0}, 2261a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (SubsystemRevisionId), "Subsystem Revision Id", 0}, 2262f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_NFIT4_OFFSET (ValidFields), "Valid Fields", 0}, 2263f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_NFIT4_OFFSET (ManufacturingLocation), "Manufacturing Location", 0}, 2264f8146b88SJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (ManufacturingDate), "Manufacturing Date", 0}, 2265f8146b88SJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (Reserved[0]), "Reserved", 0}, 2266a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT4_OFFSET (SerialNumber), "Serial Number", 0}, 2267a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (Code), "Code", 0}, 2268a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (Windows), "Window Count", 0}, 2269a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT4_OFFSET (WindowSize), "Window Size", 0}, 2270a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT4_OFFSET (CommandOffset), "Command Offset", 0}, 2271a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT4_OFFSET (CommandSize), "Command Size", 0}, 2272a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT4_OFFSET (StatusOffset), "Status Offset", 0}, 2273a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT4_OFFSET (StatusSize), "Status Size", 0}, 2274a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT4_OFFSET (Flags), "Flags", DT_FLAG}, 2275a371a5fdSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_NFIT4_FLAG_OFFSET (Flags,0), "Windows buffered", 0}, 2276a371a5fdSJung-uk Kim {ACPI_DMT_UINT48, ACPI_NFIT4_OFFSET (Reserved1[0]), "Reserved1", 0}, 2277a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2278a371a5fdSJung-uk Kim }; 2279a371a5fdSJung-uk Kim 2280a371a5fdSJung-uk Kim /* 5: NVDIMM Block Data Window Region Structure */ 2281a371a5fdSJung-uk Kim 2282a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[] = 2283a371a5fdSJung-uk Kim { 2284a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT5_OFFSET (RegionIndex), "Region Index", 0}, 2285a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT5_OFFSET (Windows), "Window Count", 0}, 2286a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT5_OFFSET (Offset), "Offset", 0}, 2287a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT5_OFFSET (Size), "Size", 0}, 2288a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT5_OFFSET (Capacity), "Capacity", 0}, 2289a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_NFIT5_OFFSET (StartAddress), "Start Address", 0}, 2290a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2291a371a5fdSJung-uk Kim }; 2292a371a5fdSJung-uk Kim 2293a371a5fdSJung-uk Kim /* 6: Flush Hint Address Structure */ 2294a371a5fdSJung-uk Kim 2295a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[] = 2296a371a5fdSJung-uk Kim { 2297a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT6_OFFSET (DeviceHandle), "Device Handle", 0}, 2298a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_NFIT6_OFFSET (HintCount), "Hint Count", 0}, 2299a371a5fdSJung-uk Kim {ACPI_DMT_UINT48, ACPI_NFIT6_OFFSET (Reserved[0]), "Reserved", 0}, 2300a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2301a371a5fdSJung-uk Kim }; 2302a371a5fdSJung-uk Kim 2303a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[] = 2304a371a5fdSJung-uk Kim { 2305a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, 0, "Hint Address", DT_OPTIONAL}, 2306a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2307a371a5fdSJung-uk Kim }; 2308a371a5fdSJung-uk Kim 2309b7b7e711SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[] = 2310b7b7e711SJung-uk Kim { 2311b7b7e711SJung-uk Kim {ACPI_DMT_UINT8, ACPI_NFIT7_OFFSET (HighestCapability), "Highest Capability", 0}, 2312b7b7e711SJung-uk Kim {ACPI_DMT_UINT24, ACPI_NFIT7_OFFSET (Reserved[0]), "Reserved", 0}, 2313b7b7e711SJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT7_OFFSET (Capabilities), "Capabilities (decoded below)", DT_FLAG}, 2314b7b7e711SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_NFIT7_FLAG_OFFSET (Capabilities,0), "Cache Flush to NVDIMM", 0}, 2315b7b7e711SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_NFIT7_FLAG_OFFSET (Capabilities,0), "Memory Flush to MVDIMM", 0}, 2316b7b7e711SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_NFIT7_FLAG_OFFSET (Capabilities,0), "Memory Mirroring", 0}, 2317b7b7e711SJung-uk Kim {ACPI_DMT_UINT32, ACPI_NFIT7_OFFSET (Reserved2), "Reserved", 0}, 2318b7b7e711SJung-uk Kim ACPI_DMT_TERMINATOR 2319b7b7e711SJung-uk Kim }; 2320b7b7e711SJung-uk Kim 2321a371a5fdSJung-uk Kim 2322a371a5fdSJung-uk Kim /******************************************************************************* 2323a371a5fdSJung-uk Kim * 23243f0275a0SJung-uk Kim * PCCT - Platform Communications Channel Table (ACPI 5.0) 23253f0275a0SJung-uk Kim * 23263f0275a0SJung-uk Kim ******************************************************************************/ 23273f0275a0SJung-uk Kim 23283f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[] = 23293f0275a0SJung-uk Kim { 23303f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2331af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT_FLAG_OFFSET (Flags,0), "Platform", 0}, 2332313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT_OFFSET (Reserved), "Reserved", 0}, 23333f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 23343f0275a0SJung-uk Kim }; 23353f0275a0SJung-uk Kim 23363f0275a0SJung-uk Kim /* PCCT subtables */ 23373f0275a0SJung-uk Kim 2338313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[] = 2339313a0c13SJung-uk Kim { 2340313a0c13SJung-uk Kim {ACPI_DMT_PCCT, ACPI_PCCT0_OFFSET (Header.Type), "Subtable Type", 0}, 2341313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT0_OFFSET (Header.Length), "Length", DT_LENGTH}, 2342313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 2343313a0c13SJung-uk Kim }; 2344313a0c13SJung-uk Kim 23453f0275a0SJung-uk Kim /* 0: Generic Communications Subspace */ 23463f0275a0SJung-uk Kim 23473f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[] = 23483f0275a0SJung-uk Kim { 23493f0275a0SJung-uk Kim {ACPI_DMT_UINT48, ACPI_PCCT0_OFFSET (Reserved[0]), "Reserved", 0}, 23503f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (BaseAddress), "Base Address", 0}, 23513f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (Length), "Address Length", 0}, 23523f0275a0SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT0_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 23533f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (PreserveMask), "Preserve Mask", 0}, 23543f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (WriteMask), "Write Mask", 0}, 2355313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT0_OFFSET (Latency), "Command Latency", 0}, 2356313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT0_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 2357313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PCCT0_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 2358313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 2359313a0c13SJung-uk Kim }; 2360313a0c13SJung-uk Kim 2361313a0c13SJung-uk Kim /* 1: HW-reduced Communications Subspace (ACPI 5.1) */ 2362313a0c13SJung-uk Kim 2363313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[] = 2364313a0c13SJung-uk Kim { 2365af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (PlatformInterrupt), "Platform Interrupt", 0}, 2366313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT1_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 2367313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT1_FLAG_OFFSET (Flags,0), "Polarity", 0}, 2368313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PCCT1_FLAG_OFFSET (Flags,0), "Mode", 0}, 2369313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT1_OFFSET (Reserved), "Reserved", 0}, 2370313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (BaseAddress), "Base Address", 0}, 2371313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (Length), "Address Length", 0}, 2372313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT1_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 2373313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (PreserveMask), "Preserve Mask", 0}, 2374313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (WriteMask), "Write Mask", 0}, 2375313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (Latency), "Command Latency", 0}, 2376313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 2377313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PCCT1_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 23783f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 23793f0275a0SJung-uk Kim }; 23803f0275a0SJung-uk Kim 2381f8146b88SJung-uk Kim /* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */ 2382f8146b88SJung-uk Kim 2383f8146b88SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[] = 2384f8146b88SJung-uk Kim { 2385af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (PlatformInterrupt), "Platform Interrupt", 0}, 2386f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT2_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 2387f8146b88SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT2_FLAG_OFFSET (Flags,0), "Polarity", 0}, 2388f8146b88SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PCCT2_FLAG_OFFSET (Flags,0), "Mode", 0}, 2389f8146b88SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT2_OFFSET (Reserved), "Reserved", 0}, 2390f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (BaseAddress), "Base Address", 0}, 2391f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (Length), "Address Length", 0}, 2392f8146b88SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT2_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 2393f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (PreserveMask), "Preserve Mask", 0}, 2394f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (WriteMask), "Write Mask", 0}, 2395f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (Latency), "Command Latency", 0}, 2396f8146b88SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 2397f8146b88SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PCCT2_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 2398af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT2_OFFSET (PlatformAckRegister), "Platform ACK Register", 0}, 2399f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (AckPreserveMask), "ACK Preserve Mask", 0}, 2400f8146b88SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (AckWriteMask), "ACK Write Mask", 0}, 2401f8146b88SJung-uk Kim ACPI_DMT_TERMINATOR 2402f8146b88SJung-uk Kim }; 2403f8146b88SJung-uk Kim 2404af051161SJung-uk Kim /* 3: Extended PCC Master Subspace Type 3 (ACPI 6.2) */ 2405af051161SJung-uk Kim 2406af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[] = 2407af051161SJung-uk Kim { 2408af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT3_OFFSET (PlatformInterrupt), "Platform Interrupt", 0}, 2409af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT3_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 2410af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT3_FLAG_OFFSET (Flags,0), "Polarity", 0}, 2411af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PCCT3_FLAG_OFFSET (Flags,0), "Mode", 0}, 2412af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT3_OFFSET (Reserved1), "Reserved", 0}, 2413af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (BaseAddress), "Base Address", 0}, 2414af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT3_OFFSET (Length), "Address Length", 0}, 2415af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT3_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 2416af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (PreserveMask), "Preserve Mask", 0}, 2417af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (WriteMask), "Write Mask", 0}, 2418af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT3_OFFSET (Latency), "Command Latency", 0}, 2419af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT3_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 2420af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT3_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 2421af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT3_OFFSET (PlatformAckRegister), "Platform ACK Register", 0}, 2422af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (AckPreserveMask), "ACK Preserve Mask", 0}, 2423af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (AckSetMask), "ACK Set Mask", 0}, 2424af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (Reserved2), "Reserved", 0}, 2425af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT3_OFFSET (CmdCompleteRegister), "Command Complete Register", 0}, 2426af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (CmdCompleteMask), "Command Complete Check Mask", 0}, 2427af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT3_OFFSET (CmdUpdateRegister), "Command Update Register", 0}, 2428af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (CmdUpdatePreserveMask), "Command Update Preserve Mask", 0}, 2429af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (CmdUpdateSetMask), "Command Update Set Mask", 0}, 2430af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT3_OFFSET (ErrorStatusRegister), "Error Status Register", 0}, 2431af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT3_OFFSET (ErrorStatusMask), "Error Status Mask", 0}, 2432af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2433af051161SJung-uk Kim }; 2434af051161SJung-uk Kim 2435af051161SJung-uk Kim /* 4: Extended PCC Slave Subspace Type 4 (ACPI 6.2) */ 2436af051161SJung-uk Kim 2437af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[] = 2438af051161SJung-uk Kim { 2439af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT4_OFFSET (PlatformInterrupt), "Platform Interrupt", 0}, 2440af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT4_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 2441af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT4_FLAG_OFFSET (Flags,0), "Polarity", 0}, 2442af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PCCT4_FLAG_OFFSET (Flags,0), "Mode", 0}, 2443af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT4_OFFSET (Reserved1), "Reserved", 0}, 2444af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (BaseAddress), "Base Address", 0}, 2445af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT4_OFFSET (Length), "Address Length", 0}, 2446af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT4_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 2447af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (PreserveMask), "Preserve Mask", 0}, 2448af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (WriteMask), "Write Mask", 0}, 2449af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT4_OFFSET (Latency), "Command Latency", 0}, 2450af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT4_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 2451af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT4_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 2452af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT4_OFFSET (PlatformAckRegister), "Platform ACK Register", 0}, 2453af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (AckPreserveMask), "ACK Preserve Mask", 0}, 2454af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (AckSetMask), "ACK Set Mask", 0}, 2455af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (Reserved2), "Reserved", 0}, 2456af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT4_OFFSET (CmdCompleteRegister), "Command Complete Register", 0}, 2457af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (CmdCompleteMask), "Command Complete Check Mask", 0}, 2458af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT4_OFFSET (CmdUpdateRegister), "Command Update Register", 0}, 2459af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (CmdUpdatePreserveMask), "Command Update Preserve Mask", 0}, 2460af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (CmdUpdateSetMask), "Command Update Set Mask", 0}, 2461af051161SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT4_OFFSET (ErrorStatusRegister), "Error Status Register", 0}, 2462af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT4_OFFSET (ErrorStatusMask), "Error Status Mask", 0}, 2463af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2464af051161SJung-uk Kim }; 24653f0275a0SJung-uk Kim 246667d9aa44SJung-uk Kim 246767d9aa44SJung-uk Kim /******************************************************************************* 246867d9aa44SJung-uk Kim * 246967d9aa44SJung-uk Kim * PDTT - Platform Debug Trigger Table (ACPI 6.2) 247067d9aa44SJung-uk Kim * 247167d9aa44SJung-uk Kim ******************************************************************************/ 247267d9aa44SJung-uk Kim 247367d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[] = 247467d9aa44SJung-uk Kim { 247567d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PDTT_OFFSET (TriggerCount), "Trigger Count", 0}, 247667d9aa44SJung-uk Kim {ACPI_DMT_UINT24, ACPI_PDTT_OFFSET (Reserved), "Reserved", 0}, 247767d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PDTT_OFFSET (ArrayOffset), "Array Offset", 0}, 247867d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 247967d9aa44SJung-uk Kim }; 248067d9aa44SJung-uk Kim 248167d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[] = 248267d9aa44SJung-uk Kim { 248367d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PDTT0_OFFSET (SubchannelId), "Subchannel Id", 0}, 248467d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PDTT0_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 248567d9aa44SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PDTT0_FLAG_OFFSET (Flags,0), "Runtime Trigger", 0}, 248667d9aa44SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PDTT0_FLAG_OFFSET (Flags,0), "Wait for Completion", 0}, 248767d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 248867d9aa44SJung-uk Kim }; 248967d9aa44SJung-uk Kim 249067d9aa44SJung-uk Kim 24913f0275a0SJung-uk Kim /******************************************************************************* 24923f0275a0SJung-uk Kim * 24933f0275a0SJung-uk Kim * PMTT - Platform Memory Topology Table 24943f0275a0SJung-uk Kim * 24953f0275a0SJung-uk Kim ******************************************************************************/ 24963f0275a0SJung-uk Kim 24973f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[] = 24983f0275a0SJung-uk Kim { 24993f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT_OFFSET (Reserved), "Reserved", 0}, 25003f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25013f0275a0SJung-uk Kim }; 25023f0275a0SJung-uk Kim 25033f0275a0SJung-uk Kim /* Common Subtable header (one per Subtable) */ 25043f0275a0SJung-uk Kim 25053f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[] = 25063f0275a0SJung-uk Kim { 25073f0275a0SJung-uk Kim {ACPI_DMT_PMTT, ACPI_PMTTH_OFFSET (Type), "Subtable Type", 0}, 25083f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PMTTH_OFFSET (Reserved1), "Reserved", 0}, 25093f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Length), "Length", DT_LENGTH}, 25103f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 25113f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Top-level Device", 0}, 25123f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Physical Element", 0}, 25133f0275a0SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Memory Type", 0}, 25143f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Reserved2), "Reserved", 0}, 25153f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25163f0275a0SJung-uk Kim }; 25173f0275a0SJung-uk Kim 25183f0275a0SJung-uk Kim /* PMTT Subtables */ 25193f0275a0SJung-uk Kim 25203f0275a0SJung-uk Kim /* 0: Socket */ 25213f0275a0SJung-uk Kim 25223f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[] = 25233f0275a0SJung-uk Kim { 25243f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT0_OFFSET (SocketId), "Socket ID", 0}, 25253f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT0_OFFSET (Reserved), "Reserved", 0}, 25263f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25273f0275a0SJung-uk Kim }; 25283f0275a0SJung-uk Kim 25293f0275a0SJung-uk Kim /* 1: Memory Controller */ 25303f0275a0SJung-uk Kim 25313f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[] = 25323f0275a0SJung-uk Kim { 25333f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (ReadLatency), "Read Latency", 0}, 25343f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (WriteLatency), "Write Latency", 0}, 25353f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (ReadBandwidth), "Read Bandwidth", 0}, 25363f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (WriteBandwidth), "Write Bandwidth", 0}, 25373f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (AccessWidth), "Access Width", 0}, 25383f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (Alignment), "Alignment", 0}, 25393f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (Reserved), "Reserved", 0}, 25403f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (DomainCount), "Domain Count", 0}, 25413f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25423f0275a0SJung-uk Kim }; 25433f0275a0SJung-uk Kim 25443f0275a0SJung-uk Kim /* 1a: Proximity Domain */ 25453f0275a0SJung-uk Kim 25463f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[] = 25473f0275a0SJung-uk Kim { 25483f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1A_OFFSET (ProximityDomain), "Proximity Domain", 0}, 25493f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25503f0275a0SJung-uk Kim }; 25513f0275a0SJung-uk Kim 25523f0275a0SJung-uk Kim /* 2: Physical Component */ 25533f0275a0SJung-uk Kim 25543f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[] = 25553f0275a0SJung-uk Kim { 25563f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT2_OFFSET (ComponentId), "Component ID", 0}, 25573f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT2_OFFSET (Reserved), "Reserved", 0}, 25583f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT2_OFFSET (MemorySize), "Memory Size", 0}, 25593f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT2_OFFSET (BiosHandle), "Bios Handle", 0}, 25603f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 25613f0275a0SJung-uk Kim }; 25623f0275a0SJung-uk Kim 25633f0275a0SJung-uk Kim 25643f0275a0SJung-uk Kim /******************************************************************************* 25653f0275a0SJung-uk Kim * 2566af051161SJung-uk Kim * PPTT - Processor Properties Topology Table (ACPI 6.2) 2567af051161SJung-uk Kim * 2568af051161SJung-uk Kim ******************************************************************************/ 2569af051161SJung-uk Kim 2570af051161SJung-uk Kim /* Main table consists of only the standard ACPI header - subtables follow */ 2571af051161SJung-uk Kim 2572af051161SJung-uk Kim /* Common Subtable header (one per Subtable) */ 2573af051161SJung-uk Kim 2574af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[] = 2575af051161SJung-uk Kim { 2576af051161SJung-uk Kim {ACPI_DMT_PPTT, ACPI_PPTTH_OFFSET (Type), "Subtable Type", 0}, 2577af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PPTTH_OFFSET (Length), "Length", 0}, 2578af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2579af051161SJung-uk Kim }; 2580af051161SJung-uk Kim 2581af051161SJung-uk Kim /* 0: Processor hierarchy node */ 2582af051161SJung-uk Kim 2583af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[] = 2584af051161SJung-uk Kim { 2585af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT0_OFFSET (Reserved), "Reserved", 0}, 258667d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT0_OFFSET (Flags), "Flags (decoded below)", 0}, 2587af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PPTT0_FLAG_OFFSET (Flags,0), "Physical package", 0}, 2588af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PPTT0_FLAG_OFFSET (Flags,0), "ACPI Processor ID valid", 0}, 2589af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT0_OFFSET (Parent), "Parent", 0}, 2590af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT0_OFFSET (AcpiProcessorId), "ACPI Processor ID", 0}, 2591af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT0_OFFSET (NumberOfPrivResources), "Private Resource Number", 0}, 2592af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2593af051161SJung-uk Kim }; 2594af051161SJung-uk Kim 2595af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[] = 2596af051161SJung-uk Kim { 2597af051161SJung-uk Kim {ACPI_DMT_UINT32, 0, "Private Resource", DT_OPTIONAL}, 2598af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2599af051161SJung-uk Kim }; 2600af051161SJung-uk Kim 2601af051161SJung-uk Kim /* 1: Cache type */ 2602af051161SJung-uk Kim 2603af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[] = 2604af051161SJung-uk Kim { 2605af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT1_OFFSET (Reserved), "Reserved", 0}, 260667d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT1_OFFSET (Flags), "Flags (decoded below)", 0}, 2607af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Size valid", 0}, 2608af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Number of Sets valid", 0}, 2609af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Associativity valid", 0}, 2610af051161SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Allocation Type valid", 0}, 2611af051161SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Cache Type valid", 0}, 2612af051161SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Write Policy valid", 0}, 26132f6a1a81SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_PPTT1_FLAG_OFFSET (Flags,0), "Line Size valid", 0}, 2614af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT1_OFFSET (NextLevelOfCache), "Next Level of Cache", 0}, 2615af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT1_OFFSET (Size), "Size", 0}, 2616af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT1_OFFSET (NumberOfSets), "Number of Sets", 0}, 2617af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PPTT1_OFFSET (Associativity), "Associativity", 0}, 2618af051161SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PPTT1_OFFSET (Attributes), "Attributes", 0}, 2619af051161SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_PPTT1_OFFSET (Attributes), "Allocation Type", 0}, 2620af051161SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_PPTT1_OFFSET (Attributes), "Cache Type", 0}, 2621af051161SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_PPTT1_OFFSET (Attributes), "Write Policy", 0}, 2622af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT1_OFFSET (LineSize), "Line Size", 0}, 2623af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2624af051161SJung-uk Kim }; 2625af051161SJung-uk Kim 2626af051161SJung-uk Kim /* 2: ID */ 2627af051161SJung-uk Kim 2628af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[] = 2629af051161SJung-uk Kim { 2630af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT2_OFFSET (Reserved), "Reserved", 0}, 2631af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PPTT2_OFFSET (VendorId), "VENDOR_ID", 0}, 2632af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PPTT2_OFFSET (Level1Id), "LEVEL_1_ID", 0}, 2633af051161SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PPTT2_OFFSET (Level2Id), "LEVEL_2_ID", 0}, 2634af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT2_OFFSET (MajorRev), "MAJOR_REV", 0}, 2635af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT2_OFFSET (MinorRev), "MINOR_REV", 0}, 2636af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PPTT2_OFFSET (SpinRev), "SPIN_REV", 0}, 2637af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2638af051161SJung-uk Kim }; 2639af051161SJung-uk Kim 264067d9aa44SJung-uk Kim 2641af051161SJung-uk Kim /******************************************************************************* 2642af051161SJung-uk Kim * 2643493deb39SJung-uk Kim * RASF - RAS Feature table 2644493deb39SJung-uk Kim * 2645493deb39SJung-uk Kim ******************************************************************************/ 2646493deb39SJung-uk Kim 2647493deb39SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[] = 2648493deb39SJung-uk Kim { 2649493deb39SJung-uk Kim {ACPI_DMT_BUF12, ACPI_RASF_OFFSET (ChannelId[0]), "Channel ID", 0}, 2650493deb39SJung-uk Kim ACPI_DMT_TERMINATOR 2651493deb39SJung-uk Kim }; 2652493deb39SJung-uk Kim 265367d9aa44SJung-uk Kim 2654493deb39SJung-uk Kim /******************************************************************************* 2655493deb39SJung-uk Kim * 26563f0275a0SJung-uk Kim * S3PT - S3 Performance Table 26573f0275a0SJung-uk Kim * 26583f0275a0SJung-uk Kim ******************************************************************************/ 26593f0275a0SJung-uk Kim 26603f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[] = 26613f0275a0SJung-uk Kim { 26623f0275a0SJung-uk Kim {ACPI_DMT_SIG, ACPI_S3PT_OFFSET (Signature[0]), "Signature", 0}, 26633f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_S3PT_OFFSET (Length), "Length", DT_LENGTH}, 26643f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 26653f0275a0SJung-uk Kim }; 26663f0275a0SJung-uk Kim 26673f0275a0SJung-uk Kim /* S3PT subtable header */ 26683f0275a0SJung-uk Kim 26693f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[] = 26703f0275a0SJung-uk Kim { 26713f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_S3PTH_OFFSET (Type), "Type", 0}, 26723f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_S3PTH_OFFSET (Length), "Length", DT_LENGTH}, 26733f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_S3PTH_OFFSET (Revision), "Revision", 0}, 26743f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 26753f0275a0SJung-uk Kim }; 26763f0275a0SJung-uk Kim 26773f0275a0SJung-uk Kim /* 0: Basic S3 Resume Performance Record */ 26783f0275a0SJung-uk Kim 26793f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[] = 26803f0275a0SJung-uk Kim { 26813f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_S3PT0_OFFSET (ResumeCount), "Resume Count", 0}, 26823f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT0_OFFSET (FullResume), "Full Resume", 0}, 26833f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT0_OFFSET (AverageResume), "Average Resume", 0}, 26843f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 26853f0275a0SJung-uk Kim }; 26863f0275a0SJung-uk Kim 26873f0275a0SJung-uk Kim /* 1: Basic S3 Suspend Performance Record */ 26883f0275a0SJung-uk Kim 26893f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[] = 26903f0275a0SJung-uk Kim { 26913f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT1_OFFSET (SuspendStart), "Suspend Start", 0}, 26923f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT1_OFFSET (SuspendEnd), "Suspend End", 0}, 26933f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 26943f0275a0SJung-uk Kim }; 26953f0275a0SJung-uk Kim 26963f0275a0SJung-uk Kim 26973f0275a0SJung-uk Kim /******************************************************************************* 26983f0275a0SJung-uk Kim * 26991a39cfb0SJung-uk Kim * SBST - Smart Battery Specification Table 27001a39cfb0SJung-uk Kim * 27011a39cfb0SJung-uk Kim ******************************************************************************/ 27021a39cfb0SJung-uk Kim 27031a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[] = 27041a39cfb0SJung-uk Kim { 2705a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (WarningLevel), "Warning Level", 0}, 2706a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (LowLevel), "Low Level", 0}, 2707a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (CriticalLevel), "Critical Level", 0}, 2708a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 27091a39cfb0SJung-uk Kim }; 27101a39cfb0SJung-uk Kim 27111a39cfb0SJung-uk Kim 27121a39cfb0SJung-uk Kim /******************************************************************************* 27131a39cfb0SJung-uk Kim * 271467d9aa44SJung-uk Kim * SDEI - Software Delegated Execption Interface Descriptor Table 271567d9aa44SJung-uk Kim * 271667d9aa44SJung-uk Kim ******************************************************************************/ 271767d9aa44SJung-uk Kim 271867d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[] = 271967d9aa44SJung-uk Kim { 272067d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 272167d9aa44SJung-uk Kim }; 272267d9aa44SJung-uk Kim 272367d9aa44SJung-uk Kim 272467d9aa44SJung-uk Kim /******************************************************************************* 272567d9aa44SJung-uk Kim * 272667d9aa44SJung-uk Kim * SDEV - Secure Devices Table (ACPI 6.2) 272767d9aa44SJung-uk Kim * 272867d9aa44SJung-uk Kim ******************************************************************************/ 272967d9aa44SJung-uk Kim 273067d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[] = 273167d9aa44SJung-uk Kim { 273267d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 273367d9aa44SJung-uk Kim }; 273467d9aa44SJung-uk Kim 273567d9aa44SJung-uk Kim /* Common Subtable header (one per Subtable) */ 273667d9aa44SJung-uk Kim 273767d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[] = 273867d9aa44SJung-uk Kim { 273967d9aa44SJung-uk Kim {ACPI_DMT_SDEV, ACPI_SDEVH_OFFSET (Type), "Subtable Type", 0}, 274067d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SDEVH_OFFSET (Flags), "Flags (decoded below)", 0}, 274167d9aa44SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SDEVH_FLAG_OFFSET (Flags,0), "Allow handoff to unsecure OS", 0}, 274267d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEVH_OFFSET (Length), "Length", 0}, 274367d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 274467d9aa44SJung-uk Kim }; 274567d9aa44SJung-uk Kim 274667d9aa44SJung-uk Kim /* SDEV Subtables */ 274767d9aa44SJung-uk Kim 274867d9aa44SJung-uk Kim /* 0: Namespace Device Based Secure Device Structure */ 274967d9aa44SJung-uk Kim 275067d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[] = 275167d9aa44SJung-uk Kim { 275267d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV0_OFFSET (DeviceIdOffset), "Device ID Offset", 0}, 275367d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV0_OFFSET (DeviceIdLength), "Device ID Length", 0}, 275467d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV0_OFFSET (VendorDataOffset), "Vendor Data Offset", 0}, 275567d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV0_OFFSET (VendorDataLength), "Vendor Data Length", 0}, 275667d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 275767d9aa44SJung-uk Kim }; 275867d9aa44SJung-uk Kim 275967d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[] = 276067d9aa44SJung-uk Kim { 276167d9aa44SJung-uk Kim {ACPI_DMT_STRING, 0, "Namepath", 0}, 276267d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 276367d9aa44SJung-uk Kim }; 276467d9aa44SJung-uk Kim 276567d9aa44SJung-uk Kim /* 1: PCIe Endpoint Device Based Device Structure */ 276667d9aa44SJung-uk Kim 276767d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[] = 276867d9aa44SJung-uk Kim { 276967d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (Segment), "Segment", 0}, 277067d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (StartBus), "Start Bus", 0}, 277167d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (PathOffset), "Path Offset", 0}, 277267d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (PathLength), "Path Length", 0}, 277367d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (VendorDataOffset), "Vendor Data Offset", 0}, 277467d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SDEV1_OFFSET (VendorDataLength), "Vendor Data Length", 0}, 277567d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 277667d9aa44SJung-uk Kim }; 277767d9aa44SJung-uk Kim 277867d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[] = 277967d9aa44SJung-uk Kim { 278067d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SDEV1A_OFFSET (Device), "Device", 0}, 278167d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SDEV1A_OFFSET (Function), "Function", 0}, 278267d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 278367d9aa44SJung-uk Kim }; 278467d9aa44SJung-uk Kim 278567d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[] = 278667d9aa44SJung-uk Kim { 278767d9aa44SJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "Vendor Data", 0}, /*, DT_OPTIONAL}, */ 278867d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 278967d9aa44SJung-uk Kim }; 279067d9aa44SJung-uk Kim 279167d9aa44SJung-uk Kim 279267d9aa44SJung-uk Kim /******************************************************************************* 279367d9aa44SJung-uk Kim * 27947cf3e94aSJung-uk Kim * SLIC - Software Licensing Description Table. This table contains the standard 27957cf3e94aSJung-uk Kim * ACPI header followed by proprietary data structures 2796a9f12690SJung-uk Kim * 2797a9f12690SJung-uk Kim ******************************************************************************/ 2798a9f12690SJung-uk Kim 27997cf3e94aSJung-uk Kim /* Single subtable, a proprietary format, so treat it as a buffer */ 2800dcbce41eSJung-uk Kim 28017cf3e94aSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[] = 2802a9f12690SJung-uk Kim { 28037cf3e94aSJung-uk Kim {ACPI_DMT_RAW_BUFFER, 0, "Software Licensing Structure", 0}, 2804a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2805a9f12690SJung-uk Kim }; 2806a9f12690SJung-uk Kim 2807a9f12690SJung-uk Kim 2808a9f12690SJung-uk Kim /******************************************************************************* 2809a9f12690SJung-uk Kim * 28101a39cfb0SJung-uk Kim * SLIT - System Locality Information Table 28111a39cfb0SJung-uk Kim * 28121a39cfb0SJung-uk Kim ******************************************************************************/ 28131a39cfb0SJung-uk Kim 28141a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[] = 28151a39cfb0SJung-uk Kim { 2816a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SLIT_OFFSET (LocalityCount), "Localities", 0}, 2817a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 28181a39cfb0SJung-uk Kim }; 28191a39cfb0SJung-uk Kim 28201a39cfb0SJung-uk Kim 28211a39cfb0SJung-uk Kim /******************************************************************************* 28221a39cfb0SJung-uk Kim * 28231a39cfb0SJung-uk Kim * SPCR - Serial Port Console Redirection table 28241a39cfb0SJung-uk Kim * 28251a39cfb0SJung-uk Kim ******************************************************************************/ 28261a39cfb0SJung-uk Kim 28271a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[] = 28281a39cfb0SJung-uk Kim { 2829a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (InterfaceType), "Interface Type", 0}, 2830a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_SPCR_OFFSET (Reserved[0]), "Reserved", 0}, 2831a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_SPCR_OFFSET (SerialPort), "Serial Port Register", 0}, 2832a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (InterruptType), "Interrupt Type", 0}, 2833a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PcInterrupt), "PCAT-compatible IRQ", 0}, 2834a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (Interrupt), "Interrupt", 0}, 2835a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (BaudRate), "Baud Rate", 0}, 2836a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (Parity), "Parity", 0}, 2837a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (StopBits), "Stop Bits", 0}, 2838a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (FlowControl), "Flow Control", 0}, 2839a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (TerminalType), "Terminal Type", 0}, 2840a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (Reserved2), "Reserved", 0}, 2841a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPCR_OFFSET (PciDeviceId), "PCI Device ID", 0}, 2842a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPCR_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 2843a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciBus), "PCI Bus", 0}, 2844a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciDevice), "PCI Device", 0}, 2845a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciFunction), "PCI Function", 0}, 2846a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (PciFlags), "PCI Flags", 0}, 2847a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciSegment), "PCI Segment", 0}, 2848a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (Reserved2), "Reserved", 0}, 2849a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 28501a39cfb0SJung-uk Kim }; 28511a39cfb0SJung-uk Kim 28521a39cfb0SJung-uk Kim 28531a39cfb0SJung-uk Kim /******************************************************************************* 28541a39cfb0SJung-uk Kim * 28551a39cfb0SJung-uk Kim * SPMI - Server Platform Management Interface table 28561a39cfb0SJung-uk Kim * 28571a39cfb0SJung-uk Kim ******************************************************************************/ 28581a39cfb0SJung-uk Kim 28591a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[] = 28601a39cfb0SJung-uk Kim { 2861a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (InterfaceType), "Interface Type", 0}, 2862313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved), "Reserved", DT_NON_ZERO}, /* Value must be 1 */ 2863a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPMI_OFFSET (SpecRevision), "IPMI Spec Version", 0}, 2864a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (InterruptType), "Interrupt Type", 0}, 2865a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (GpeNumber), "GPE Number", 0}, 2866a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved1), "Reserved", 0}, 2867a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciDeviceFlag), "PCI Device Flag", 0}, 2868a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPMI_OFFSET (Interrupt), "Interrupt", 0}, 2869a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_SPMI_OFFSET (IpmiRegister), "IPMI Register", 0}, 2870a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciSegment), "PCI Segment", 0}, 2871a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciBus), "PCI Bus", 0}, 2872a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciDevice), "PCI Device", 0}, 2873a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciFunction), "PCI Function", 0}, 2874a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved2), "Reserved", 0}, 2875a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 28761a39cfb0SJung-uk Kim }; 28771a39cfb0SJung-uk Kim 28781a39cfb0SJung-uk Kim 28791a39cfb0SJung-uk Kim /******************************************************************************* 28801a39cfb0SJung-uk Kim * 2881a9f12690SJung-uk Kim * SRAT - System Resource Affinity Table and Subtables 28821a39cfb0SJung-uk Kim * 28831a39cfb0SJung-uk Kim ******************************************************************************/ 28841a39cfb0SJung-uk Kim 28851a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[] = 28861a39cfb0SJung-uk Kim { 2887a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT_OFFSET (TableRevision), "Table Revision", 0}, 2888a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT_OFFSET (Reserved), "Reserved", 0}, 2889a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 28901a39cfb0SJung-uk Kim }; 28911a39cfb0SJung-uk Kim 2892a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 2893a9f12690SJung-uk Kim 2894a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[] = 2895a9f12690SJung-uk Kim { 2896a88e22b7SJung-uk Kim {ACPI_DMT_SRAT, ACPI_SRATH_OFFSET (Type), "Subtable Type", 0}, 2897a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRATH_OFFSET (Length), "Length", DT_LENGTH}, 2898a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2899a9f12690SJung-uk Kim }; 2900a9f12690SJung-uk Kim 2901a9f12690SJung-uk Kim /* SRAT Subtables */ 2902a9f12690SJung-uk Kim 2903a9f12690SJung-uk Kim /* 0: Processor Local APIC/SAPIC Affinity */ 2904a9f12690SJung-uk Kim 29051a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[] = 29061a39cfb0SJung-uk Kim { 2907a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (ProximityDomainLo), "Proximity Domain Low(8)", 0}, 2908a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (ApicId), "Apic ID", 0}, 2909a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2910a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT0_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2911a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (LocalSapicEid), "Local Sapic EID", 0}, 2912a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_SRAT0_OFFSET (ProximityDomainHi[0]), "Proximity Domain High(24)", 0}, 2913313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT0_OFFSET (ClockDomain), "Clock Domain", 0}, 2914a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 29151a39cfb0SJung-uk Kim }; 29161a39cfb0SJung-uk Kim 2917a9f12690SJung-uk Kim /* 1: Memory Affinity */ 2918a9f12690SJung-uk Kim 29191a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[] = 29201a39cfb0SJung-uk Kim { 2921a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2922a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SRAT1_OFFSET (Reserved), "Reserved1", 0}, 2923a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (BaseAddress), "Base Address", 0}, 2924a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (Length), "Address Length", 0}, 2925a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (Reserved1), "Reserved2", 0}, 2926a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2927a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2928a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Hot Pluggable", 0}, 2929a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Non-Volatile", 0}, 2930a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (Reserved2), "Reserved3", 0}, 2931a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2932a9f12690SJung-uk Kim }; 2933a9f12690SJung-uk Kim 2934d6dd1baeSJung-uk Kim /* 2: Processor Local X2_APIC Affinity (ACPI 4.0) */ 2935a9f12690SJung-uk Kim 2936a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[] = 2937a9f12690SJung-uk Kim { 2938a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SRAT2_OFFSET (Reserved), "Reserved1", 0}, 2939a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2940a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ApicId), "Apic ID", 0}, 2941a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2942a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT2_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2943a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ClockDomain), "Clock Domain", 0}, 2944a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (Reserved2), "Reserved2", 0}, 2945a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 29461a39cfb0SJung-uk Kim }; 29471a39cfb0SJung-uk Kim 2948af051161SJung-uk Kim /* 3: GICC Affinity (ACPI 5.1) */ 2949313a0c13SJung-uk Kim 2950313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[] = 2951313a0c13SJung-uk Kim { 2952313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2953313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (AcpiProcessorUid), "Acpi Processor UID", 0}, 2954313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2955313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT3_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2956313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (ClockDomain), "Clock Domain", 0}, 2957313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 2958313a0c13SJung-uk Kim }; 2959313a0c13SJung-uk Kim 2960af051161SJung-uk Kim /* 4: GCC ITS Affinity (ACPI 6.2) */ 2961af051161SJung-uk Kim 2962af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[] = 2963af051161SJung-uk Kim { 2964af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT4_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2965af051161SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SRAT4_OFFSET (Reserved), "Reserved", 0}, 2966af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT4_OFFSET (ItsId), "ITS ID", 0}, 2967af051161SJung-uk Kim ACPI_DMT_TERMINATOR 2968af051161SJung-uk Kim }; 2969af051161SJung-uk Kim 29701a39cfb0SJung-uk Kim 29711a39cfb0SJung-uk Kim /******************************************************************************* 29721a39cfb0SJung-uk Kim * 2973a371a5fdSJung-uk Kim * STAO - Status Override Table (_STA override) - ACPI 6.0 2974a371a5fdSJung-uk Kim * 2975a371a5fdSJung-uk Kim ******************************************************************************/ 2976a371a5fdSJung-uk Kim 2977a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoStao[] = 2978a371a5fdSJung-uk Kim { 2979a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_STAO_OFFSET (IgnoreUart), "Ignore UART", 0}, 2980a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2981a371a5fdSJung-uk Kim }; 2982a371a5fdSJung-uk Kim 2983a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[] = 2984a371a5fdSJung-uk Kim { 2985a371a5fdSJung-uk Kim {ACPI_DMT_STRING, 0, "Namepath", 0}, 2986a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 2987a371a5fdSJung-uk Kim }; 2988a371a5fdSJung-uk Kim 2989a371a5fdSJung-uk Kim 2990a371a5fdSJung-uk Kim /******************************************************************************* 2991a371a5fdSJung-uk Kim * 29925ef50723SJung-uk Kim * TCPA - Trusted Computing Platform Alliance table (Client) 29931a39cfb0SJung-uk Kim * 2994fe0f0bbbSJung-uk Kim * NOTE: There are two versions of the table with the same signature -- 2995fe0f0bbbSJung-uk Kim * the client version and the server version. The common PlatformClass 2996fe0f0bbbSJung-uk Kim * field is used to differentiate the two types of tables. 2997fe0f0bbbSJung-uk Kim * 29981a39cfb0SJung-uk Kim ******************************************************************************/ 29991a39cfb0SJung-uk Kim 3000fe0f0bbbSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[] = 30011a39cfb0SJung-uk Kim { 3002fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT16, ACPI_TCPA_OFFSET (PlatformClass), "Platform Class", 0}, 3003fe0f0bbbSJung-uk Kim ACPI_DMT_TERMINATOR 3004fe0f0bbbSJung-uk Kim }; 3005fe0f0bbbSJung-uk Kim 3006fe0f0bbbSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[] = 3007fe0f0bbbSJung-uk Kim { 30085ef50723SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TCPA_CLIENT_OFFSET (MinimumLogLength), "Min Event Log Length", 0}, 30095ef50723SJung-uk Kim {ACPI_DMT_UINT64, ACPI_TCPA_CLIENT_OFFSET (LogAddress), "Event Log Address", 0}, 3010a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 30111a39cfb0SJung-uk Kim }; 30121a39cfb0SJung-uk Kim 3013fe0f0bbbSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[] = 3014fe0f0bbbSJung-uk Kim { 3015fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT16, ACPI_TCPA_SERVER_OFFSET (Reserved), "Reserved", 0}, 3016fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT64, ACPI_TCPA_SERVER_OFFSET (MinimumLogLength), "Min Event Log Length", 0}, 3017fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT64, ACPI_TCPA_SERVER_OFFSET (LogAddress), "Event Log Address", 0}, 3018fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT16, ACPI_TCPA_SERVER_OFFSET (SpecRevision), "Specification Revision", 0}, 3019fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (DeviceFlags), "Device Flags (decoded below)", DT_FLAG}, 3020fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_TCPA_SERVER_OFFSET (DeviceFlags), "Pci Device", 0}, 3021fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_TCPA_SERVER_OFFSET (DeviceFlags), "Bus is Pnp", 0}, 3022fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG2, ACPI_TCPA_SERVER_OFFSET (DeviceFlags), "Address Valid", 0}, 3023fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (InterruptFlags), "Interrupt Flags (decoded below)", DT_FLAG}, 3024fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG0, ACPI_TCPA_SERVER_OFFSET (InterruptFlags), "Mode", 0}, 3025fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG1, ACPI_TCPA_SERVER_OFFSET (InterruptFlags), "Polarity", 0}, 3026fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG2, ACPI_TCPA_SERVER_OFFSET (InterruptFlags), "GPE SCI Triggered", 0}, 3027fe0f0bbbSJung-uk Kim {ACPI_DMT_FLAG3, ACPI_TCPA_SERVER_OFFSET (InterruptFlags), "Global System Interrupt", 0}, 3028fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (GpeNumber), "Gpe Number", 0}, 3029fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT24, ACPI_TCPA_SERVER_OFFSET (Reserved2[0]), "Reserved", 0}, 3030fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT32, ACPI_TCPA_SERVER_OFFSET (GlobalInterrupt), "Global Interrupt", 0}, 3031fe0f0bbbSJung-uk Kim {ACPI_DMT_GAS, ACPI_TCPA_SERVER_OFFSET (Address), "Address", 0}, 3032fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT32, ACPI_TCPA_SERVER_OFFSET (Reserved3), "Reserved", 0}, 3033fe0f0bbbSJung-uk Kim {ACPI_DMT_GAS, ACPI_TCPA_SERVER_OFFSET (ConfigAddress), "Configuration Address", 0}, 3034fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (Group), "Pci Group", 0}, 3035fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (Bus), "Pci Bus", 0}, 3036fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (Device), "Pci Device", 0}, 3037fe0f0bbbSJung-uk Kim {ACPI_DMT_UINT8, ACPI_TCPA_SERVER_OFFSET (Function), "Pci Function", 0}, 3038fe0f0bbbSJung-uk Kim ACPI_DMT_TERMINATOR 3039fe0f0bbbSJung-uk Kim }; 3040fe0f0bbbSJung-uk Kim 30411a39cfb0SJung-uk Kim 30421a39cfb0SJung-uk Kim /******************************************************************************* 30431a39cfb0SJung-uk Kim * 3044efcc2a30SJung-uk Kim * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table 3045efcc2a30SJung-uk Kim * 3046efcc2a30SJung-uk Kim ******************************************************************************/ 3047efcc2a30SJung-uk Kim 3048efcc2a30SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[] = 3049efcc2a30SJung-uk Kim { 30505ef50723SJung-uk Kim {ACPI_DMT_UINT16, ACPI_TPM2_OFFSET (PlatformClass), "Platform Class", 0}, 30515ef50723SJung-uk Kim {ACPI_DMT_UINT16, ACPI_TPM2_OFFSET (Reserved), "Reserved", 0}, 3052efcc2a30SJung-uk Kim {ACPI_DMT_UINT64, ACPI_TPM2_OFFSET (ControlAddress), "Control Address", 0}, 305367d9aa44SJung-uk Kim {ACPI_DMT_TPM2, ACPI_TPM2_OFFSET (StartMethod), "Start Method", 0}, 305467d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 305567d9aa44SJung-uk Kim }; 305667d9aa44SJung-uk Kim 305767d9aa44SJung-uk Kim /* Optional trailer. LogLength and LogAddress are additionally optional */ 305867d9aa44SJung-uk Kim 305967d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[] = 306067d9aa44SJung-uk Kim { 306167d9aa44SJung-uk Kim {ACPI_DMT_BUF12, ACPI_TPM2A_OFFSET (MethodParameters), "Method Parameters", DT_OPTIONAL}, 306267d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TPM2A_OFFSET (MinimumLogLength), "Minimum Log Length", DT_OPTIONAL}, 306367d9aa44SJung-uk Kim {ACPI_DMT_UINT64, ACPI_TPM2A_OFFSET (LogAddress), "Log Address", DT_OPTIONAL}, 306467d9aa44SJung-uk Kim ACPI_DMT_TERMINATOR 306567d9aa44SJung-uk Kim }; 306667d9aa44SJung-uk Kim 306767d9aa44SJung-uk Kim /* 11: Start Method for ARM SMC */ 306867d9aa44SJung-uk Kim 306967d9aa44SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[] = 307067d9aa44SJung-uk Kim { 307167d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TPM211_OFFSET (GlobalInterrupt), "Global Interrupt", 0}, 307267d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_TPM211_OFFSET (InterruptFlags), "Interrupt Flags", 0}, 307367d9aa44SJung-uk Kim {ACPI_DMT_UINT8, ACPI_TPM211_OFFSET (OperationFlags), "Operation Flags", 0}, 307467d9aa44SJung-uk Kim {ACPI_DMT_UINT16, ACPI_TPM211_OFFSET (Reserved), "Reserved", 0}, 307567d9aa44SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TPM211_OFFSET (FunctionId), "Function ID", 0}, 3076efcc2a30SJung-uk Kim ACPI_DMT_TERMINATOR 3077efcc2a30SJung-uk Kim }; 3078efcc2a30SJung-uk Kim 3079efcc2a30SJung-uk Kim 3080efcc2a30SJung-uk Kim /******************************************************************************* 3081efcc2a30SJung-uk Kim * 3082d6dd1baeSJung-uk Kim * UEFI - UEFI Boot optimization Table 3083d6dd1baeSJung-uk Kim * 3084d6dd1baeSJung-uk Kim ******************************************************************************/ 3085d6dd1baeSJung-uk Kim 3086d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[] = 3087d6dd1baeSJung-uk Kim { 3088d244b227SJung-uk Kim {ACPI_DMT_UUID, ACPI_UEFI_OFFSET (Identifier[0]), "UUID Identifier", 0}, 3089a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_UEFI_OFFSET (DataOffset), "Data Offset", 0}, 3090a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3091d6dd1baeSJung-uk Kim }; 3092d6dd1baeSJung-uk Kim 3093d6dd1baeSJung-uk Kim 3094d6dd1baeSJung-uk Kim /******************************************************************************* 3095d6dd1baeSJung-uk Kim * 30969c48c75eSJung-uk Kim * VRTC - Virtual Real Time Clock Table 30979c48c75eSJung-uk Kim * 30989c48c75eSJung-uk Kim ******************************************************************************/ 30999c48c75eSJung-uk Kim 31009c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[] = 31019c48c75eSJung-uk Kim { 31029c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 31039c48c75eSJung-uk Kim }; 31049c48c75eSJung-uk Kim 31059c48c75eSJung-uk Kim /* VRTC Subtables - VRTC Entry */ 31069c48c75eSJung-uk Kim 31079c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[] = 31089c48c75eSJung-uk Kim { 31099c48c75eSJung-uk Kim {ACPI_DMT_GAS, ACPI_VRTC0_OFFSET (PhysicalAddress), "PhysicalAddress", 0}, 31109c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_VRTC0_OFFSET (Irq), "IRQ", 0}, 31119c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 31129c48c75eSJung-uk Kim }; 31139c48c75eSJung-uk Kim 31149c48c75eSJung-uk Kim 31159c48c75eSJung-uk Kim /******************************************************************************* 31169c48c75eSJung-uk Kim * 3117d6dd1baeSJung-uk Kim * WAET - Windows ACPI Emulated devices Table 3118d6dd1baeSJung-uk Kim * 3119d6dd1baeSJung-uk Kim ******************************************************************************/ 3120d6dd1baeSJung-uk Kim 3121d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[] = 3122d6dd1baeSJung-uk Kim { 3123a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WAET_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 3124a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WAET_OFFSET (Flags), "RTC needs no INT ack", 0}, 3125a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WAET_OFFSET (Flags), "PM timer, one read only", 0}, 3126a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3127d6dd1baeSJung-uk Kim }; 3128d6dd1baeSJung-uk Kim 3129d6dd1baeSJung-uk Kim 3130d6dd1baeSJung-uk Kim /******************************************************************************* 3131d6dd1baeSJung-uk Kim * 3132d6dd1baeSJung-uk Kim * WDAT - Watchdog Action Table 3133d6dd1baeSJung-uk Kim * 3134d6dd1baeSJung-uk Kim ******************************************************************************/ 3135d6dd1baeSJung-uk Kim 3136d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[] = 3137d6dd1baeSJung-uk Kim { 3138a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (HeaderLength), "Header Length", DT_LENGTH}, 3139a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDAT_OFFSET (PciSegment), "PCI Segment", 0}, 3140a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciBus), "PCI Bus", 0}, 3141a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciDevice), "PCI Device", 0}, 3142a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciFunction), "PCI Function", 0}, 3143a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_WDAT_OFFSET (Reserved[0]), "Reserved", 0}, 3144a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (TimerPeriod), "Timer Period", 0}, 3145a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (MaxCount), "Max Count", 0}, 3146a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (MinCount), "Min Count", 0}, 3147a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 3148a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDAT_OFFSET (Flags), "Enabled", 0}, 3149a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_WDAT_OFFSET (Flags), "Stopped When Asleep", 0}, 3150a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_WDAT_OFFSET (Reserved2[0]), "Reserved", 0}, 3151a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (Entries), "Watchdog Entry Count", 0}, 3152a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3153d6dd1baeSJung-uk Kim }; 3154d6dd1baeSJung-uk Kim 3155d6dd1baeSJung-uk Kim /* WDAT Subtables - Watchdog Instruction Entries */ 3156d6dd1baeSJung-uk Kim 3157d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[] = 3158d6dd1baeSJung-uk Kim { 3159a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT0_OFFSET (Action), "Watchdog Action", 0}, 3160a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT0_OFFSET (Instruction), "Instruction", 0}, 3161a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDAT0_OFFSET (Reserved), "Reserved", 0}, 3162a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDAT0_OFFSET (RegisterRegion), "Register Region", 0}, 3163a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT0_OFFSET (Value), "Value", 0}, 3164a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT0_OFFSET (Mask), "Register Mask", 0}, 3165a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3166a88e22b7SJung-uk Kim }; 3167a88e22b7SJung-uk Kim 3168a88e22b7SJung-uk Kim 3169a88e22b7SJung-uk Kim /******************************************************************************* 3170a88e22b7SJung-uk Kim * 3171a88e22b7SJung-uk Kim * WDDT - Watchdog Description Table 3172a88e22b7SJung-uk Kim * 3173a88e22b7SJung-uk Kim ******************************************************************************/ 3174a88e22b7SJung-uk Kim 3175a88e22b7SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[] = 3176a88e22b7SJung-uk Kim { 3177a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (SpecVersion), "Specification Version", 0}, 3178a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (TableVersion), "Table Version", 0}, 3179a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 3180a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDDT_OFFSET (Address), "Timer Register", 0}, 3181a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (MaxCount), "Max Count", 0}, 3182a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (MinCount), "Min Count", 0}, 3183a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Period), "Period", 0}, 3184a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Status), "Status (decoded below)", 0}, 3185a88e22b7SJung-uk Kim 3186a88e22b7SJung-uk Kim /* Status Flags byte 0 */ 3187a88e22b7SJung-uk Kim 3188a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDDT_FLAG_OFFSET (Status,0), "Available", 0}, 3189a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WDDT_FLAG_OFFSET (Status,0), "Active", 0}, 3190a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_WDDT_FLAG_OFFSET (Status,0), "OS Owns", 0}, 3191a88e22b7SJung-uk Kim 3192a88e22b7SJung-uk Kim /* Status Flags byte 1 */ 3193a88e22b7SJung-uk Kim 3194a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_WDDT_FLAG_OFFSET (Status,1), "User Reset", 0}, 3195a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_WDDT_FLAG_OFFSET (Status,1), "Timeout Reset", 0}, 3196a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_WDDT_FLAG_OFFSET (Status,1), "Power Fail Reset", 0}, 3197a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_WDDT_FLAG_OFFSET (Status,1), "Unknown Reset", 0}, 3198a88e22b7SJung-uk Kim 3199a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Capability), "Capability (decoded below)", 0}, 3200a88e22b7SJung-uk Kim 3201a88e22b7SJung-uk Kim /* Capability Flags byte 0 */ 3202a88e22b7SJung-uk Kim 3203a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDDT_FLAG_OFFSET (Capability,0), "Auto Reset", 0}, 3204a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WDDT_FLAG_OFFSET (Capability,0), "Timeout Alert", 0}, 3205a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3206d6dd1baeSJung-uk Kim }; 3207d6dd1baeSJung-uk Kim 3208d6dd1baeSJung-uk Kim 3209d6dd1baeSJung-uk Kim /******************************************************************************* 3210d6dd1baeSJung-uk Kim * 32111a39cfb0SJung-uk Kim * WDRT - Watchdog Resource Table 32121a39cfb0SJung-uk Kim * 32131a39cfb0SJung-uk Kim ******************************************************************************/ 32141a39cfb0SJung-uk Kim 32151a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[] = 32161a39cfb0SJung-uk Kim { 3217a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDRT_OFFSET (ControlRegister), "Control Register", 0}, 3218a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDRT_OFFSET (CountRegister), "Count Register", 0}, 3219a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (PciDeviceId), "PCI Device ID", 0}, 3220a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 3221a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciBus), "PCI Bus", 0}, 3222a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciDevice), "PCI Device", 0}, 3223a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciFunction), "PCI Function", 0}, 3224a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciSegment), "PCI Segment", 0}, 3225a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (MaxCount), "Max Count", 0}, 3226a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (Units), "Counter Units", 0}, 3227a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 32281a39cfb0SJung-uk Kim }; 3229d244b227SJung-uk Kim 3230a371a5fdSJung-uk Kim 3231a371a5fdSJung-uk Kim /******************************************************************************* 3232a371a5fdSJung-uk Kim * 3233a371a5fdSJung-uk Kim * WPBT - Windows Platform Environment Table (ACPI 6.0) 3234a371a5fdSJung-uk Kim * Version 1 3235a371a5fdSJung-uk Kim * 3236a371a5fdSJung-uk Kim * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011 3237a371a5fdSJung-uk Kim * 3238a371a5fdSJung-uk Kim ******************************************************************************/ 3239a371a5fdSJung-uk Kim 3240a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[] = 3241a371a5fdSJung-uk Kim { 3242a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_WPBT_OFFSET (HandoffSize), "Handoff Size", 0}, 3243a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_WPBT_OFFSET (HandoffAddress), "Handoff Address", 0}, 3244a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_WPBT_OFFSET (Layout), "Layout", 0}, 3245a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_WPBT_OFFSET (Type), "Type", 0}, 3246a371a5fdSJung-uk Kim {ACPI_DMT_UINT16, ACPI_WPBT_OFFSET (ArgumentsLength), "Arguments Length", 0}, 3247a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 3248a371a5fdSJung-uk Kim }; 3249a371a5fdSJung-uk Kim 3250a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[] = 3251a371a5fdSJung-uk Kim { 3252a371a5fdSJung-uk Kim {ACPI_DMT_UNICODE, sizeof (ACPI_TABLE_WPBT), "Command-line Arguments", 0}, 3253a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 3254a371a5fdSJung-uk Kim }; 3255a371a5fdSJung-uk Kim 3256a371a5fdSJung-uk Kim 3257a371a5fdSJung-uk Kim /******************************************************************************* 3258a371a5fdSJung-uk Kim * 3259af051161SJung-uk Kim * WSMT - Windows SMM Security Migrations Table 3260af051161SJung-uk Kim * 3261af051161SJung-uk Kim ******************************************************************************/ 3262af051161SJung-uk Kim 3263af051161SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[] = 3264af051161SJung-uk Kim { 3265af051161SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WSMT_OFFSET (ProtectionFlags), "Protection Flags", 0}, 3266af051161SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0), "FIXED_COMM_BUFFERS", 0}, 3267af051161SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0), "COMM_BUFFER_NESTED_PTR_PROTECTION", 0}, 3268af051161SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0), "SYSTEM_RESOURCE_PROTECTION", 0}, 3269af051161SJung-uk Kim ACPI_DMT_TERMINATOR 3270af051161SJung-uk Kim }; 3271af051161SJung-uk Kim 3272af051161SJung-uk Kim 3273af051161SJung-uk Kim /******************************************************************************* 3274af051161SJung-uk Kim * 3275a371a5fdSJung-uk Kim * XENV - Xen Environment table (ACPI 6.0) 3276a371a5fdSJung-uk Kim * 3277a371a5fdSJung-uk Kim ******************************************************************************/ 3278a371a5fdSJung-uk Kim 3279a371a5fdSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[] = 3280a371a5fdSJung-uk Kim { 3281a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_XENV_OFFSET (GrantTableAddress), "Grant Table Address", 0}, 3282a371a5fdSJung-uk Kim {ACPI_DMT_UINT64, ACPI_XENV_OFFSET (GrantTableSize), "Grant Table Size", 0}, 3283a371a5fdSJung-uk Kim {ACPI_DMT_UINT32, ACPI_XENV_OFFSET (EventInterrupt), "Event Interrupt", 0}, 3284a371a5fdSJung-uk Kim {ACPI_DMT_UINT8, ACPI_XENV_OFFSET (EventFlags), "Event Flags", 0}, 3285a371a5fdSJung-uk Kim ACPI_DMT_TERMINATOR 3286a371a5fdSJung-uk Kim }; 3287a371a5fdSJung-uk Kim 3288a371a5fdSJung-uk Kim 32893f0275a0SJung-uk Kim /*! [Begin] no source code translation */ 32903f0275a0SJung-uk Kim 3291d244b227SJung-uk Kim /* 32923f0275a0SJung-uk Kim * Generic types (used in UEFI and custom tables) 3293d244b227SJung-uk Kim * 3294d244b227SJung-uk Kim * Examples: 3295d244b227SJung-uk Kim * 3296d244b227SJung-uk Kim * Buffer : cc 04 ff bb 3297d244b227SJung-uk Kim * UINT8 : 11 3298d244b227SJung-uk Kim * UINT16 : 1122 3299d244b227SJung-uk Kim * UINT24 : 112233 3300d244b227SJung-uk Kim * UINT32 : 11223344 3301d244b227SJung-uk Kim * UINT56 : 11223344556677 3302d244b227SJung-uk Kim * UINT64 : 1122334455667788 3303d244b227SJung-uk Kim * 3304d244b227SJung-uk Kim * String : "This is string" 3305d244b227SJung-uk Kim * Unicode : "This string encoded to Unicode" 3306d244b227SJung-uk Kim * 3307d244b227SJung-uk Kim * GUID : 11223344-5566-7788-99aa-bbccddeeff00 3308d244b227SJung-uk Kim * DevicePath : "\PciRoot(0)\Pci(0x1f,1)\Usb(0,0)" 3309d244b227SJung-uk Kim */ 3310d244b227SJung-uk Kim 3311d244b227SJung-uk Kim #define ACPI_DM_GENERIC_ENTRY(FieldType, FieldName) \ 3312d244b227SJung-uk Kim {{FieldType, 0, FieldName, 0}, ACPI_DMT_TERMINATOR} 3313d244b227SJung-uk Kim 3314d244b227SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2] = 3315d244b227SJung-uk Kim { 3316d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT8, "UINT8"), 3317d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT16, "UINT16"), 3318d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT24, "UINT24"), 3319d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT32, "UINT32"), 33203f0275a0SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT40, "UINT40"), 33213f0275a0SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT48, "UINT48"), 3322d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT56, "UINT56"), 3323d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT64, "UINT64"), 3324d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING, "String"), 3325d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UNICODE, "Unicode"), 3326d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_BUFFER, "Buffer"), 3327d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UUID, "GUID"), 3328d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING, "DevicePath"), 33290b94ba42SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_LABEL, "Label"), 3330d244b227SJung-uk Kim {ACPI_DMT_TERMINATOR} 3331d244b227SJung-uk Kim }; 33323f0275a0SJung-uk Kim /*! [End] no source code translation !*/ 3333