xref: /freebsd/sys/contrib/dev/acpica/common/dmtbinfo.c (revision 6c30ff135c08e2991a51a0ba1f1e4d59a35d21a6)
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