xref: /freebsd/sys/contrib/dev/acpica/common/dmtbinfo2.c (revision 07c64d74917e7c8ca61c77413dbd533390e7dca7)
1ff879b07SJung-uk Kim /******************************************************************************
2ff879b07SJung-uk Kim  *
3ff879b07SJung-uk Kim  * Module Name: dmtbinfo2 - Table info for non-AML tables
4ff879b07SJung-uk Kim  *
5ff879b07SJung-uk Kim  *****************************************************************************/
6ff879b07SJung-uk Kim 
7ff879b07SJung-uk Kim /******************************************************************************
8ff879b07SJung-uk Kim  *
9ff879b07SJung-uk Kim  * 1. Copyright Notice
10ff879b07SJung-uk Kim  *
11722b1667SJung-uk Kim  * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
12ff879b07SJung-uk Kim  * All rights reserved.
13ff879b07SJung-uk Kim  *
14ff879b07SJung-uk Kim  * 2. License
15ff879b07SJung-uk Kim  *
16ff879b07SJung-uk Kim  * 2.1. This is your license from Intel Corp. under its intellectual property
17ff879b07SJung-uk Kim  * rights. You may have additional license terms from the party that provided
18ff879b07SJung-uk Kim  * you this software, covering your right to use that party's intellectual
19ff879b07SJung-uk Kim  * property rights.
20ff879b07SJung-uk Kim  *
21ff879b07SJung-uk Kim  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22ff879b07SJung-uk Kim  * copy of the source code appearing in this file ("Covered Code") an
23ff879b07SJung-uk Kim  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24ff879b07SJung-uk Kim  * base code distributed originally by Intel ("Original Intel Code") to copy,
25ff879b07SJung-uk Kim  * make derivatives, distribute, use and display any portion of the Covered
26ff879b07SJung-uk Kim  * Code in any form, with the right to sublicense such rights; and
27ff879b07SJung-uk Kim  *
28ff879b07SJung-uk Kim  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29ff879b07SJung-uk Kim  * license (with the right to sublicense), under only those claims of Intel
30ff879b07SJung-uk Kim  * patents that are infringed by the Original Intel Code, to make, use, sell,
31ff879b07SJung-uk Kim  * offer to sell, and import the Covered Code and derivative works thereof
32ff879b07SJung-uk Kim  * solely to the minimum extent necessary to exercise the above copyright
33ff879b07SJung-uk Kim  * license, and in no event shall the patent license extend to any additions
34ff879b07SJung-uk Kim  * to or modifications of the Original Intel Code. No other license or right
35ff879b07SJung-uk Kim  * is granted directly or by implication, estoppel or otherwise;
36ff879b07SJung-uk Kim  *
37ff879b07SJung-uk Kim  * The above copyright and patent license is granted only if the following
38ff879b07SJung-uk Kim  * conditions are met:
39ff879b07SJung-uk Kim  *
40ff879b07SJung-uk Kim  * 3. Conditions
41ff879b07SJung-uk Kim  *
42ff879b07SJung-uk Kim  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43ff879b07SJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
44ff879b07SJung-uk Kim  * Code or modification with rights to further distribute source must include
45ff879b07SJung-uk Kim  * the above Copyright Notice, the above License, this list of Conditions,
46ff879b07SJung-uk Kim  * and the following Disclaimer and Export Compliance provision. In addition,
47ff879b07SJung-uk Kim  * Licensee must cause all Covered Code to which Licensee contributes to
48ff879b07SJung-uk Kim  * contain a file documenting the changes Licensee made to create that Covered
49ff879b07SJung-uk Kim  * Code and the date of any change. Licensee must include in that file the
50ff879b07SJung-uk Kim  * documentation of any changes made by any predecessor Licensee. Licensee
51ff879b07SJung-uk Kim  * must include a prominent statement that the modification is derived,
52ff879b07SJung-uk Kim  * directly or indirectly, from Original Intel Code.
53ff879b07SJung-uk Kim  *
54ff879b07SJung-uk Kim  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55ff879b07SJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
56ff879b07SJung-uk Kim  * Code or modification without rights to further distribute source must
57ff879b07SJung-uk Kim  * include the following Disclaimer and Export Compliance provision in the
58ff879b07SJung-uk Kim  * documentation and/or other materials provided with distribution. In
59ff879b07SJung-uk Kim  * addition, Licensee may not authorize further sublicense of source of any
60ff879b07SJung-uk Kim  * portion of the Covered Code, and must include terms to the effect that the
61ff879b07SJung-uk Kim  * license from Licensee to its licensee is limited to the intellectual
62ff879b07SJung-uk Kim  * property embodied in the software Licensee provides to its licensee, and
63ff879b07SJung-uk Kim  * not to intellectual property embodied in modifications its licensee may
64ff879b07SJung-uk Kim  * make.
65ff879b07SJung-uk Kim  *
66ff879b07SJung-uk Kim  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67ff879b07SJung-uk Kim  * substantial portion of the Covered Code or modification must reproduce the
68ff879b07SJung-uk Kim  * above Copyright Notice, and the following Disclaimer and Export Compliance
69ff879b07SJung-uk Kim  * provision in the documentation and/or other materials provided with the
70ff879b07SJung-uk Kim  * distribution.
71ff879b07SJung-uk Kim  *
72ff879b07SJung-uk Kim  * 3.4. Intel retains all right, title, and interest in and to the Original
73ff879b07SJung-uk Kim  * Intel Code.
74ff879b07SJung-uk Kim  *
75ff879b07SJung-uk Kim  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76ff879b07SJung-uk Kim  * Intel shall be used in advertising or otherwise to promote the sale, use or
77ff879b07SJung-uk Kim  * other dealings in products derived from or relating to the Covered Code
78ff879b07SJung-uk Kim  * without prior written authorization from Intel.
79ff879b07SJung-uk Kim  *
80ff879b07SJung-uk Kim  * 4. Disclaimer and Export Compliance
81ff879b07SJung-uk Kim  *
82ff879b07SJung-uk Kim  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83ff879b07SJung-uk Kim  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84ff879b07SJung-uk Kim  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85ff879b07SJung-uk Kim  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86ff879b07SJung-uk Kim  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87ff879b07SJung-uk Kim  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88ff879b07SJung-uk Kim  * PARTICULAR PURPOSE.
89ff879b07SJung-uk Kim  *
90ff879b07SJung-uk Kim  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91ff879b07SJung-uk Kim  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92ff879b07SJung-uk Kim  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93ff879b07SJung-uk Kim  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94ff879b07SJung-uk Kim  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95ff879b07SJung-uk Kim  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96ff879b07SJung-uk Kim  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97ff879b07SJung-uk Kim  * LIMITED REMEDY.
98ff879b07SJung-uk Kim  *
99ff879b07SJung-uk Kim  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100ff879b07SJung-uk Kim  * software or system incorporating such software without first obtaining any
101ff879b07SJung-uk Kim  * required license or other approval from the U. S. Department of Commerce or
102ff879b07SJung-uk Kim  * any other agency or department of the United States Government. In the
103ff879b07SJung-uk Kim  * event Licensee exports any such software from the United States or
104ff879b07SJung-uk Kim  * re-exports any such software from a foreign destination, Licensee shall
105ff879b07SJung-uk Kim  * ensure that the distribution and export/re-export of the software is in
106ff879b07SJung-uk Kim  * compliance with all laws, regulations, orders, or other restrictions of the
107ff879b07SJung-uk Kim  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108ff879b07SJung-uk Kim  * any of its subsidiaries will export/re-export any technical data, process,
109ff879b07SJung-uk Kim  * software, or service, directly or indirectly, to any country for which the
110ff879b07SJung-uk Kim  * United States government or any agency thereof requires an export license,
111ff879b07SJung-uk Kim  * other governmental approval, or letter of assurance, without first obtaining
112ff879b07SJung-uk Kim  * such license, approval or letter.
113ff879b07SJung-uk Kim  *
114ff879b07SJung-uk Kim  *****************************************************************************
115ff879b07SJung-uk Kim  *
116ff879b07SJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
117ff879b07SJung-uk Kim  * following license:
118ff879b07SJung-uk Kim  *
119ff879b07SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
120ff879b07SJung-uk Kim  * modification, are permitted provided that the following conditions
121ff879b07SJung-uk Kim  * are met:
122ff879b07SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
123ff879b07SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
124ff879b07SJung-uk Kim  *    without modification.
125ff879b07SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126ff879b07SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
127ff879b07SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
128ff879b07SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
129ff879b07SJung-uk Kim  *    binary redistribution.
130ff879b07SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
131ff879b07SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
132ff879b07SJung-uk Kim  *    from this software without specific prior written permission.
133ff879b07SJung-uk Kim  *
134ff879b07SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135ff879b07SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136ff879b07SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137ff879b07SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138ff879b07SJung-uk Kim  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139ff879b07SJung-uk Kim  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140ff879b07SJung-uk Kim  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141ff879b07SJung-uk Kim  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142ff879b07SJung-uk Kim  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143ff879b07SJung-uk Kim  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144ff879b07SJung-uk Kim  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145ff879b07SJung-uk Kim  *
146ff879b07SJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
147ff879b07SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
148ff879b07SJung-uk Kim  * Software Foundation.
149ff879b07SJung-uk Kim  *
150ff879b07SJung-uk Kim  *****************************************************************************/
151ff879b07SJung-uk Kim 
152ff879b07SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h>
153ff879b07SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h>
154ff879b07SJung-uk Kim #include <contrib/dev/acpica/include/acdisasm.h>
155ff879b07SJung-uk Kim #include <contrib/dev/acpica/include/actbinfo.h>
156ff879b07SJung-uk Kim 
157ff879b07SJung-uk Kim /* This module used for application-level code only */
158ff879b07SJung-uk Kim 
159ff879b07SJung-uk Kim #define _COMPONENT          ACPI_CA_DISASSEMBLER
160ff879b07SJung-uk Kim         ACPI_MODULE_NAME    ("dmtbinfo2")
161ff879b07SJung-uk Kim 
162ff879b07SJung-uk Kim /*
163ff879b07SJung-uk Kim  * How to add a new table:
164ff879b07SJung-uk Kim  *
165ff879b07SJung-uk Kim  * - Add the C table definition to the actbl1.h or actbl2.h header.
166ff879b07SJung-uk Kim  * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below.
167ff879b07SJung-uk Kim  * - Define the table in this file (for the disassembler). If any
168ff879b07SJung-uk Kim  *   new data types are required (ACPI_DMT_*), see below.
169ff879b07SJung-uk Kim  * - Add an external declaration for the new table definition (AcpiDmTableInfo*)
170ff879b07SJung-uk Kim  *     in acdisam.h
171ff879b07SJung-uk Kim  * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData)
172ff879b07SJung-uk Kim  *     If a simple table (with no subtables), no disassembly code is needed.
173ff879b07SJung-uk Kim  *     Otherwise, create the AcpiDmDump* function for to disassemble the table
174ff879b07SJung-uk Kim  *     and add it to the dmtbdump.c file.
175ff879b07SJung-uk Kim  * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h
176ff879b07SJung-uk Kim  * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c
177ff879b07SJung-uk Kim  * - Create a template for the new table
178ff879b07SJung-uk Kim  * - Add data table compiler support
179ff879b07SJung-uk Kim  *
180ff879b07SJung-uk Kim  * How to add a new data type (ACPI_DMT_*):
181ff879b07SJung-uk Kim  *
182ff879b07SJung-uk Kim  * - Add new type at the end of the ACPI_DMT list in acdisasm.h
183ff879b07SJung-uk Kim  * - Add length and implementation cases in dmtable.c  (disassembler)
184ff879b07SJung-uk Kim  * - Add type and length cases in dtutils.c (DT compiler)
185ff879b07SJung-uk Kim  */
186ff879b07SJung-uk Kim 
187ff879b07SJung-uk Kim /*
188ff879b07SJung-uk Kim  * Remaining tables are not consumed directly by the ACPICA subsystem
189ff879b07SJung-uk Kim  */
190ff879b07SJung-uk Kim 
191ab71bbb7SJung-uk Kim /*******************************************************************************
192ab71bbb7SJung-uk Kim  *
193ab71bbb7SJung-uk Kim  * AGDI - Arm Generic Diagnostic Dump and Reset Device Interface
194ab71bbb7SJung-uk Kim  *
195ab71bbb7SJung-uk Kim  * Conforms to "ACPI for Arm Components 1.1, Platform Design Document"
196ab71bbb7SJung-uk Kim  * ARM DEN0093 v1.1
197ab71bbb7SJung-uk Kim  *
198ab71bbb7SJung-uk Kim  ******************************************************************************/
199ab71bbb7SJung-uk Kim 
200ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoAgdi[] =
201ab71bbb7SJung-uk Kim {
202ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_AGDI_OFFSET (Flags),                   "Flags (decoded below)", 0},
203ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_AGDI_FLAG_OFFSET (Flags, 0),           "Signalling mode", 0},
204ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_AGDI_OFFSET (Reserved[0]),             "Reserved", 0},
205ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_AGDI_OFFSET (SdeiEvent),               "SdeiEvent", 0},
206ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_AGDI_OFFSET (Gsiv),                    "Gsiv", 0},
207ab71bbb7SJung-uk Kim     ACPI_DMT_TERMINATOR
208ab71bbb7SJung-uk Kim };
209ab71bbb7SJung-uk Kim 
210ab71bbb7SJung-uk Kim 
211ab71bbb7SJung-uk Kim /*******************************************************************************
212ab71bbb7SJung-uk Kim  *
213ab71bbb7SJung-uk Kim  * APMT - ARM Performance Monitoring Unit Table
214ab71bbb7SJung-uk Kim  *
215ab71bbb7SJung-uk Kim  * Conforms to:
216ab71bbb7SJung-uk Kim  * ARM Performance Monitoring Unit Architecture 1.0 Platform Design Document
217ab71bbb7SJung-uk Kim  * ARM DEN0117 v1.0 November 25, 2021
218ab71bbb7SJung-uk Kim  *
219ab71bbb7SJung-uk Kim  ******************************************************************************/
220ab71bbb7SJung-uk Kim 
221ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoApmtNode[] =
222ab71bbb7SJung-uk Kim {
223ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT16,  ACPI_APMTN_OFFSET (Length),                  "Length of APMT Node", 0},
224ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_APMTN_OFFSET (Flags),                   "Node Flags", 0},
225ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG0,   ACPI_APMTN_FLAG_OFFSET (Flags, 0),           "Dual Page Extension", 0},
226ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG1,   ACPI_APMTN_FLAG_OFFSET (Flags, 0),           "Processor Affinity Type", 0},
227ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG2,   ACPI_APMTN_FLAG_OFFSET (Flags, 0),           "64-bit Atomic Support", 0},
228ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_APMTN_OFFSET (Type),                    "Node Type", 0},
229ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (Id),                      "Unique Node Identifier", 0},
230ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_APMTN_OFFSET (InstPrimary),             "Primary Node Instance", 0},
231ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (InstSecondary),           "Secondary Node Instance", 0},
232ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_APMTN_OFFSET (BaseAddress0),            "Page 0 Base Address", 0},
233ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_APMTN_OFFSET (BaseAddress1),            "Page 1 Base Address", 0},
234ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (OvflwIrq),                "Overflow Interrupt ID", 0},
235ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (Reserved),                "Reserved", 0},
236ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (OvflwIrqFlags),           "Overflow Interrupt Flags", 0},
237ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG0,   ACPI_APMTN_FLAG_OFFSET (OvflwIrqFlags, 0),   "Interrupt Mode", 0},
238ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG1,   ACPI_APMTN_FLAG_OFFSET (OvflwIrqFlags, 0),   "Interrupt Type", 0},
239ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (ProcAffinity),            "Processor Affinity", 0},
240ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_APMTN_OFFSET (ImplId),                  "Implementation ID", 0},
241ab71bbb7SJung-uk Kim     ACPI_DMT_TERMINATOR
242ab71bbb7SJung-uk Kim };
243ab71bbb7SJung-uk Kim 
244ff879b07SJung-uk Kim 
245ff879b07SJung-uk Kim /*******************************************************************************
246ff879b07SJung-uk Kim  *
247ff879b07SJung-uk Kim  * IORT - IO Remapping Table
248ff879b07SJung-uk Kim  *
249ff879b07SJung-uk Kim  ******************************************************************************/
250ff879b07SJung-uk Kim 
251ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort[] =
252ff879b07SJung-uk Kim {
253ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (NodeCount),               "Node Count", 0},
254ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (NodeOffset),              "Node Offset", 0},
255ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (Reserved),                "Reserved", 0},
256ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
257ff879b07SJung-uk Kim };
258ff879b07SJung-uk Kim 
259ff879b07SJung-uk Kim /* Optional padding field */
260ff879b07SJung-uk Kim 
261ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIortPad[] =
262ff879b07SJung-uk Kim {
263ff879b07SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Optional Padding", DT_OPTIONAL},
264ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
265ff879b07SJung-uk Kim };
266ff879b07SJung-uk Kim 
267ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
268ff879b07SJung-uk Kim 
269ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIortHdr[] =
270ff879b07SJung-uk Kim {
271ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Type),                   "Type", 0},
272ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IORTH_OFFSET (Length),                 "Length", DT_LENGTH},
273ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Revision),               "Revision", 0},
274cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (Identifier),             "Reserved", 0},
275cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingCount),           "Mapping Count", 0},
276cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingOffset),          "Mapping Offset", 0},
277cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
278cfd1ed46SJung-uk Kim };
279cfd1ed46SJung-uk Kim 
280cfd1ed46SJung-uk Kim /* Common Subtable header (one per Subtable)- Revision 3 */
281cfd1ed46SJung-uk Kim 
282cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIortHdr3[] =
283cfd1ed46SJung-uk Kim {
284cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Type),                   "Type", 0},
285cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IORTH_OFFSET (Length),                 "Length", DT_LENGTH},
286cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Revision),               "Revision", 0},
287cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (Identifier),             "Identifier", 0},
288ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingCount),           "Mapping Count", 0},
289ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingOffset),          "Mapping Offset", 0},
290ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
291ff879b07SJung-uk Kim };
292ff879b07SJung-uk Kim 
293ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIortMap[] =
294ff879b07SJung-uk Kim {
295ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (InputBase),              "Input base", DT_OPTIONAL},
296ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (IdCount),                "ID Count", 0},
297ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (OutputBase),             "Output Base", 0},
298ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (OutputReference),        "Output Reference", 0},
299ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (Flags),                  "Flags (decoded below)", 0},
300ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORTM_FLAG_OFFSET (Flags, 0),          "Single Mapping", 0},
301ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
302ff879b07SJung-uk Kim };
303ff879b07SJung-uk Kim 
304ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIortAcc[] =
305ff879b07SJung-uk Kim {
306ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORTA_OFFSET (CacheCoherency),         "Cache Coherency", 0},
307ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTA_OFFSET (Hints),                  "Hints (decoded below)", 0},
308ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Transient", 0},
309ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Write Allocate", 0},
310ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Read Allocate", 0},
311ff879b07SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Override", 0},
312ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IORTA_OFFSET (Reserved),               "Reserved", 0},
313ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORTA_OFFSET (MemoryFlags),            "Memory Flags (decoded below)", 0},
314ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0),    "Coherency", 0},
315ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0),    "Device Attribute", 0},
316ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
317ff879b07SJung-uk Kim };
318ff879b07SJung-uk Kim 
319ff879b07SJung-uk Kim /* IORT subtables */
320ff879b07SJung-uk Kim 
321ff879b07SJung-uk Kim /* 0x00: ITS Group */
322ff879b07SJung-uk Kim 
323ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort0[] =
324ff879b07SJung-uk Kim {
325ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT0_OFFSET (ItsCount),               "ItsCount", 0},
326ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
327ff879b07SJung-uk Kim };
328ff879b07SJung-uk Kim 
329ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort0a[] =
330ff879b07SJung-uk Kim {
331ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   0,                                          "Identifiers", DT_OPTIONAL},
332ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
333ff879b07SJung-uk Kim };
334ff879b07SJung-uk Kim 
335ff879b07SJung-uk Kim /* 0x01: Named Component */
336ff879b07SJung-uk Kim 
337ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort1[] =
338ff879b07SJung-uk Kim {
339ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT1_OFFSET (NodeFlags),              "Node Flags", 0},
340ff879b07SJung-uk Kim     {ACPI_DMT_IORTMEM,  ACPI_IORT1_OFFSET (MemoryProperties),       "Memory Properties", 0},
341ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORT1_OFFSET (MemoryAddressLimit),     "Memory Size Limit", 0},
342ff879b07SJung-uk Kim     {ACPI_DMT_STRING,   ACPI_IORT1_OFFSET (DeviceName[0]),          "Device Name", 0},
343ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
344ff879b07SJung-uk Kim };
345ff879b07SJung-uk Kim 
346ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort1a[] =
347ff879b07SJung-uk Kim {
348ff879b07SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Padding", DT_OPTIONAL},
349ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
350ff879b07SJung-uk Kim };
351ff879b07SJung-uk Kim 
352ff879b07SJung-uk Kim /* 0x02: PCI Root Complex */
353ff879b07SJung-uk Kim 
354ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort2[] =
355ff879b07SJung-uk Kim {
356ff879b07SJung-uk Kim     {ACPI_DMT_IORTMEM,  ACPI_IORT2_OFFSET (MemoryProperties),       "Memory Properties", 0},
357ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT2_OFFSET (AtsAttribute),           "ATS Attribute", 0},
358ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT2_OFFSET (PciSegmentNumber),       "PCI Segment Number", 0},
3593d90091dSJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORT2_OFFSET (MemoryAddressLimit),     "Memory Size Limit", 0},
360ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IORT2_OFFSET (PasidCapabilities),      "PASID Capabilities", 0},
361ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IORT2_OFFSET (Reserved[0]),            "Reserved", 0},
362ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
363ff879b07SJung-uk Kim };
364ff879b07SJung-uk Kim 
365ff879b07SJung-uk Kim /* 0x03: SMMUv1/2 */
366ff879b07SJung-uk Kim 
367ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3[] =
368ff879b07SJung-uk Kim {
369ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT3_OFFSET (BaseAddress),            "Base Address", 0},
370ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT3_OFFSET (Span),                   "Span", 0},
371ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (Model),                  "Model", 0},
372ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (Flags),                  "Flags (decoded below)", 0},
373ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORT3_FLAG_OFFSET (Flags, 0),          "DVM Supported", 0},
374ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IORT3_FLAG_OFFSET (Flags, 0),          "Coherent Walk", 0},
375ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (GlobalInterruptOffset),  "Global Interrupt Offset", 0},
376ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (ContextInterruptCount),  "Context Interrupt Count", 0},
377ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (ContextInterruptOffset), "Context Interrupt Offset", 0},
378ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (PmuInterruptCount),      "PMU Interrupt Count", 0},
379ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (PmuInterruptOffset),     "PMU Interrupt Offset", 0},
380ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
381ff879b07SJung-uk Kim };
382ff879b07SJung-uk Kim 
383ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3a[] =
384ff879b07SJung-uk Kim {
385ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgIrpt),                   "NSgIrpt", 0},
386ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgIrptFlags),              "NSgIrpt Flags (decoded below)", 0},
387ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORT3a_FLAG_OFFSET (NSgIrptFlags, 0),      "Edge Triggered", 0},
388ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgCfgIrpt),                "NSgCfgIrpt", 0},
389ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgCfgIrptFlags),           "NSgCfgIrpt Flags (decoded below)", 0},
390ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORT3a_FLAG_OFFSET (NSgCfgIrptFlags, 0),   "Edge Triggered", 0},
391ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
392ff879b07SJung-uk Kim };
393ff879b07SJung-uk Kim 
394ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3b[] =
395ff879b07SJung-uk Kim {
396ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   0,                                          "Context Interrupt", DT_OPTIONAL},
397ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
398ff879b07SJung-uk Kim };
399ff879b07SJung-uk Kim 
400ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3c[] =
401ff879b07SJung-uk Kim {
402ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   0,                                          "PMU Interrupt", DT_OPTIONAL},
403ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
404ff879b07SJung-uk Kim };
405ff879b07SJung-uk Kim 
406ff879b07SJung-uk Kim /* 0x04: SMMUv3 */
407ff879b07SJung-uk Kim 
408ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort4[] =
409ff879b07SJung-uk Kim {
410ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT4_OFFSET (BaseAddress),            "Base Address", 0},
411ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Flags),                  "Flags (decoded below)", 0},
412ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "COHACC Override", 0},
413ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "HTTU Override", 0},
414ff879b07SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "Proximity Domain Valid", 0},
4159a4bc520SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "DeviceID Valid", 0},
416ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Reserved),               "Reserved", 0},
417ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT4_OFFSET (VatosAddress),           "VATOS Address", 0},
418ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Model),                  "Model", 0},
419ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (EventGsiv),              "Event GSIV", 0},
420ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (PriGsiv),                "PRI GSIV", 0},
421ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (GerrGsiv),               "GERR GSIV", 0},
422ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (SyncGsiv),               "Sync GSIV", 0},
4233d90091dSJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Pxm),                    "Proximity Domain", 0},
424ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (IdMappingIndex),         "Device ID Mapping Index", 0},
425ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
426ff879b07SJung-uk Kim };
427ff879b07SJung-uk Kim 
4283d90091dSJung-uk Kim /* 0x05: PMCG */
4293d90091dSJung-uk Kim 
4303d90091dSJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort5[] =
4313d90091dSJung-uk Kim {
4323d90091dSJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT5_OFFSET (Page0BaseAddress),       "Page 0 Base Address", 0},
4333d90091dSJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT5_OFFSET (OverflowGsiv),           "Overflow Interrupt GSIV", 0},
4343d90091dSJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT5_OFFSET (NodeReference),          "Node Reference", 0},
4353d90091dSJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT5_OFFSET (Page1BaseAddress),       "Page 1 Base Address", 0},
4363d90091dSJung-uk Kim     ACPI_DMT_TERMINATOR
4373d90091dSJung-uk Kim };
4383d90091dSJung-uk Kim 
439ff879b07SJung-uk Kim 
440cfd1ed46SJung-uk Kim /* 0x06: RMR */
441cfd1ed46SJung-uk Kim 
442cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort6[] =
443cfd1ed46SJung-uk Kim {
444cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT6_OFFSET (Flags),                  "Flags (decoded below)", 0},
445cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IORT6_FLAG_OFFSET (Flags, 0),          "Remapping Permitted", 0},
446ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IORT6_FLAG_OFFSET (Flags, 0),          "Access Privileged", 0},
447ab71bbb7SJung-uk Kim     {ACPI_DMT_FLAGS8_2, ACPI_IORT6_FLAG_OFFSET (Flags, 0),          "Access Attributes", 0},
448cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT6_OFFSET (RmrCount),               "Number of RMR Descriptors", 0},
449cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT6_OFFSET (RmrOffset),              "RMR Descriptor Offset", 0},
450cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
451cfd1ed46SJung-uk Kim };
452cfd1ed46SJung-uk Kim 
453cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIort6a[] =
454cfd1ed46SJung-uk Kim {
455cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT6A_OFFSET (BaseAddress),           "Base Address of RMR", DT_OPTIONAL},
456cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IORT6A_OFFSET (Length),                "Length of RMR", 0},
457cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IORT6A_OFFSET (Reserved),              "Reserved", 0},
458cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
459cfd1ed46SJung-uk Kim };
460cfd1ed46SJung-uk Kim 
461ff879b07SJung-uk Kim /*******************************************************************************
462ff879b07SJung-uk Kim  *
463ff879b07SJung-uk Kim  * IVRS - I/O Virtualization Reporting Structure
464ff879b07SJung-uk Kim  *
465ff879b07SJung-uk Kim  ******************************************************************************/
466ff879b07SJung-uk Kim 
467ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs[] =
468ff879b07SJung-uk Kim {
469ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IVRS_OFFSET (Info),                    "Virtualization Info", 0},
470ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS_OFFSET (Reserved),                "Reserved", 0},
471ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
472ff879b07SJung-uk Kim };
473ff879b07SJung-uk Kim 
474ff879b07SJung-uk Kim /* IVRS subtables */
475ff879b07SJung-uk Kim 
476ff879b07SJung-uk Kim /* 0x10: I/O Virtualization Hardware Definition (IVHD) Block */
477ff879b07SJung-uk Kim 
4781970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHware1[] =
479ff879b07SJung-uk Kim {
4801970d693SJung-uk Kim     {ACPI_DMT_IVRS,     ACPI_IVRSH_OFFSET (Type),                   "Subtable Type", 0},
4811970d693SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRSH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
4821970d693SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "HtTunEn", 0},
4831970d693SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "PassPW", 0},
4841970d693SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "ResPassPW", 0},
4851970d693SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Isoc Control", 0},
4861970d693SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Iotlb Support", 0},
4871970d693SJung-uk Kim     {ACPI_DMT_FLAG5,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Coherent", 0},
4881970d693SJung-uk Kim     {ACPI_DMT_FLAG6,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Prefetch Support", 0},
4891970d693SJung-uk Kim     {ACPI_DMT_FLAG7,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "PPR Support", 0},
4901970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (Length),                 "Length", DT_LENGTH},
4911970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (DeviceId),               "DeviceId", 0},
492ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (CapabilityOffset),       "Capability Offset", 0},
493ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS0_OFFSET (BaseAddress),            "Base Address", 0},
494ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (PciSegmentGroup),        "PCI Segment Group", 0},
495ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (Info),                   "Virtualization Info", 0},
4963ee58df5SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IVRS0_OFFSET (FeatureReporting),       "Feature Reporting", 0},
4973ee58df5SJung-uk Kim     ACPI_DMT_TERMINATOR
4983ee58df5SJung-uk Kim };
4993ee58df5SJung-uk Kim 
5001970d693SJung-uk Kim /* 0x11, 0x40: I/O Virtualization Hardware Definition (IVHD) Block */
5013ee58df5SJung-uk Kim 
5021970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHware23[] =
5033ee58df5SJung-uk Kim {
5041970d693SJung-uk Kim     {ACPI_DMT_IVRS,     ACPI_IVRSH_OFFSET (Type),                   "Subtable Type", 0},
5051970d693SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRSH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
5061970d693SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "HtTunEn", 0},
5071970d693SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "PassPW", 0},
5081970d693SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "ResPassPW", 0},
5091970d693SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Isoc Control", 0},
5101970d693SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Iotlb Support", 0},
5111970d693SJung-uk Kim     {ACPI_DMT_FLAG5,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Coherent", 0},
5121970d693SJung-uk Kim     {ACPI_DMT_FLAG6,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Prefetch Support", 0},
5131970d693SJung-uk Kim     {ACPI_DMT_FLAG7,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "PPR Support", 0},
5141970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS01_OFFSET (Header.Length),         "Length", DT_LENGTH},
5151970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS01_OFFSET (Header.DeviceId),       "DeviceId", 0},
5163ee58df5SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS01_OFFSET (CapabilityOffset),      "Capability Offset", 0},
5173ee58df5SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS01_OFFSET (BaseAddress),           "Base Address", 0},
5183ee58df5SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS01_OFFSET (PciSegmentGroup),       "PCI Segment Group", 0},
5193ee58df5SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS01_OFFSET (Info),                  "Virtualization Info", 0},
5203ee58df5SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IVRS01_OFFSET (Attributes),            "Attributes", 0},
5213ee58df5SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS01_OFFSET (EfrRegisterImage),      "EFR Image", 0},
5223ee58df5SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS01_OFFSET (Reserved),              "Reserved", 0},
523ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
524ff879b07SJung-uk Kim };
525ff879b07SJung-uk Kim 
5261970d693SJung-uk Kim /* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition (IVMD) Device Entry Block */
527ff879b07SJung-uk Kim 
5281970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsMemory[] =
529ff879b07SJung-uk Kim {
5301970d693SJung-uk Kim     {ACPI_DMT_IVRS,     ACPI_IVRSH_OFFSET (Type),                   "Subtable Type", 0},
5311970d693SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRSH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
5321970d693SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Unity", 0},
5331970d693SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Readable", 0},
5341970d693SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Writeable", 0},
5351970d693SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IVRS_FLAG_OFFSET (Flags,0),            "Exclusion Range", 0},
5361970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (Length),                 "Length", DT_LENGTH},
5371970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (DeviceId),               "DeviceId", 0},
538ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS1_OFFSET (AuxData),                "Auxiliary Data", 0},
539ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (Reserved),               "Reserved", 0},
540ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (StartAddress),           "Start Address", 0},
541ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (MemoryLength),           "Memory Length", 0},
542ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
543ff879b07SJung-uk Kim };
544ff879b07SJung-uk Kim 
545ff879b07SJung-uk Kim /* Device entry header for IVHD block */
546ff879b07SJung-uk Kim 
547ff879b07SJung-uk Kim #define ACPI_DMT_IVRS_DE_HEADER \
5481970d693SJung-uk Kim     {ACPI_DMT_IVRS_DE,  ACPI_IVRSD_OFFSET (Type),                   "Subtable Type", 0}, \
549ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRSD_OFFSET (Id),                     "Device ID", 0}, \
5501970d693SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRSD_OFFSET (DataSetting),            "Data Setting (decoded below)", 0}, \
5511970d693SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "INITPass", 0}, \
5521970d693SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "EIntPass", 0}, \
5531970d693SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "NMIPass", 0}, \
5541970d693SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "Reserved", 0}, \
5551970d693SJung-uk Kim     {ACPI_DMT_FLAGS4,   ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "System MGMT", 0}, \
5561970d693SJung-uk Kim     {ACPI_DMT_FLAG6,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "LINT0 Pass", 0}, \
5571970d693SJung-uk Kim     {ACPI_DMT_FLAG7,    ACPI_IVRSDE_FLAG_OFFSET (DataSetting, 0),   "LINT1 Pass", 0}
558ff879b07SJung-uk Kim 
5591970d693SJung-uk Kim /* 4-byte device entry (Types 1,2,3,4) */
560ff879b07SJung-uk Kim 
561ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs4[] =
562ff879b07SJung-uk Kim {
563ff879b07SJung-uk Kim     ACPI_DMT_IVRS_DE_HEADER,
5641970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
565ff879b07SJung-uk Kim };
566ff879b07SJung-uk Kim 
5671970d693SJung-uk Kim /* 8-byte device entry (Type Alias Select, Alias Start of Range) */
568ff879b07SJung-uk Kim 
569ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8a[] =
570ff879b07SJung-uk Kim {
571ff879b07SJung-uk Kim     ACPI_DMT_IVRS_DE_HEADER,
572ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRS8A_OFFSET (Reserved1),             "Reserved", 0},
573ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS8A_OFFSET (UsedId),                "Source Used Device ID", 0},
574ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRS8A_OFFSET (Reserved2),             "Reserved", 0},
575ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
576ff879b07SJung-uk Kim };
577ff879b07SJung-uk Kim 
5781970d693SJung-uk Kim /* 8-byte device entry (Type Extended Select, Extended Start of Range) */
579ff879b07SJung-uk Kim 
580ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8b[] =
581ff879b07SJung-uk Kim {
582ff879b07SJung-uk Kim     ACPI_DMT_IVRS_DE_HEADER,
583ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_IVRS8B_OFFSET (ExtendedData),          "Extended Data", 0},
584ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
585ff879b07SJung-uk Kim };
586ff879b07SJung-uk Kim 
5871970d693SJung-uk Kim /* 8-byte device entry (Type Special Device) */
588ff879b07SJung-uk Kim 
589ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8c[] =
590ff879b07SJung-uk Kim {
591ff879b07SJung-uk Kim     ACPI_DMT_IVRS_DE_HEADER,
592ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRS8C_OFFSET (Handle),                "Handle", 0},
593ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_IVRS8C_OFFSET (UsedId),                "Source Used Device ID", 0},
594ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_IVRS8C_OFFSET (Variety),               "Variety", 0},
595ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
596ff879b07SJung-uk Kim };
597ff879b07SJung-uk Kim 
5981970d693SJung-uk Kim /* Variable-length Device Entry Type 0xF0 */
599cfd1ed46SJung-uk Kim 
600cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHid[] =
601cfd1ed46SJung-uk Kim {
602cfd1ed46SJung-uk Kim     ACPI_DMT_IVRS_DE_HEADER,
603cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
604cfd1ed46SJung-uk Kim };
605cfd1ed46SJung-uk Kim 
6061970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsUidString[] =
607cfd1ed46SJung-uk Kim {
6081970d693SJung-uk Kim     {ACPI_DMT_UINT8,    0,                                          "UID Format", DT_DESCRIBES_OPTIONAL},
6091970d693SJung-uk Kim     {ACPI_DMT_UINT8,    1,                                          "UID Length", DT_DESCRIBES_OPTIONAL},
6101970d693SJung-uk Kim     {ACPI_DMT_IVRS_UNTERMINATED_STRING, 2,                          "UID", DT_OPTIONAL},
6111970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
6121970d693SJung-uk Kim };
6131970d693SJung-uk Kim 
6141970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsUidInteger[] =
6151970d693SJung-uk Kim {
6161970d693SJung-uk Kim     {ACPI_DMT_UINT8,    0,                                          "UID Format", DT_DESCRIBES_OPTIONAL},
6171970d693SJung-uk Kim     {ACPI_DMT_UINT8,    1,                                          "UID Length", DT_DESCRIBES_OPTIONAL},
6181970d693SJung-uk Kim     {ACPI_DMT_UINT64, 2,                                            "UID", DT_OPTIONAL},
6191970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
6201970d693SJung-uk Kim };
6211970d693SJung-uk Kim 
6221970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHidString[] =
6231970d693SJung-uk Kim {
6241970d693SJung-uk Kim     {ACPI_DMT_NAME8,        0,                                      "ACPI HID", 0},
6251970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
6261970d693SJung-uk Kim };
6271970d693SJung-uk Kim 
6281970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHidInteger[] =
6291970d693SJung-uk Kim {
6301970d693SJung-uk Kim     {ACPI_DMT_UINT64,       0,                                      "ACPI HID", 0},
6311970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
6321970d693SJung-uk Kim };
6331970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsCidString[] =
6341970d693SJung-uk Kim {
6351970d693SJung-uk Kim     {ACPI_DMT_NAME8,        0,                                      "ACPI CID", 0},
6361970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
6371970d693SJung-uk Kim };
6381970d693SJung-uk Kim 
6391970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsCidInteger[] =
6401970d693SJung-uk Kim {
6411970d693SJung-uk Kim     {ACPI_DMT_UINT64,       0,                                      "ACPI CID", 0},
642cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
643cfd1ed46SJung-uk Kim };
644cfd1ed46SJung-uk Kim 
645ff879b07SJung-uk Kim 
646ff879b07SJung-uk Kim /*******************************************************************************
647ff879b07SJung-uk Kim  *
648ff879b07SJung-uk Kim  * LPIT - Low Power Idle Table
649ff879b07SJung-uk Kim  *
650ff879b07SJung-uk Kim  ******************************************************************************/
651ff879b07SJung-uk Kim 
652ff879b07SJung-uk Kim /* Main table consists only of the standard ACPI table header */
653ff879b07SJung-uk Kim 
654ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
655ff879b07SJung-uk Kim 
656ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoLpitHdr[] =
657ff879b07SJung-uk Kim {
658ff879b07SJung-uk Kim     {ACPI_DMT_LPIT,     ACPI_LPITH_OFFSET (Type),                   "Subtable Type", 0},
659ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_LPITH_OFFSET (Length),                 "Length", DT_LENGTH},
660ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_LPITH_OFFSET (UniqueId),               "Unique ID", 0},
661ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_LPITH_OFFSET (Reserved),               "Reserved", 0},
662ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_LPITH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
663ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_LPITH_FLAG_OFFSET (Flags, 0),          "State Disabled", 0},
664ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_LPITH_FLAG_OFFSET (Flags, 0),          "No Counter", 0},
665ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
666ff879b07SJung-uk Kim };
667ff879b07SJung-uk Kim 
668ff879b07SJung-uk Kim /* LPIT Subtables */
669ff879b07SJung-uk Kim 
670ff879b07SJung-uk Kim /* 0: Native C-state */
671ff879b07SJung-uk Kim 
672ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoLpit0[] =
673ff879b07SJung-uk Kim {
674ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_LPIT0_OFFSET (EntryTrigger),           "Entry Trigger", 0},
675ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_LPIT0_OFFSET (Residency),              "Residency", 0},
676ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_LPIT0_OFFSET (Latency),                "Latency", 0},
677ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_LPIT0_OFFSET (ResidencyCounter),       "Residency Counter", 0},
678ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_LPIT0_OFFSET (CounterFrequency),       "Counter Frequency", 0},
679ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
680ff879b07SJung-uk Kim };
681ff879b07SJung-uk Kim /*******************************************************************************
682ff879b07SJung-uk Kim  *
683ff879b07SJung-uk Kim  * MADT - Multiple APIC Description Table and subtables
684ff879b07SJung-uk Kim  *
685ff879b07SJung-uk Kim  ******************************************************************************/
686ff879b07SJung-uk Kim 
687ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt[] =
688ff879b07SJung-uk Kim {
689ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT_OFFSET (Address),                 "Local Apic Address", 0},
690ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
691ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT_FLAG_OFFSET (Flags,0),            "PC-AT Compatibility", 0},
692ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
693ff879b07SJung-uk Kim };
694ff879b07SJung-uk Kim 
695ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
696ff879b07SJung-uk Kim 
697ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadtHdr[] =
698ff879b07SJung-uk Kim {
699ff879b07SJung-uk Kim     {ACPI_DMT_MADT,     ACPI_MADTH_OFFSET (Type),                   "Subtable Type", 0},
700ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADTH_OFFSET (Length),                 "Length", DT_LENGTH},
701ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
702ff879b07SJung-uk Kim };
703ff879b07SJung-uk Kim 
704ff879b07SJung-uk Kim /* MADT Subtables */
705ff879b07SJung-uk Kim 
706ff879b07SJung-uk Kim /* 0: processor APIC */
707ff879b07SJung-uk Kim 
708ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt0[] =
709ff879b07SJung-uk Kim {
710ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT0_OFFSET (ProcessorId),            "Processor ID", 0},
711ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT0_OFFSET (Id),                     "Local Apic ID", 0},
712ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT0_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
713ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT0_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
714cd6518c7SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_MADT0_FLAG_OFFSET (LapicFlags,0),      "Runtime Online Capable", 0},
715ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
716ff879b07SJung-uk Kim };
717ff879b07SJung-uk Kim 
718ff879b07SJung-uk Kim /* 1: IO APIC */
719ff879b07SJung-uk Kim 
720ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt1[] =
721ff879b07SJung-uk Kim {
722ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT1_OFFSET (Id),                     "I/O Apic ID", 0},
723ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT1_OFFSET (Reserved),               "Reserved", 0},
724ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT1_OFFSET (Address),                "Address", 0},
725ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT1_OFFSET (GlobalIrqBase),          "Interrupt", 0},
726ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
727ff879b07SJung-uk Kim };
728ff879b07SJung-uk Kim 
729ff879b07SJung-uk Kim /* 2: Interrupt Override */
730ff879b07SJung-uk Kim 
731ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt2[] =
732ff879b07SJung-uk Kim {
733ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT2_OFFSET (Bus),                    "Bus", 0},
734ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT2_OFFSET (SourceIrq),              "Source", 0},
735ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT2_OFFSET (GlobalIrq),              "Interrupt", 0},
736ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT2_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
737ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_MADT2_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
738ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_MADT2_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
739ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
740ff879b07SJung-uk Kim };
741ff879b07SJung-uk Kim 
742ff879b07SJung-uk Kim /* 3: NMI Sources */
743ff879b07SJung-uk Kim 
744ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt3[] =
745ff879b07SJung-uk Kim {
746ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT3_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
747ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_MADT3_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
748ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_MADT3_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
749ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT3_OFFSET (GlobalIrq),              "Interrupt", 0},
750ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
751ff879b07SJung-uk Kim };
752ff879b07SJung-uk Kim 
753ff879b07SJung-uk Kim /* 4: Local APIC NMI */
754ff879b07SJung-uk Kim 
755ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt4[] =
756ff879b07SJung-uk Kim {
757ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT4_OFFSET (ProcessorId),            "Processor ID", 0},
758ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT4_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
759ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_MADT4_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
760ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_MADT4_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
761ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT4_OFFSET (Lint),                   "Interrupt Input LINT", 0},
762ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
763ff879b07SJung-uk Kim };
764ff879b07SJung-uk Kim 
765ff879b07SJung-uk Kim /* 5: Address Override */
766ff879b07SJung-uk Kim 
767ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt5[] =
768ff879b07SJung-uk Kim {
769ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT5_OFFSET (Reserved),               "Reserved", 0},
770ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT5_OFFSET (Address),                "APIC Address", 0},
771ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
772ff879b07SJung-uk Kim };
773ff879b07SJung-uk Kim 
774ff879b07SJung-uk Kim /* 6: I/O Sapic */
775ff879b07SJung-uk Kim 
776ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt6[] =
777ff879b07SJung-uk Kim {
778ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT6_OFFSET (Id),                     "I/O Sapic ID", 0},
779ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT6_OFFSET (Reserved),               "Reserved", 0},
780ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT6_OFFSET (GlobalIrqBase),          "Interrupt Base", 0},
781ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT6_OFFSET (Address),                "Address", 0},
782ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
783ff879b07SJung-uk Kim };
784ff879b07SJung-uk Kim 
785ff879b07SJung-uk Kim /* 7: Local Sapic */
786ff879b07SJung-uk Kim 
787ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt7[] =
788ff879b07SJung-uk Kim {
789ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (ProcessorId),            "Processor ID", 0},
790ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (Id),                     "Local Sapic ID", 0},
791ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (Eid),                    "Local Sapic EID", 0},
792ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_MADT7_OFFSET (Reserved[0]),            "Reserved", 0},
793ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT7_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
794ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT7_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
795ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT7_OFFSET (Uid),                    "Processor UID", 0},
796ff879b07SJung-uk Kim     {ACPI_DMT_STRING,   ACPI_MADT7_OFFSET (UidString[0]),           "Processor UID String", 0},
797ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
798ff879b07SJung-uk Kim };
799ff879b07SJung-uk Kim 
800ff879b07SJung-uk Kim /* 8: Platform Interrupt Source */
801ff879b07SJung-uk Kim 
802ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt8[] =
803ff879b07SJung-uk Kim {
804ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT8_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
805ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_MADT8_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
806ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_MADT8_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
807ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Type),                   "InterruptType", 0},
808ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Id),                     "Processor ID", 0},
809ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Eid),                    "Processor EID", 0},
810ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (IoSapicVector),          "I/O Sapic Vector", 0},
811ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT8_OFFSET (GlobalIrq),              "Interrupt", 0},
812ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT8_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
813ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT8_OFFSET (Flags),                  "CPEI Override", 0},
814ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
815ff879b07SJung-uk Kim };
816ff879b07SJung-uk Kim 
817ff879b07SJung-uk Kim /* 9: Processor Local X2_APIC (ACPI 4.0) */
818ff879b07SJung-uk Kim 
819ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt9[] =
820ff879b07SJung-uk Kim {
821ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT9_OFFSET (Reserved),               "Reserved", 0},
822ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (LocalApicId),            "Processor x2Apic ID", 0},
823ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
824ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT9_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
825ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (Uid),                    "Processor UID", 0},
826ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
827ff879b07SJung-uk Kim };
828ff879b07SJung-uk Kim 
829ff879b07SJung-uk Kim /* 10: Local X2_APIC NMI (ACPI 4.0) */
830ff879b07SJung-uk Kim 
831ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt10[] =
832ff879b07SJung-uk Kim {
833ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT10_OFFSET (IntiFlags),             "Flags (decoded below)", DT_FLAG},
834ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_MADT10_FLAG_OFFSET (IntiFlags,0),      "Polarity", 0},
835ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_MADT10_FLAG_OFFSET (IntiFlags,0),      "Trigger Mode", 0},
836ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT10_OFFSET (Uid),                   "Processor UID", 0},
837ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT10_OFFSET (Lint),                  "Interrupt Input LINT", 0},
838ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_MADT10_OFFSET (Reserved[0]),           "Reserved", 0},
839ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
840ff879b07SJung-uk Kim };
841ff879b07SJung-uk Kim 
842ff879b07SJung-uk Kim /* 11: Generic Interrupt Controller (ACPI 5.0) */
843ff879b07SJung-uk Kim 
844ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt11[] =
845ff879b07SJung-uk Kim {
846ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (Reserved),              "Reserved", 0},
847ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (CpuInterfaceNumber),    "CPU Interface Number", 0},
848ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (Uid),                   "Processor UID", 0},
849ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (Flags),                 "Flags (decoded below)", DT_FLAG},
850ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Processor Enabled", 0},
851ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Performance Interrupt Trigger Mode", 0},
852ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Virtual GIC Interrupt Trigger Mode", 0},
853ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (ParkingVersion),        "Parking Protocol Version", 0},
854ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (PerformanceInterrupt),  "Performance Interrupt", 0},
855ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (ParkedAddress),         "Parked Address", 0},
856ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (BaseAddress),           "Base Address", 0},
857ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GicvBaseAddress),       "Virtual GIC Base Address", 0},
858ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GichBaseAddress),       "Hypervisor GIC Base Address", 0},
859ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (VgicInterrupt),         "Virtual GIC Interrupt", 0},
860ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GicrBaseAddress),       "Redistributor Base Address", 0},
861ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (ArmMpidr),              "ARM MPIDR", 0},
862ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (EfficiencyClass),       "Efficiency Class", 0},
863cd6518c7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (Reserved2[0]),          "Reserved", 0},
864cd6518c7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (SpeInterrupt),          "SPE Overflow Interrupt", 0},
865722b1667SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (TrbeInterrupt),         "TRBE Interrupt", 0},
866ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
867ff879b07SJung-uk Kim };
868ff879b07SJung-uk Kim 
869ff879b07SJung-uk Kim /* 12: Generic Interrupt Distributor (ACPI 5.0) */
870ff879b07SJung-uk Kim 
871ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt12[] =
872ff879b07SJung-uk Kim {
873ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT12_OFFSET (Reserved),              "Reserved", 0},
874ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT12_OFFSET (GicId),                 "Local GIC Hardware ID", 0},
875ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT12_OFFSET (BaseAddress),           "Base Address", 0},
876ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT12_OFFSET (GlobalIrqBase),         "Interrupt Base", 0},
877ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT12_OFFSET (Version),               "Version", 0},
878ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_MADT12_OFFSET (Reserved2[0]),          "Reserved", 0},
879ff879b07SJung-uk Kim    ACPI_DMT_TERMINATOR
880ff879b07SJung-uk Kim };
881ff879b07SJung-uk Kim 
882ff879b07SJung-uk Kim /* 13: Generic MSI Frame (ACPI 5.1) */
883ff879b07SJung-uk Kim 
884ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt13[] =
885ff879b07SJung-uk Kim {
886ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (Reserved),              "Reserved", 0},
887ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT13_OFFSET (MsiFrameId),            "MSI Frame ID", 0},
888ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT13_OFFSET (BaseAddress),           "Base Address", 0},
889ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT13_OFFSET (Flags),                 "Flags (decoded below)", DT_FLAG},
890ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MADT13_FLAG_OFFSET (Flags,0),          "Select SPI", 0},
891ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (SpiCount),              "SPI Count", 0},
892ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (SpiBase),               "SPI Base", 0},
893ff879b07SJung-uk Kim    ACPI_DMT_TERMINATOR
894ff879b07SJung-uk Kim };
895ff879b07SJung-uk Kim 
896ff879b07SJung-uk Kim /* 14: Generic Redistributor (ACPI 5.1) */
897ff879b07SJung-uk Kim 
898ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt14[] =
899ff879b07SJung-uk Kim {
900ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT14_OFFSET (Reserved),              "Reserved", 0},
901ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT14_OFFSET (BaseAddress),           "Base Address", 0},
902ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT14_OFFSET (Length),                "Length", 0},
903ff879b07SJung-uk Kim    ACPI_DMT_TERMINATOR
904ff879b07SJung-uk Kim };
905ff879b07SJung-uk Kim 
906ff879b07SJung-uk Kim /* 15: Generic Translator (ACPI 6.0) */
907ff879b07SJung-uk Kim 
908ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt15[] =
909ff879b07SJung-uk Kim {
910ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT15_OFFSET (Reserved),              "Reserved", 0},
911ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT15_OFFSET (TranslationId),         "Translation ID", 0},
912ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT15_OFFSET (BaseAddress),           "Base Address", 0},
913ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT15_OFFSET (Reserved2),             "Reserved", 0},
914ff879b07SJung-uk Kim    ACPI_DMT_TERMINATOR
915ff879b07SJung-uk Kim };
916ff879b07SJung-uk Kim 
917cfd1ed46SJung-uk Kim /* 16: Multiprocessor wakeup structure (ACPI 6.4) */
918cfd1ed46SJung-uk Kim 
919cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt16[] =
920cfd1ed46SJung-uk Kim {
921cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT16_OFFSET (MailboxVersion),        "Mailbox Version", 0},
922cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT16_OFFSET (Reserved),              "Reserved", 0},
923cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT16_OFFSET (BaseAddress),           "Mailbox Address", 0},
924cfd1ed46SJung-uk Kim    ACPI_DMT_TERMINATOR
925cfd1ed46SJung-uk Kim };
926cfd1ed46SJung-uk Kim 
927*07c64d74SJung-uk Kim /* 17: core interrupt controller */
928ab71bbb7SJung-uk Kim 
929ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt17[] =
930ab71bbb7SJung-uk Kim {
931*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT17_OFFSET (Version),               "Version", 0},
932*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT17_OFFSET (ProcessorId),           "ProcessorId", 0},
933*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT17_OFFSET (CoreId),                "CoreId", 0},
934*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT17_OFFSET (Flags),                 "Flags", 0},
935*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
936*07c64d74SJung-uk Kim };
937*07c64d74SJung-uk Kim 
938*07c64d74SJung-uk Kim /* 18: Legacy I/O interrupt controller */
939*07c64d74SJung-uk Kim 
940*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt18[] =
941*07c64d74SJung-uk Kim {
942*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT18_OFFSET (Version),               "Version", 0},
943*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT18_OFFSET (Address),               "Address", 0},
944*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT18_OFFSET (Size),                  "Size", 0},
945*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT18_OFFSET (Cascade),               "Cascade", 0},
946*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT18_OFFSET (CascadeMap),            "CascadeMap", 0},
947*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
948*07c64d74SJung-uk Kim };
949*07c64d74SJung-uk Kim 
950*07c64d74SJung-uk Kim /* 19: HT interrupt controller */
951*07c64d74SJung-uk Kim 
952*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt19[] =
953*07c64d74SJung-uk Kim {
954*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT19_OFFSET (Version),               "Version", 0},
955*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT19_OFFSET (Address),               "Address", 0},
956*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT19_OFFSET (Size),                  "Size", 0},
957*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT19_OFFSET (Cascade),               "Cascade", 0},
958*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
959*07c64d74SJung-uk Kim };
960*07c64d74SJung-uk Kim 
961*07c64d74SJung-uk Kim /* 20: Extend I/O interrupt controller */
962*07c64d74SJung-uk Kim 
963*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt20[] =
964*07c64d74SJung-uk Kim {
965*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT20_OFFSET (Version),               "Version", 0},
966*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT20_OFFSET (Cascade),               "Cascade", 0},
967*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT20_OFFSET (Node),                  "Node", 0},
968*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT20_OFFSET (NodeMap),               "NodeMap", 0},
969*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
970*07c64d74SJung-uk Kim };
971*07c64d74SJung-uk Kim 
972*07c64d74SJung-uk Kim /* 21: MSI controller */
973*07c64d74SJung-uk Kim 
974*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt21[] =
975*07c64d74SJung-uk Kim {
976*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT21_OFFSET (Version),               "Version", 0},
977*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT21_OFFSET (MsgAddress),            "MsgAddress", 0},
978*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT21_OFFSET (Start),                 "Start", 0},
979*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT21_OFFSET (Count),                 "Count", 0},
980*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
981*07c64d74SJung-uk Kim };
982*07c64d74SJung-uk Kim 
983*07c64d74SJung-uk Kim /* 22: BIO interrupt controller */
984*07c64d74SJung-uk Kim 
985*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt22[] =
986*07c64d74SJung-uk Kim {
987*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT22_OFFSET (Version),               "Version", 0},
988*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT22_OFFSET (Address),               "Address", 0},
989*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT22_OFFSET (Size),                  "Size", 0},
990*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT22_OFFSET (Id),                    "Id", 0},
991*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT22_OFFSET (GsiBase),               "GsiBase", 0},
992*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
993*07c64d74SJung-uk Kim };
994*07c64d74SJung-uk Kim 
995*07c64d74SJung-uk Kim /* 23: LPC interrupt controller */
996*07c64d74SJung-uk Kim 
997*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt23[] =
998*07c64d74SJung-uk Kim {
999*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT23_OFFSET (Version),               "Version", 0},
1000*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT23_OFFSET (Address),               "Address", 0},
1001*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT23_OFFSET (Size),                  "Size", 0},
1002*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT23_OFFSET (Cascade),               "Cascade", 0},
1003*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
1004*07c64d74SJung-uk Kim };
1005*07c64d74SJung-uk Kim 
1006*07c64d74SJung-uk Kim /* 24: RINTC interrupt controller */
1007*07c64d74SJung-uk Kim 
1008*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt24[] =
1009*07c64d74SJung-uk Kim {
1010*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT24_OFFSET (Version),               "Version", 0},
1011*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT24_OFFSET (Reserved),              "Reserved", 0},
1012*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT24_OFFSET (Flags),                 "Flags", 0},
1013*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT24_OFFSET (HartId),                "HartId", 0},
1014*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT24_OFFSET (Uid),                   "Uid", 0},
1015*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT24_OFFSET (ExtIntcId),             "ExtIntcId", 0},
1016*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT24_OFFSET (ImsicAddr),             "ImsicAddr", 0},
1017*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT24_OFFSET (ImsicSize),             "ImsicSize", 0},
1018*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
1019*07c64d74SJung-uk Kim };
1020*07c64d74SJung-uk Kim 
1021*07c64d74SJung-uk Kim /* 25: RISC-V IMSIC interrupt controller */
1022*07c64d74SJung-uk Kim 
1023*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt25[] =
1024*07c64d74SJung-uk Kim {
1025*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (Version),               "Version", 0},
1026*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (Reserved),              "Reserved", 0},
1027*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT25_OFFSET (Flags),                 "Flags", 0},
1028*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT25_OFFSET (NumIds),                "NumIds", 0},
1029*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT25_OFFSET (NumGuestIds),           "NumGuestIds", 0},
1030*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (GuestIndexBits),        "GuestIndexBits", 0},
1031*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (HartIndexBits),         "HartIndexBits", 0},
1032*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (GroupIndexBits),        "GroupIndexBits", 0},
1033*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT25_OFFSET (GroupIndexShift),       "GroupIndexShift", 0},
1034*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
1035*07c64d74SJung-uk Kim };
1036*07c64d74SJung-uk Kim 
1037*07c64d74SJung-uk Kim /* 26: RISC-V APLIC interrupt controller */
1038*07c64d74SJung-uk Kim 
1039*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt26[] =
1040*07c64d74SJung-uk Kim {
1041*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT26_OFFSET (Version),               "Version", 0},
1042*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT26_OFFSET (Id),                    "Id", 0},
1043*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT26_OFFSET (Flags),                 "Flags", 0},
1044*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT26_OFFSET (HwId),                  "HwId", 0},
1045*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT26_OFFSET (NumIdcs),               "NumIdcs", 0},
1046*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT26_OFFSET (NumSources),            "NumSources", 0},
1047*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT26_OFFSET (GsiBase),               "GsiBase", 0},
1048*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT26_OFFSET (BaseAddr),              "BaseAddr", 0},
1049*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT26_OFFSET (Size),                  "Size", 0},
1050*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
1051*07c64d74SJung-uk Kim };
1052*07c64d74SJung-uk Kim 
1053*07c64d74SJung-uk Kim /* 27: RISC-V PLIC interrupt controller */
1054*07c64d74SJung-uk Kim 
1055*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt27[] =
1056*07c64d74SJung-uk Kim {
1057*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT27_OFFSET (Version),               "Version", 0},
1058*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MADT27_OFFSET (Id),                    "Id", 0},
1059*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT27_OFFSET (Flags),                 "Flags", 0},
1060*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT27_OFFSET (HwId),                  "HwId", 0},
1061*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT27_OFFSET (NumIrqs),               "NumIrqs", 0},
1062*07c64d74SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MADT27_OFFSET (MaxPrio),               "MaxPrio", 0},
1063*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT27_OFFSET (Flags),                 "Flags", 0},
1064*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT27_OFFSET (Size),                  "Size", 0},
1065*07c64d74SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MADT27_OFFSET (BaseAddr),              "BaseAddr", 0},
1066*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MADT27_OFFSET (GsiBase),               "GsiBase", 0},
1067*07c64d74SJung-uk Kim    ACPI_DMT_TERMINATOR
1068*07c64d74SJung-uk Kim };
1069*07c64d74SJung-uk Kim 
1070*07c64d74SJung-uk Kim /* 128: OEM data structure */
1071*07c64d74SJung-uk Kim 
1072*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt128[] =
1073*07c64d74SJung-uk Kim {
1074ab71bbb7SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "OEM Data", 0},
1075ab71bbb7SJung-uk Kim    ACPI_DMT_TERMINATOR
1076ab71bbb7SJung-uk Kim };
1077ff879b07SJung-uk Kim 
1078ff879b07SJung-uk Kim /*******************************************************************************
1079ff879b07SJung-uk Kim  *
1080ff879b07SJung-uk Kim  * MCFG - PCI Memory Mapped Configuration table and Subtable
1081ff879b07SJung-uk Kim  *
1082ff879b07SJung-uk Kim  ******************************************************************************/
1083ff879b07SJung-uk Kim 
1084ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMcfg[] =
1085ff879b07SJung-uk Kim {
1086ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MCFG_OFFSET (Reserved[0]),             "Reserved", 0},
1087ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1088ff879b07SJung-uk Kim };
1089ff879b07SJung-uk Kim 
1090ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMcfg0[] =
1091ff879b07SJung-uk Kim {
1092ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MCFG0_OFFSET (Address),                "Base Address", 0},
1093ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MCFG0_OFFSET (PciSegment),             "Segment Group Number", 0},
1094ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCFG0_OFFSET (StartBusNumber),         "Start Bus Number", 0},
1095ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCFG0_OFFSET (EndBusNumber),           "End Bus Number", 0},
1096ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MCFG0_OFFSET (Reserved),               "Reserved", 0},
1097ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1098ff879b07SJung-uk Kim };
1099ff879b07SJung-uk Kim 
1100ff879b07SJung-uk Kim 
1101ff879b07SJung-uk Kim /*******************************************************************************
1102ff879b07SJung-uk Kim  *
1103ff879b07SJung-uk Kim  * MCHI - Management Controller Host Interface table
1104ff879b07SJung-uk Kim  *
1105ff879b07SJung-uk Kim  ******************************************************************************/
1106ff879b07SJung-uk Kim 
1107ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMchi[] =
1108ff879b07SJung-uk Kim {
1109ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (InterfaceType),           "Interface Type", 0},
1110ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (Protocol),                "Protocol", 0},
1111ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MCHI_OFFSET (ProtocolData),            "Protocol Data", 0},
1112ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (InterruptType),           "Interrupt Type", 0},
1113ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (Gpe),                     "Gpe", 0},
1114ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciDeviceFlag),           "Pci Device Flag", 0},
1115ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MCHI_OFFSET (GlobalInterrupt),         "Global Interrupt", 0},
1116ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_MCHI_OFFSET (ControlRegister),         "Control Register", 0},
1117ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciSegment),              "Pci Segment", 0},
1118ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciBus),                  "Pci Bus", 0},
1119ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciDevice),               "Pci Device", 0},
1120ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciFunction),             "Pci Function", 0},
1121ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1122ff879b07SJung-uk Kim };
1123ff879b07SJung-uk Kim 
1124722b1667SJung-uk Kim /*******************************************************************************
1125722b1667SJung-uk Kim  *
1126722b1667SJung-uk Kim  * MPAM - Memory System Resource Partitioning and Monitoring Tables
1127722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. December 2022.
1128722b1667SJung-uk Kim  ******************************************************************************/
1129722b1667SJung-uk Kim 
1130722b1667SJung-uk Kim /* MPAM subtables */
1131722b1667SJung-uk Kim 
1132722b1667SJung-uk Kim /* 0: MPAM Resource Node Structure - A root MSC table.
1133722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 4: MPAM MSC node body.
1134722b1667SJung-uk Kim  */
1135722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam0[] =
1136722b1667SJung-uk Kim {
1137722b1667SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPAM0_OFFSET (Length),                      "Length", 0},
1138722b1667SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (InterfaceType),               "Interface type", 0},
1139722b1667SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (Reserved),                    "Reserved", 0},
1140722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Identifier),                  "Identifier", 0},
1141722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM0_OFFSET (BaseAddress),                 "Base address", 0},
1142722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MMIOSize),                    "MMIO size", 0},
1143722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterrupt),           "Overflow interrupt", 0},
1144722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptFlags),      "Overflow interrupt flags", 0},
1145722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved1),                   "Reserved1", 0},
1146722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptAffinity),   "Overflow interrupt affinity", 0},
1147722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterrupt),              "Error interrupt", 0},
1148722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptFlags),         "Error interrupt flags", 0},
1149722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved2),                   "Reserved2", 0},
1150722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptAffinity),      "Error interrupt affinity", 0},
1151722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MaxNrdyUsec),                 "MAX_NRDY_USEC", 0},
1152722b1667SJung-uk Kim     {ACPI_DMT_NAME8,    ACPI_MPAM0_OFFSET (HardwareIdLinkedDevice),      "Hardware ID of linked device", 0},
1153722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (InstanceIdLinkedDevice),      "Instance ID of linked device", 0},
1154722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (NumResouceNodes),             "Number of resource nodes", 0},
1155722b1667SJung-uk Kim 
1156722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
1157722b1667SJung-uk Kim };
1158722b1667SJung-uk Kim 
1159722b1667SJung-uk Kim /* 1: MPAM Resource (RIS) Node Structure - A subtable of MSC Nodes.
1160722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 9: Resource node.
1161722b1667SJung-uk Kim  */
1162722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1[] =
1163722b1667SJung-uk Kim {
1164722b1667SJung-uk Kim     {ACPI_DMT_UINT32,          ACPI_MPAM1_OFFSET (Identifier),              "Identifier", 0},
1165722b1667SJung-uk Kim     {ACPI_DMT_UINT8,           ACPI_MPAM1_OFFSET (RISIndex),                "RIS Index", 0},
1166722b1667SJung-uk Kim     {ACPI_DMT_UINT16,          ACPI_MPAM1_OFFSET (Reserved1),               "Reserved1", 0},
1167722b1667SJung-uk Kim     {ACPI_DMT_MPAM_LOCATOR,    ACPI_MPAM1_OFFSET (LocatorType),             "Locator type", 0},
1168722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
1169722b1667SJung-uk Kim };
1170722b1667SJung-uk Kim 
1171722b1667SJung-uk Kim /* An RIS field part of the RIS subtable */
1172722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1Deps[] =
1173722b1667SJung-uk Kim {
1174722b1667SJung-uk Kim     {ACPI_DMT_UINT32, 0, "Number of functional dependencies", 0},
1175722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
1176722b1667SJung-uk Kim };
1177722b1667SJung-uk Kim 
1178722b1667SJung-uk Kim /* 1A: MPAM Processor cache locator descriptor. A subtable of RIS.
1179722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 13.
1180722b1667SJung-uk Kim  */
1181722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1A[] =
1182722b1667SJung-uk Kim {
1183722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1A_OFFSET (CacheReference),                "Cache reference", 0},
1184722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1A_OFFSET (Reserved),                      "Reserved", 0},
1185722b1667SJung-uk Kim };
1186722b1667SJung-uk Kim 
1187722b1667SJung-uk Kim /* 1B: MPAM Memory locator descriptor. A subtable of RIS.
1188722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 14.
1189722b1667SJung-uk Kim  */
1190722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1B[] =
1191722b1667SJung-uk Kim {
1192722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1B_OFFSET (ProximityDomain),               "Proximity domain", 0},
1193722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1B_OFFSET (Reserved),                      "Reserved", 0},
1194722b1667SJung-uk Kim };
1195722b1667SJung-uk Kim 
1196722b1667SJung-uk Kim /* 1C: MPAM SMMU locator descriptor. A subtable of RIS.
1197722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 15.
1198722b1667SJung-uk Kim  */
1199722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1C[] =
1200722b1667SJung-uk Kim {
1201722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1C_OFFSET (SmmuInterface),                 "SMMU Interface", 0},
1202722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1C_OFFSET (Reserved),                      "Reserved", 0},
1203722b1667SJung-uk Kim };
1204722b1667SJung-uk Kim 
1205722b1667SJung-uk Kim /* 1D: MPAM Memory-side cache locator descriptor. A subtable of RIS.
1206722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 16.
1207722b1667SJung-uk Kim  */
1208722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1D[] =
1209722b1667SJung-uk Kim {
1210722b1667SJung-uk Kim     {ACPI_DMT_UINT56,   ACPI_MPAM1D_OFFSET (Level),                         "Reserved", 0},
1211722b1667SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPAM1D_OFFSET (Level),                         "Level", 0},
1212722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1D_OFFSET (Reference),                     "Reference", 0},
1213722b1667SJung-uk Kim };
1214722b1667SJung-uk Kim 
1215722b1667SJung-uk Kim /* 1E: MPAM ACPI device locator descriptor. A subtable of RIS.
1216722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 17.
1217722b1667SJung-uk Kim  */
1218722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1E[] =
1219722b1667SJung-uk Kim {
1220722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1E_OFFSET (AcpiHwId),                      "ACPI Hardware ID", 0},
1221722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1E_OFFSET (AcpiUniqueId),                  "ACPI Unique ID", 0},
1222722b1667SJung-uk Kim };
1223722b1667SJung-uk Kim 
1224722b1667SJung-uk Kim /* 1F: MPAM Interconnect locator descriptor. A subtable of RIS.
1225722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 18.
1226722b1667SJung-uk Kim  */
1227722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1F[] =
1228722b1667SJung-uk Kim {
1229722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1F_OFFSET (InterConnectDescTblOff),        "Interconnect descriptor table offset", 0},
1230722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1F_OFFSET (Reserved),                      "Reserved", 0},
1231722b1667SJung-uk Kim };
1232722b1667SJung-uk Kim 
1233722b1667SJung-uk Kim /* 1G: MPAM Locator structure.
1234722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 12.
1235722b1667SJung-uk Kim  */
1236722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1G[] =
1237722b1667SJung-uk Kim {
1238722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPAM1G_OFFSET (Descriptor1),                   "Descriptor1", 0},
1239722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM1G_OFFSET (Descriptor2),                   "Descriptor2", 0},
1240722b1667SJung-uk Kim };
1241722b1667SJung-uk Kim 
1242722b1667SJung-uk Kim /* 2: MPAM Functional dependency descriptor.
1243722b1667SJung-uk Kim  * Arm's DEN0065 MPAM ACPI 2.0. Table 10.
1244722b1667SJung-uk Kim  */
1245722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam2[] =
1246722b1667SJung-uk Kim {
1247722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Producer),                       "Producer", 0},
1248722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Reserved),                       "Reserved", 0},
1249722b1667SJung-uk Kim };
1250722b1667SJung-uk Kim 
1251ff879b07SJung-uk Kim 
1252ff879b07SJung-uk Kim /*******************************************************************************
1253ff879b07SJung-uk Kim  *
1254ff879b07SJung-uk Kim  * MPST - Memory Power State Table
1255ff879b07SJung-uk Kim  *
1256ff879b07SJung-uk Kim  ******************************************************************************/
1257ff879b07SJung-uk Kim 
1258ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst[] =
1259ff879b07SJung-uk Kim {
1260ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST_OFFSET (ChannelId),               "Channel ID", 0},
1261ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_MPST_OFFSET (Reserved1[0]),            "Reserved", 0},
1262ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST_OFFSET (PowerNodeCount),          "Power Node Count", 0},
1263ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST_OFFSET (Reserved2),               "Reserved", 0},
1264ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1265ff879b07SJung-uk Kim };
1266ff879b07SJung-uk Kim 
1267ff879b07SJung-uk Kim /* MPST subtables */
1268ff879b07SJung-uk Kim 
1269ff879b07SJung-uk Kim /* 0: Memory Power Node Structure */
1270ff879b07SJung-uk Kim 
1271ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0[] =
1272ff879b07SJung-uk Kim {
1273ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
1274ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Node Enabled", 0},
1275ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Power Managed", 0},
1276ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Hot Plug Capable", 0},
1277ff879b07SJung-uk Kim 
1278ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST0_OFFSET (Reserved1),              "Reserved", 0},
1279ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST0_OFFSET (NodeId),                 "Node ID", 0},
1280ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (Length),                 "Length", 0},
1281ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPST0_OFFSET (RangeAddress),           "Range Address", 0},
1282ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPST0_OFFSET (RangeLength),            "Range Length", 0},
1283ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (NumPowerStates),         "Num Power States", 0},
1284ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (NumPhysicalComponents),  "Num Physical Components", 0},
1285ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1286ff879b07SJung-uk Kim };
1287ff879b07SJung-uk Kim 
1288ff879b07SJung-uk Kim /* 0A: Sub-subtable - Memory Power State Structure (follows Memory Power Node above) */
1289ff879b07SJung-uk Kim 
1290ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0A[] =
1291ff879b07SJung-uk Kim {
1292ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST0A_OFFSET (PowerState),            "Power State", 0},
1293ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST0A_OFFSET (InfoIndex),             "InfoIndex", 0},
1294ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1295ff879b07SJung-uk Kim };
1296ff879b07SJung-uk Kim 
1297ff879b07SJung-uk Kim /* 0B: Sub-subtable - Physical Component ID Structure (follows Memory Power State(s) above) */
1298ff879b07SJung-uk Kim 
1299ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0B[] =
1300ff879b07SJung-uk Kim {
1301ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST0B_OFFSET (ComponentId),           "Component Id", 0},
1302ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1303ff879b07SJung-uk Kim };
1304ff879b07SJung-uk Kim 
1305ff879b07SJung-uk Kim /* 01: Power Characteristics Count (follows all Power Node(s) above) */
1306ff879b07SJung-uk Kim 
1307ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst1[] =
1308ff879b07SJung-uk Kim {
1309ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST1_OFFSET (CharacteristicsCount),   "Characteristics Count", 0},
1310ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST1_OFFSET (Reserved),               "Reserved", 0},
1311ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1312ff879b07SJung-uk Kim };
1313ff879b07SJung-uk Kim 
1314ff879b07SJung-uk Kim /* 02: Memory Power State Characteristics Structure */
1315ff879b07SJung-uk Kim 
1316ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst2[] =
1317ff879b07SJung-uk Kim {
1318ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST2_OFFSET (StructureId),            "Structure ID", 0},
1319ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MPST2_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
1320ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Memory Preserved", 0},
1321ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Auto Entry", 0},
1322ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Auto Exit", 0},
1323ff879b07SJung-uk Kim 
1324ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_MPST2_OFFSET (Reserved1),              "Reserved", 0},
1325ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPST2_OFFSET (AveragePower),           "Average Power", 0},
1326ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MPST2_OFFSET (PowerSaving),            "Power Saving", 0},
1327ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPST2_OFFSET (ExitLatency),            "Exit Latency", 0},
1328ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MPST2_OFFSET (Reserved2),              "Reserved", 0},
1329ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1330ff879b07SJung-uk Kim };
1331ff879b07SJung-uk Kim 
1332ff879b07SJung-uk Kim 
1333ff879b07SJung-uk Kim /*******************************************************************************
1334ff879b07SJung-uk Kim  *
1335ff879b07SJung-uk Kim  * MSCT - Maximum System Characteristics Table (ACPI 4.0)
1336ff879b07SJung-uk Kim  *
1337ff879b07SJung-uk Kim  ******************************************************************************/
1338ff879b07SJung-uk Kim 
1339ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMsct[] =
1340ff879b07SJung-uk Kim {
1341ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (ProximityOffset),         "Proximity Offset", 0},
1342ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (MaxProximityDomains),     "Max Proximity Domains", 0},
1343ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (MaxClockDomains),         "Max Clock Domains", 0},
1344ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MSCT_OFFSET (MaxAddress),              "Max Physical Address", 0},
1345ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1346ff879b07SJung-uk Kim };
1347ff879b07SJung-uk Kim 
1348ff879b07SJung-uk Kim /* Subtable - Maximum Proximity Domain Information. Version 1 */
1349ff879b07SJung-uk Kim 
1350ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoMsct0[] =
1351ff879b07SJung-uk Kim {
1352ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MSCT0_OFFSET (Revision),               "Revision", 0},
1353ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_MSCT0_OFFSET (Length),                 "Length", DT_LENGTH},
1354ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (RangeStart),             "Domain Range Start", 0},
1355ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (RangeEnd),               "Domain Range End", 0},
1356ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (ProcessorCapacity),      "Processor Capacity", 0},
1357ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_MSCT0_OFFSET (MemoryCapacity),         "Memory Capacity", 0},
1358ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1359ff879b07SJung-uk Kim };
1360ff879b07SJung-uk Kim 
1361ff879b07SJung-uk Kim 
1362ff879b07SJung-uk Kim /*******************************************************************************
1363ff879b07SJung-uk Kim  *
1364ff879b07SJung-uk Kim  * NFIT - NVDIMM Firmware Interface Table and Subtables - (ACPI 6.0)
1365ff879b07SJung-uk Kim  *
1366ff879b07SJung-uk Kim  ******************************************************************************/
1367ff879b07SJung-uk Kim 
1368ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit[] =
1369ff879b07SJung-uk Kim {
1370ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT_OFFSET (Reserved),                "Reserved", 0},
1371ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1372ff879b07SJung-uk Kim };
1373ff879b07SJung-uk Kim 
1374ff879b07SJung-uk Kim /* Common Subtable header */
1375ff879b07SJung-uk Kim 
1376ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfitHdr[] =
1377ff879b07SJung-uk Kim {
1378ff879b07SJung-uk Kim     {ACPI_DMT_NFIT,     ACPI_NFITH_OFFSET (Type),                   "Subtable Type", 0},
1379ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFITH_OFFSET (Length),                 "Length", DT_LENGTH},
1380ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1381ff879b07SJung-uk Kim };
1382ff879b07SJung-uk Kim 
1383ff879b07SJung-uk Kim /* 0: System Physical Address Range Structure */
1384ff879b07SJung-uk Kim 
1385ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit0[] =
1386ff879b07SJung-uk Kim {
1387ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT0_OFFSET (RangeIndex),             "Range Index", 0},
1388ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
1389ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_NFIT0_FLAG_OFFSET (Flags,0),           "Add/Online Operation Only", 0},
1390ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_NFIT0_FLAG_OFFSET (Flags,0),           "Proximity Domain Valid", 0},
1391cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_NFIT0_FLAG_OFFSET (Flags,0),           "Location Cookie Valid", 0},
1392ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT0_OFFSET (Reserved),               "Reserved", 0},
1393ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT0_OFFSET (ProximityDomain),        "Proximity Domain", 0},
1394cd6518c7SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_NFIT0_OFFSET (RangeGuid[0]),           "Region Type GUID", 0},
1395ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (Address),                "Address Range Base", 0},
1396ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (Length),                 "Address Range Length", 0},
1397ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (MemoryMapping),          "Memory Map Attribute", 0},
1398cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (LocationCookie),         "Location Cookie", 0},      /* ACPI 6.4 */
1399ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1400ff879b07SJung-uk Kim };
1401ff879b07SJung-uk Kim 
1402ff879b07SJung-uk Kim /* 1: Memory Device to System Address Range Map Structure */
1403ff879b07SJung-uk Kim 
1404ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit1[] =
1405ff879b07SJung-uk Kim {
1406ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT1_OFFSET (DeviceHandle),           "Device Handle", 0},
1407ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (PhysicalId),             "Physical Id", 0},
1408ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RegionId),               "Region Id", 0},
1409ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RangeIndex),             "Range Index", 0},
1410ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RegionIndex),            "Control Region Index", 0},
1411ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (RegionSize),             "Region Size", 0},
1412ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (RegionOffset),           "Region Offset", 0},
1413ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (Address),                "Address Region Base", 0},
1414ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (InterleaveIndex),        "Interleave Index", 0},
1415ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (InterleaveWays),         "Interleave Ways", 0},
1416ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (Flags),                  "Flags", DT_FLAG},
1417ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Save to device failed", 0},
1418ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Restore from device failed", 0},
1419ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Platform flush failed", 0},
1420ff879b07SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Device not armed", 0},
1421ff879b07SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Health events observed", 0},
1422ff879b07SJung-uk Kim     {ACPI_DMT_FLAG5,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Health events enabled", 0},
1423ff879b07SJung-uk Kim     {ACPI_DMT_FLAG6,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Mapping failed", 0},
1424ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (Reserved),               "Reserved", 0},
1425ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1426ff879b07SJung-uk Kim };
1427ff879b07SJung-uk Kim 
1428ff879b07SJung-uk Kim /* 2: Interleave Structure */
1429ff879b07SJung-uk Kim 
1430ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit2[] =
1431ff879b07SJung-uk Kim {
1432ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT2_OFFSET (InterleaveIndex),        "Interleave Index", 0},
1433ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT2_OFFSET (Reserved),               "Reserved", 0},
1434ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT2_OFFSET (LineCount),              "Line Count", 0},
1435ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT2_OFFSET (LineSize),               "Line Size", 0},
1436ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1437ff879b07SJung-uk Kim };
1438ff879b07SJung-uk Kim 
1439ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit2a[] =
1440ff879b07SJung-uk Kim {
1441ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   0,                                          "Line Offset", DT_OPTIONAL},
1442ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1443ff879b07SJung-uk Kim };
1444ff879b07SJung-uk Kim 
1445ff879b07SJung-uk Kim /* 3: SMBIOS Management Information Structure */
1446ff879b07SJung-uk Kim 
1447ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit3[] =
1448ff879b07SJung-uk Kim {
1449ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT3_OFFSET (Reserved),               "Reserved", 0},
1450ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1451ff879b07SJung-uk Kim };
1452ff879b07SJung-uk Kim 
1453ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit3a[] =
1454ff879b07SJung-uk Kim {
1455ff879b07SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "SMBIOS Table Entries", DT_OPTIONAL},
1456ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1457ff879b07SJung-uk Kim };
1458ff879b07SJung-uk Kim 
1459ff879b07SJung-uk Kim /* 4: NVDIMM Control Region Structure */
1460ff879b07SJung-uk Kim 
1461ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit4[] =
1462ff879b07SJung-uk Kim {
1463ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (RegionIndex),            "Region Index", 0},
1464ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (VendorId),               "Vendor Id", 0},
1465ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (DeviceId),               "Device Id", 0},
1466ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (RevisionId),             "Revision Id", 0},
1467ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemVendorId),      "Subsystem Vendor Id", 0},
1468ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemDeviceId),      "Subsystem Device Id", 0},
1469ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemRevisionId),    "Subsystem Revision Id", 0},
1470ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NFIT4_OFFSET (ValidFields),            "Valid Fields", 0},
1471ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NFIT4_OFFSET (ManufacturingLocation),  "Manufacturing Location", 0},
1472ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (ManufacturingDate),      "Manufacturing Date", 0},
1473ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Reserved[0]),            "Reserved", 0},
1474ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT4_OFFSET (SerialNumber),           "Serial Number", 0},
1475ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Code),                   "Code", 0},
1476ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Windows),                "Window Count", 0},
1477ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (WindowSize),             "Window Size", 0},
1478ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (CommandOffset),          "Command Offset", 0},
1479ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (CommandSize),            "Command Size", 0},
1480ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (StatusOffset),           "Status Offset", 0},
1481ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (StatusSize),             "Status Size", 0},
1482ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Flags),                  "Flags", DT_FLAG},
1483ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_NFIT4_FLAG_OFFSET (Flags,0),           "Windows buffered", 0},
1484ff879b07SJung-uk Kim     {ACPI_DMT_UINT48,   ACPI_NFIT4_OFFSET (Reserved1[0]),           "Reserved1", 0},
1485ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1486ff879b07SJung-uk Kim };
1487ff879b07SJung-uk Kim 
1488ff879b07SJung-uk Kim /* 5: NVDIMM Block Data Window Region Structure */
1489ff879b07SJung-uk Kim 
1490ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit5[] =
1491ff879b07SJung-uk Kim {
1492ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT5_OFFSET (RegionIndex),            "Region Index", 0},
1493ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT5_OFFSET (Windows),                "Window Count", 0},
1494ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Offset),                 "Offset", 0},
1495ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Size),                   "Size", 0},
1496ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Capacity),               "Capacity", 0},
1497ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (StartAddress),           "Start Address", 0},
1498ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1499ff879b07SJung-uk Kim };
1500ff879b07SJung-uk Kim 
1501ff879b07SJung-uk Kim /* 6: Flush Hint Address Structure */
1502ff879b07SJung-uk Kim 
1503ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit6[] =
1504ff879b07SJung-uk Kim {
1505ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT6_OFFSET (DeviceHandle),           "Device Handle", 0},
1506ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NFIT6_OFFSET (HintCount),              "Hint Count", 0},
1507ff879b07SJung-uk Kim     {ACPI_DMT_UINT48,   ACPI_NFIT6_OFFSET (Reserved[0]),            "Reserved", 0},
1508ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1509ff879b07SJung-uk Kim };
1510ff879b07SJung-uk Kim 
1511ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit6a[] =
1512ff879b07SJung-uk Kim {
1513ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   0,                                          "Hint Address", DT_OPTIONAL},
1514ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1515ff879b07SJung-uk Kim };
1516ff879b07SJung-uk Kim 
1517ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit7[] =
1518ff879b07SJung-uk Kim {
1519ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NFIT7_OFFSET (HighestCapability),      "Highest Capability", 0},
1520ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_NFIT7_OFFSET (Reserved[0]),            "Reserved", 0},
1521ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT7_OFFSET (Capabilities),           "Capabilities (decoded below)", DT_FLAG},
1522ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Cache Flush to NVDIMM", 0},
1523835b56bfSJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Memory Flush to NVDIMM", 0},
1524ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Memory Mirroring", 0},
1525ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NFIT7_OFFSET (Reserved2),              "Reserved", 0},
1526ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1527ff879b07SJung-uk Kim };
1528ff879b07SJung-uk Kim 
1529ff879b07SJung-uk Kim 
1530ff879b07SJung-uk Kim /*******************************************************************************
1531ff879b07SJung-uk Kim  *
15321b7a2680SJung-uk Kim  * NHLT - Non HD Audio Link Table. Conforms to Intel Smart Sound Technology
15331b7a2680SJung-uk Kim  * NHLT Specification, January 2020 Revision 0.8.1
15341b7a2680SJung-uk Kim  *
15351b7a2680SJung-uk Kim  ******************************************************************************/
15361b7a2680SJung-uk Kim 
15371b7a2680SJung-uk Kim /* Main table */
15381b7a2680SJung-uk Kim 
15391b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt[] =
15401b7a2680SJung-uk Kim {
15411b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT_OFFSET (EndpointCount),           "Endpoint Count", 0},
15421b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
15431b7a2680SJung-uk Kim };
15441b7a2680SJung-uk Kim 
15451b7a2680SJung-uk Kim /* Endpoint config */
15461b7a2680SJung-uk Kim 
15471b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt0[] =
15481b7a2680SJung-uk Kim {
15491b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT0_OFFSET (DescriptorLength),       "Descriptor Length", DT_LENGTH},
15501b7a2680SJung-uk Kim     {ACPI_DMT_NHLT1,    ACPI_NHLT0_OFFSET (LinkType),               "Link Type", 0},
15511b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT0_OFFSET (InstanceId),             "Instance Id", 0},
15521b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT0_OFFSET (VendorId),               "Vendor Id", 0},
1553ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1e,   ACPI_NHLT0_OFFSET (DeviceId),               "Device Id", 0},
15541b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT0_OFFSET (RevisionId),             "Revision Id", 0},
15551b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT0_OFFSET (SubsystemId),            "Subsystem Id", 0},
15561b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT0_OFFSET (DeviceType),             "Device Type", 0},
15571b7a2680SJung-uk Kim     {ACPI_DMT_NHLT1a,   ACPI_NHLT0_OFFSET (Direction),              "Direction", 0},
15581b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT0_OFFSET (VirtualBusId),           "Virtual Bus Id", 0},
15591b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
15601b7a2680SJung-uk Kim };
15611b7a2680SJung-uk Kim 
15621b7a2680SJung-uk Kim /* Device_Specific config */
15631b7a2680SJung-uk Kim 
15641b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt1[] =
15651b7a2680SJung-uk Kim {
1566ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT1_OFFSET (CapabilitiesSize),       "Capabilities Size", 0},
15671b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT1_OFFSET (VirtualSlot),            "Virtual Slot", 0},
1568ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1f,   ACPI_NHLT1_OFFSET (ConfigType),             "Config Type", 0},
15691b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
15701b7a2680SJung-uk Kim };
15711b7a2680SJung-uk Kim 
15721b7a2680SJung-uk Kim /* Wave Format Extensible */
15731b7a2680SJung-uk Kim 
15741b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt2[] =
15751b7a2680SJung-uk Kim {
15761b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (FormatTag),              "Format Tag", 0},
15771b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (ChannelCount),           "Channel Count", 0},
15781b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT2_OFFSET (SamplesPerSec),          "Samples Per Second", 0},
15791b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT2_OFFSET (AvgBytesPerSec),         "Average Bytes Per Second", 0},
15801b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (BlockAlign),             "Block Alignment", 0},
15811b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (BitsPerSample),          "Bits Per Sample", 0},
15821b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (ExtraFormatSize),        "Extra Format Size", 0},
15831b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT2_OFFSET (ValidBitsPerSample),     "Valid Bits Per Sample", 0},
15841b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT2_OFFSET (ChannelMask),            "Channel Mask", 0},
15851b7a2680SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_NHLT2_OFFSET (SubFormatGuid),          "SubFormat GUID", 0},
15861b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
15871b7a2680SJung-uk Kim };
15881b7a2680SJung-uk Kim 
1589ab71bbb7SJung-uk Kim /* Format Config (wave_format_extensible structure) */
15901b7a2680SJung-uk Kim 
15911b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt3[] =
15921b7a2680SJung-uk Kim {
15931b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.FormatTag),               "Format Tag", 0},
15941b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.ChannelCount),            "Channel Count", 0},
15951b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT3_OFFSET (Format.SamplesPerSec),           "Samples Per Second", 0},
15961b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT3_OFFSET (Format.AvgBytesPerSec),          "Average Bytes Per Second", 0},
15971b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.BlockAlign),              "Block Alignment", 0},
15981b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.BitsPerSample),           "Bits Per Sample", 0},
15991b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.ExtraFormatSize),         "Extra Format Size", 0},
16001b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT3_OFFSET (Format.ValidBitsPerSample),      "Valid Bits Per Sample", 0},
16011b7a2680SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT3_OFFSET (Format.ChannelMask),             "Channel Mask", 0},
16021b7a2680SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_NHLT3_OFFSET (Format.SubFormatGuid),           "SubFormat GUID", 0},
1603ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT3_OFFSET (CapabilitySize),                 "Capabilities Length", 0},
16041b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16051b7a2680SJung-uk Kim };
16061b7a2680SJung-uk Kim 
16071b7a2680SJung-uk Kim /*
16081b7a2680SJung-uk Kim  * We treat the binary Capabilities field as its own subtable (to make
16091b7a2680SJung-uk Kim  * ACPI_DMT_RAW_BUFFER work properly).
16101b7a2680SJung-uk Kim  */
16111b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt3a[] =
16121b7a2680SJung-uk Kim {
16131b7a2680SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Capabilities", 0},
16141b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16151b7a2680SJung-uk Kim };
16161b7a2680SJung-uk Kim 
16171b7a2680SJung-uk Kim /* Formats Config */
16181b7a2680SJung-uk Kim 
16191b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt4[] =
16201b7a2680SJung-uk Kim {
16211b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT4_OFFSET (FormatsCount),           "Formats Count", 0},
16221b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16231b7a2680SJung-uk Kim };
16241b7a2680SJung-uk Kim 
16251b7a2680SJung-uk Kim /* Specific Config, CapabilitiesSize == 2 */
16261b7a2680SJung-uk Kim 
16271b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt5[] =
16281b7a2680SJung-uk Kim {
16291b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT5_OFFSET (VirtualSlot),            "Virtual Slot", 0},
1630ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1f,   ACPI_NHLT5_OFFSET (ConfigType),             "Config Type", 0},
16311b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16321b7a2680SJung-uk Kim };
16331b7a2680SJung-uk Kim 
16341b7a2680SJung-uk Kim /* Specific Config, CapabilitiesSize == 3 */
16351b7a2680SJung-uk Kim 
16361b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt5a[] =
16371b7a2680SJung-uk Kim {
16381b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT5A_OFFSET (VirtualSlot),           "Virtual Slot", 0},
1639ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1f,   ACPI_NHLT5A_OFFSET (ConfigType),            "Config Type", 0},
1640ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1d,   ACPI_NHLT5A_OFFSET (ArrayType),             "Array Type", 0},
16411b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16421b7a2680SJung-uk Kim };
16431b7a2680SJung-uk Kim 
16441b7a2680SJung-uk Kim /* Specific Config, CapabilitiesSize == 0 */
16451b7a2680SJung-uk Kim 
16461b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt5b[] =
16471b7a2680SJung-uk Kim {
1648ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,    ACPI_NHLT5B_OFFSET (CapabilitiesSize),     "Capabilities Size", 0},
16491b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16501b7a2680SJung-uk Kim };
16511b7a2680SJung-uk Kim 
16521b7a2680SJung-uk Kim /* Specific Config, CapabilitiesSize == 1 */
16531b7a2680SJung-uk Kim 
16541b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt5c[] =
16551b7a2680SJung-uk Kim {
16561b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT5C_OFFSET (VirtualSlot),           "Virtual Slot", 0},
16571b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16581b7a2680SJung-uk Kim };
16591b7a2680SJung-uk Kim 
16601b7a2680SJung-uk Kim /* Microphone array Config */
16611b7a2680SJung-uk Kim 
1662ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt6a[] =
1663ab71bbb7SJung-uk Kim {
1664ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT6A_OFFSET (MicrophoneCount),       "Microphone Count", 0},
1665ab71bbb7SJung-uk Kim     ACPI_DMT_TERMINATOR
1666ab71bbb7SJung-uk Kim };
1667ab71bbb7SJung-uk Kim 
1668ab71bbb7SJung-uk Kim /* Render Feedback Device Config, CapabilitiesSize == 7 */
1669ab71bbb7SJung-uk Kim 
1670ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt6b[] =
1671ab71bbb7SJung-uk Kim {
1672ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT6B_OFFSET (FeedbackVirtualSlot),       "Feedback Virtual Slot", 0},
1673ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6B_OFFSET (FeedbackChannels),          "Feedback Channels", 0},
1674ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6B_OFFSET (FeedbackValidBitsPerSample),"Valid Bits Per Sample", 0},
1675ab71bbb7SJung-uk Kim     ACPI_DMT_TERMINATOR
1676ab71bbb7SJung-uk Kim };
1677ab71bbb7SJung-uk Kim 
16781b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt6[] =
16791b7a2680SJung-uk Kim {
1680ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1b,   ACPI_NHLT6_OFFSET (Type),                   "Type", 0},
1681ab71bbb7SJung-uk Kim     {ACPI_DMT_NHLT1c,   ACPI_NHLT6_OFFSET (Panel),                  "Panel", 0},
16821b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (SpeakerPositionDistance), "Speaker Position Distance", 0},
16831b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (HorizontalOffset),       "Horizontal Offset", 0},
16841b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (VerticalOffset),         "Vertical Offset", 0},
16851b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT6_OFFSET (FrequencyLowBand),       "Frequency Low Band", 0},
16861b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT6_OFFSET (FrequencyHighBand),      "Frequency High Band", 0},
16871b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (DirectionAngle),         "Direction Angle", 0},
16881b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (ElevationAngle),         "Elevation Angle", 0},
16891b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (WorkVerticalAngleBegin), "Work Vertical Angle Begin", 0},
16901b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (WorkVerticalAngleEnd),   "Work Vertical Angle End", 0},
16911b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (WorkHorizontalAngleBegin), "Work Horizontal Angle Begin", 0},
16921b7a2680SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_NHLT6_OFFSET (WorkHorizontalAngleEnd), "Work Horizontal Angle End", 0},
16931b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
16941b7a2680SJung-uk Kim };
16951b7a2680SJung-uk Kim 
1696ab71bbb7SJung-uk Kim /* Number of DeviceInfo structures */
16971b7a2680SJung-uk Kim 
16981b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt7[] =
16991b7a2680SJung-uk Kim {
1700ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT7_OFFSET (StructureCount),         "Device Info struct count", 0},
17011b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
17021b7a2680SJung-uk Kim };
17031b7a2680SJung-uk Kim 
1704ab71bbb7SJung-uk Kim /* The DeviceInfo structure */
17051b7a2680SJung-uk Kim 
17061b7a2680SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt7a[] =
17071b7a2680SJung-uk Kim {
1708ab71bbb7SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_NHLT7A_OFFSET (DeviceId),              "Device ID GUID", 0},
17091b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT7A_OFFSET (DeviceInstanceId),      "Device Instance ID", 0},
17101b7a2680SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_NHLT7A_OFFSET (DevicePortId),          "Device Port ID", 0},
17111b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
17121b7a2680SJung-uk Kim };
17131b7a2680SJung-uk Kim 
1714ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt7b[] =
17151b7a2680SJung-uk Kim {
1716ab71bbb7SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Bytes", 0},
1717ab71bbb7SJung-uk Kim     ACPI_DMT_TERMINATOR
1718ab71bbb7SJung-uk Kim };
1719ab71bbb7SJung-uk Kim 
1720ab71bbb7SJung-uk Kim /* Sensitivity Extension */
1721ab71bbb7SJung-uk Kim 
1722ab71bbb7SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoNhlt9[] =
1723ab71bbb7SJung-uk Kim {
1724ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT9_OFFSET (SNR),                    "Signal-to-noise ratio", 0},
1725ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_NHLT9_OFFSET (Sensitivity),            "Mic Sensitivity", 0},
17261b7a2680SJung-uk Kim     ACPI_DMT_TERMINATOR
17271b7a2680SJung-uk Kim };
17281b7a2680SJung-uk Kim 
17291b7a2680SJung-uk Kim 
17301b7a2680SJung-uk Kim /*******************************************************************************
17311b7a2680SJung-uk Kim  *
1732ff879b07SJung-uk Kim  * PCCT - Platform Communications Channel Table (ACPI 5.0)
1733ff879b07SJung-uk Kim  *
1734ff879b07SJung-uk Kim  ******************************************************************************/
1735ff879b07SJung-uk Kim 
1736ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct[] =
1737ff879b07SJung-uk Kim {
1738ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
1739ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PCCT_FLAG_OFFSET (Flags,0),            "Platform", 0},
1740ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT_OFFSET (Reserved),                "Reserved", 0},
1741ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1742ff879b07SJung-uk Kim };
1743ff879b07SJung-uk Kim 
1744ff879b07SJung-uk Kim /* PCCT subtables */
1745ff879b07SJung-uk Kim 
1746ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcctHdr[] =
1747ff879b07SJung-uk Kim {
1748ff879b07SJung-uk Kim     {ACPI_DMT_PCCT,     ACPI_PCCT0_OFFSET (Header.Type),            "Subtable Type", 0},
1749ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT0_OFFSET (Header.Length),          "Length", DT_LENGTH},
1750ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1751ff879b07SJung-uk Kim };
1752ff879b07SJung-uk Kim 
1753ff879b07SJung-uk Kim /* 0: Generic Communications Subspace */
1754ff879b07SJung-uk Kim 
1755ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct0[] =
1756ff879b07SJung-uk Kim {
1757ff879b07SJung-uk Kim     {ACPI_DMT_UINT48,   ACPI_PCCT0_OFFSET (Reserved[0]),            "Reserved", 0},
1758ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (BaseAddress),            "Base Address", 0},
1759ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (Length),                 "Address Length", 0},
1760ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT0_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1761ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (PreserveMask),           "Preserve Mask", 0},
1762ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (WriteMask),              "Write Mask", 0},
1763ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT0_OFFSET (Latency),                "Command Latency", 0},
1764ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT0_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
1765ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PCCT0_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1766ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1767ff879b07SJung-uk Kim };
1768ff879b07SJung-uk Kim 
1769ff879b07SJung-uk Kim /* 1: HW-reduced Communications Subspace (ACPI 5.1) */
1770ff879b07SJung-uk Kim 
1771ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct1[] =
1772ff879b07SJung-uk Kim {
1773ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
1774ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT1_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
1775ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PCCT1_FLAG_OFFSET (Flags,0),           "Polarity", 0},
1776ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PCCT1_FLAG_OFFSET (Flags,0),           "Mode", 0},
1777ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT1_OFFSET (Reserved),               "Reserved", 0},
1778ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (BaseAddress),            "Base Address", 0},
1779ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (Length),                 "Address Length", 0},
1780ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT1_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1781ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (PreserveMask),           "Preserve Mask", 0},
1782ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (WriteMask),              "Write Mask", 0},
1783ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (Latency),                "Command Latency", 0},
1784ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
1785ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PCCT1_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1786ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1787ff879b07SJung-uk Kim };
1788ff879b07SJung-uk Kim 
1789ff879b07SJung-uk Kim /* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */
1790ff879b07SJung-uk Kim 
1791ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct2[] =
1792ff879b07SJung-uk Kim {
1793ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
1794ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT2_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
1795ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PCCT2_FLAG_OFFSET (Flags,0),           "Polarity", 0},
1796ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PCCT2_FLAG_OFFSET (Flags,0),           "Mode", 0},
1797ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT2_OFFSET (Reserved),               "Reserved", 0},
1798ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (BaseAddress),            "Base Address", 0},
1799ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (Length),                 "Address Length", 0},
1800ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT2_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1801ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (PreserveMask),           "Preserve Mask", 0},
1802ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (WriteMask),              "Write Mask", 0},
1803ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (Latency),                "Command Latency", 0},
1804ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
1805ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PCCT2_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1806ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT2_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
1807ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
1808ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (AckWriteMask),           "ACK Write Mask", 0},
1809ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1810ff879b07SJung-uk Kim };
1811ff879b07SJung-uk Kim 
1812ff879b07SJung-uk Kim /* 3: Extended PCC Master Subspace Type 3 (ACPI 6.2) */
1813ff879b07SJung-uk Kim 
1814ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct3[] =
1815ff879b07SJung-uk Kim {
1816ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
1817ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT3_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
1818ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PCCT3_FLAG_OFFSET (Flags,0),           "Polarity", 0},
1819ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PCCT3_FLAG_OFFSET (Flags,0),           "Mode", 0},
1820ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT3_OFFSET (Reserved1),              "Reserved", 0},
1821ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (BaseAddress),            "Base Address", 0},
1822ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (Length),                 "Address Length", 0},
1823ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1824ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (PreserveMask),           "Preserve Mask", 0},
1825ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (WriteMask),              "Write Mask", 0},
1826ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (Latency),                "Command Latency", 0},
1827ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
1828ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1829ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
1830ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
1831ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (AckSetMask),             "ACK Set Mask", 0},
1832ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (Reserved2),              "Reserved", 0},
1833ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (CmdCompleteRegister),    "Command Complete Register", 0},
1834ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdCompleteMask),        "Command Complete Check Mask", 0},
1835ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (CmdUpdateRegister),      "Command Update Register", 0},
1836ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdUpdatePreserveMask),  "Command Update Preserve Mask", 0},
1837ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdUpdateSetMask),       "Command Update Set Mask", 0},
1838ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (ErrorStatusRegister),    "Error Status Register", 0},
1839ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (ErrorStatusMask),        "Error Status Mask", 0},
1840ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1841ff879b07SJung-uk Kim };
1842ff879b07SJung-uk Kim 
1843ff879b07SJung-uk Kim /* 4: Extended PCC Slave Subspace Type 4 (ACPI 6.2) */
1844ff879b07SJung-uk Kim 
1845ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct4[] =
1846ff879b07SJung-uk Kim {
1847ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
1848ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT4_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
1849ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PCCT4_FLAG_OFFSET (Flags,0),           "Polarity", 0},
1850ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PCCT4_FLAG_OFFSET (Flags,0),           "Mode", 0},
1851ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PCCT4_OFFSET (Reserved1),              "Reserved", 0},
1852ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (BaseAddress),            "Base Address", 0},
1853ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (Length),                 "Address Length", 0},
1854ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1855ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (PreserveMask),           "Preserve Mask", 0},
1856ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (WriteMask),              "Write Mask", 0},
1857ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (Latency),                "Command Latency", 0},
1858ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
1859ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1860ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
1861ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
1862ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (AckSetMask),             "ACK Set Mask", 0},
1863ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (Reserved2),              "Reserved", 0},
1864ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (CmdCompleteRegister),    "Command Complete Register", 0},
1865ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdCompleteMask),        "Command Complete Check Mask", 0},
1866ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (CmdUpdateRegister),      "Command Update Register", 0},
1867ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdUpdatePreserveMask),  "Command Update Preserve Mask", 0},
1868ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdUpdateSetMask),       "Command Update Set Mask", 0},
1869ff879b07SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (ErrorStatusRegister),    "Error Status Register", 0},
1870ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (ErrorStatusMask),        "Error Status Mask", 0},
1871ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1872ff879b07SJung-uk Kim };
1873ff879b07SJung-uk Kim 
1874cfd1ed46SJung-uk Kim /* 5: HW Registers based Communications Subspace */
1875cfd1ed46SJung-uk Kim 
1876cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct5[] =
1877cfd1ed46SJung-uk Kim {
1878cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PCCT5_OFFSET (Version),                "Version", 0},
1879cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (BaseAddress),            "Base Address", 0},
1880cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (Length),                 "Length", 0},
1881cfd1ed46SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT5_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
1882cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (DoorbellPreserve),       "Preserve Mask", 0},
1883cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (DoorbellWrite),          "Write Mask", 0},
1884cfd1ed46SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT5_OFFSET (CmdCompleteRegister),    "Command Complete Register", 0},
1885cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (CmdCompleteMask),        "Command Complete Check Mask", 0},
1886cfd1ed46SJung-uk Kim     {ACPI_DMT_GAS,      ACPI_PCCT5_OFFSET (ErrorStatusRegister),    "Error Status Register", 0},
1887cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PCCT5_OFFSET (ErrorStatusMask),        "Error Status Mask", 0},
1888cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT5_OFFSET (NominalLatency),         "Nominal Latency", 0},
1889cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PCCT5_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
1890cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1891cfd1ed46SJung-uk Kim };
1892cfd1ed46SJung-uk Kim 
1893ff879b07SJung-uk Kim 
1894ff879b07SJung-uk Kim /*******************************************************************************
1895ff879b07SJung-uk Kim  *
1896ff879b07SJung-uk Kim  * PDTT - Platform Debug Trigger Table (ACPI 6.2)
1897ff879b07SJung-uk Kim  *
1898ff879b07SJung-uk Kim  ******************************************************************************/
1899ff879b07SJung-uk Kim 
1900ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPdtt[] =
1901ff879b07SJung-uk Kim {
1902ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PDTT_OFFSET (TriggerCount),            "Trigger Count", 0},
1903ff879b07SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_PDTT_OFFSET (Reserved),                "Reserved", 0},
1904ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PDTT_OFFSET (ArrayOffset),             "Array Offset", 0},
1905ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1906ff879b07SJung-uk Kim };
1907ff879b07SJung-uk Kim 
1908ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPdtt0[] =
1909ff879b07SJung-uk Kim {
1910ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PDTT0_OFFSET (SubchannelId),           "Subchannel Id", 0},
1911ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PDTT0_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
1912ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PDTT0_FLAG_OFFSET (Flags,0),           "Runtime Trigger", 0},
1913ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PDTT0_FLAG_OFFSET (Flags,0),           "Wait for Completion", 0},
1914cd6518c7SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_PDTT0_FLAG_OFFSET (Flags,0),           "Trigger Order", 0},
1915ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1916ff879b07SJung-uk Kim };
1917ff879b07SJung-uk Kim 
1918ff879b07SJung-uk Kim 
1919ff879b07SJung-uk Kim /*******************************************************************************
1920ff879b07SJung-uk Kim  *
1921cfd1ed46SJung-uk Kim  * PHAT - Platform Health Assessment Table (ACPI 6.4)
1922cfd1ed46SJung-uk Kim  *
1923cfd1ed46SJung-uk Kim  ******************************************************************************/
1924cfd1ed46SJung-uk Kim 
19259a4bc520SJung-uk Kim /* Common subtable header */
19269a4bc520SJung-uk Kim 
1927cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhatHdr[] =
1928cfd1ed46SJung-uk Kim {
1929cfd1ed46SJung-uk Kim     {ACPI_DMT_PHAT,     ACPI_PHATH_OFFSET (Type),                   "Subtable Type", 0},
19309a4bc520SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PHATH_OFFSET (Length),                 "Length", DT_LENGTH},
1931cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PHATH_OFFSET (Revision),               "Revision", 0},
1932cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1933cfd1ed46SJung-uk Kim };
1934cfd1ed46SJung-uk Kim 
1935cfd1ed46SJung-uk Kim /* 0: Firmware version table */
1936cfd1ed46SJung-uk Kim 
1937cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhat0[] =
1938cfd1ed46SJung-uk Kim {
1939cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT24,   ACPI_PHAT0_OFFSET (Reserved),               "Reserved", 0},
1940cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PHAT0_OFFSET (ElementCount),           "Element Count", 0},
1941cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1942cfd1ed46SJung-uk Kim };
1943cfd1ed46SJung-uk Kim 
1944cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhat0a[] =
1945cfd1ed46SJung-uk Kim {
1946cfd1ed46SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_PHAT0A_OFFSET (Guid),                  "GUID", 0},
1947cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PHAT0A_OFFSET (VersionValue),          "Version Value", 0},
1948cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PHAT0A_OFFSET (ProducerId),            "Producer ID", 0},
1949cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1950cfd1ed46SJung-uk Kim };
1951cfd1ed46SJung-uk Kim 
1952cfd1ed46SJung-uk Kim /* 1: Firmware Health Data Record */
1953cfd1ed46SJung-uk Kim 
1954cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhat1[] =
1955cfd1ed46SJung-uk Kim {
1956cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PHAT1_OFFSET (Reserved),               "Reserved", 0},
1957cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PHAT1_OFFSET (Health),                 "Health", 0},
1958cfd1ed46SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_PHAT1_OFFSET (DeviceGuid),             "Device GUID", 0},
19599a4bc520SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PHAT1_OFFSET (DeviceSpecificOffset),   "Device-Specific Offset", 0},
1960cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1961cfd1ed46SJung-uk Kim };
1962cfd1ed46SJung-uk Kim 
1963cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhat1a[] =
1964cfd1ed46SJung-uk Kim {
19659a4bc520SJung-uk Kim     {ACPI_DMT_UNICODE, 0,                                           "Device Path", 0},
1966cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1967cfd1ed46SJung-uk Kim };
1968cfd1ed46SJung-uk Kim 
1969cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPhat1b[] =
1970cfd1ed46SJung-uk Kim {
19719a4bc520SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Device-Specific Data", DT_OPTIONAL},
1972cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
1973cfd1ed46SJung-uk Kim };
1974cfd1ed46SJung-uk Kim 
1975cfd1ed46SJung-uk Kim 
1976cfd1ed46SJung-uk Kim /*******************************************************************************
1977cfd1ed46SJung-uk Kim  *
1978ff879b07SJung-uk Kim  * PMTT - Platform Memory Topology Table
1979ff879b07SJung-uk Kim  *
1980ff879b07SJung-uk Kim  ******************************************************************************/
1981ff879b07SJung-uk Kim 
1982ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt[] =
1983ff879b07SJung-uk Kim {
1984cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PMTT_OFFSET (MemoryDeviceCount),       "Memory Device Count", 0},
1985ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
1986ff879b07SJung-uk Kim };
1987ff879b07SJung-uk Kim 
1988ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
1989ff879b07SJung-uk Kim 
1990cfd1ed46SJung-uk Kim #define ACPI_DM_PMTT_HEADER \
1991cfd1ed46SJung-uk Kim     {ACPI_DMT_PMTT,     ACPI_PMTTH_OFFSET (Type),                   "Subtable Type", 0}, \
1992cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PMTTH_OFFSET (Reserved1),              "Reserved", 0}, \
1993cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Length),                 "Length", DT_LENGTH}, \
1994cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG}, \
1995cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Top-level Device", 0}, \
1996cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Physical Element", 0}, \
1997cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Memory Type", 0}, \
1998cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Reserved2),              "Reserved", 0}, \
1999cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PMTTH_OFFSET (MemoryDeviceCount),      "Memory Device Count", 0}
2000ff879b07SJung-uk Kim 
2001ff879b07SJung-uk Kim /* PMTT Subtables */
2002ff879b07SJung-uk Kim 
2003ff879b07SJung-uk Kim /* 0: Socket */
2004ff879b07SJung-uk Kim 
2005ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt0[] =
2006ff879b07SJung-uk Kim {
2007cfd1ed46SJung-uk Kim     ACPI_DM_PMTT_HEADER,
2008ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTT0_OFFSET (SocketId),               "Socket ID", 0},
2009ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTT0_OFFSET (Reserved),               "Reserved", 0},
2010ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2011ff879b07SJung-uk Kim };
2012ff879b07SJung-uk Kim 
2013ff879b07SJung-uk Kim /* 1: Memory Controller */
2014ff879b07SJung-uk Kim 
2015ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt1[] =
2016ff879b07SJung-uk Kim {
2017cfd1ed46SJung-uk Kim     ACPI_DM_PMTT_HEADER,
2018cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (ControllerId),           "Controller ID", 0},
2019ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (Reserved),               "Reserved", 0},
2020ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2021ff879b07SJung-uk Kim };
2022ff879b07SJung-uk Kim 
2023ff879b07SJung-uk Kim /* 2: Physical Component */
2024ff879b07SJung-uk Kim 
2025ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt2[] =
2026ff879b07SJung-uk Kim {
2027cfd1ed46SJung-uk Kim     ACPI_DM_PMTT_HEADER,
2028ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PMTT2_OFFSET (BiosHandle),             "Bios Handle", 0},
2029ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2030ff879b07SJung-uk Kim };
2031ff879b07SJung-uk Kim 
2032cfd1ed46SJung-uk Kim /* 0xFF: Vendor Specific */
2033cfd1ed46SJung-uk Kim 
2034cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPmttVendor[] =
2035cfd1ed46SJung-uk Kim {
2036cfd1ed46SJung-uk Kim     ACPI_DM_PMTT_HEADER,
2037cfd1ed46SJung-uk Kim     {ACPI_DMT_UUID,         ACPI_PMTT_VENDOR_OFFSET (TypeUuid),     "Type Uuid", 0},
2038cfd1ed46SJung-uk Kim     {ACPI_DMT_PMTT_VENDOR,  ACPI_PMTT_VENDOR_OFFSET (Specific),     "Vendor Data", 0},
2039cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2040cfd1ed46SJung-uk Kim };
2041cfd1ed46SJung-uk Kim 
2042ff879b07SJung-uk Kim 
2043ff879b07SJung-uk Kim /*******************************************************************************
2044ff879b07SJung-uk Kim  *
2045ff879b07SJung-uk Kim  * PPTT - Processor Properties Topology Table (ACPI 6.2)
2046ff879b07SJung-uk Kim  *
2047ff879b07SJung-uk Kim  ******************************************************************************/
2048ff879b07SJung-uk Kim 
2049ff879b07SJung-uk Kim /* Main table consists of only the standard ACPI header - subtables follow */
2050ff879b07SJung-uk Kim 
2051ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
2052ff879b07SJung-uk Kim 
2053ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPpttHdr[] =
2054ff879b07SJung-uk Kim {
2055ff879b07SJung-uk Kim     {ACPI_DMT_PPTT,     ACPI_PPTTH_OFFSET (Type),                   "Subtable Type", 0},
2056ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PPTTH_OFFSET (Length),                 "Length", 0},
2057ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2058ff879b07SJung-uk Kim };
2059ff879b07SJung-uk Kim 
2060ff879b07SJung-uk Kim /* 0: Processor hierarchy node */
2061ff879b07SJung-uk Kim 
2062ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt0[] =
2063ff879b07SJung-uk Kim {
2064ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT0_OFFSET (Reserved),               "Reserved", 0},
2065ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (Flags),                  "Flags (decoded below)", 0},
2066ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "Physical package", 0},
2067ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "ACPI Processor ID valid", 0},
2068cd6518c7SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "Processor is a thread", 0},
2069cd6518c7SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "Node is a leaf", 0},
2070cd6518c7SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "Identical Implementation", 0},
2071ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (Parent),                 "Parent", 0},
2072ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (AcpiProcessorId),        "ACPI Processor ID", 0},
2073ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (NumberOfPrivResources),  "Private Resource Number", 0},
2074ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2075ff879b07SJung-uk Kim };
2076ff879b07SJung-uk Kim 
2077ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt0a[] =
2078ff879b07SJung-uk Kim {
2079ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   0,                                          "Private Resource", DT_OPTIONAL},
2080ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2081ff879b07SJung-uk Kim };
2082ff879b07SJung-uk Kim 
2083ff879b07SJung-uk Kim /* 1: Cache type */
2084ff879b07SJung-uk Kim 
2085ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt1[] =
2086ff879b07SJung-uk Kim {
2087ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT1_OFFSET (Reserved),               "Reserved", 0},
2088ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (Flags),                  "Flags (decoded below)", 0},
2089ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Size valid", 0},
2090ff879b07SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Number of Sets valid", 0},
2091ff879b07SJung-uk Kim     {ACPI_DMT_FLAG2,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Associativity valid", 0},
2092ff879b07SJung-uk Kim     {ACPI_DMT_FLAG3,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Allocation Type valid", 0},
2093ff879b07SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Cache Type valid", 0},
2094ff879b07SJung-uk Kim     {ACPI_DMT_FLAG5,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Write Policy valid", 0},
2095ff879b07SJung-uk Kim     {ACPI_DMT_FLAG6,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Line Size valid", 0},
2096cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG7,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Cache ID valid", 0},
2097ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (NextLevelOfCache),       "Next Level of Cache", 0},
2098ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (Size),                   "Size", 0},
2099ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (NumberOfSets),           "Number of Sets", 0},
2100ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PPTT1_OFFSET (Associativity),          "Associativity", 0},
2101ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_PPTT1_OFFSET (Attributes),             "Attributes", 0},
2102ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS0,   ACPI_PPTT1_OFFSET (Attributes),             "Allocation Type", 0},
2103ff879b07SJung-uk Kim     {ACPI_DMT_FLAGS2,   ACPI_PPTT1_OFFSET (Attributes),             "Cache Type", 0},
2104ff879b07SJung-uk Kim     {ACPI_DMT_FLAG4,    ACPI_PPTT1_OFFSET (Attributes),             "Write Policy", 0},
2105ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT1_OFFSET (LineSize),               "Line Size", 0},
2106ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2107ff879b07SJung-uk Kim };
2108ff879b07SJung-uk Kim 
2109cfd1ed46SJung-uk Kim /* 1: cache type v1 */
2110cfd1ed46SJung-uk Kim 
2111cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt1a[] =
2112cfd1ed46SJung-uk Kim {
2113cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT1A_OFFSET (CacheId),               "Cache ID", 0},
2114cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2115cfd1ed46SJung-uk Kim };
2116cfd1ed46SJung-uk Kim 
2117ff879b07SJung-uk Kim /* 2: ID */
2118ff879b07SJung-uk Kim 
2119ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt2[] =
2120ff879b07SJung-uk Kim {
2121ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (Reserved),               "Reserved", 0},
2122cd6518c7SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PPTT2_OFFSET (VendorId),               "Vendor ID", 0},
2123cd6518c7SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PPTT2_OFFSET (Level1Id),               "Level1 ID", 0},
2124cd6518c7SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PPTT2_OFFSET (Level2Id),               "Level2 ID", 0},
2125cd6518c7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (MajorRev),               "Major revision", 0},
2126cd6518c7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (MinorRev),               "Minor revision", 0},
2127cd6518c7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (SpinRev),                "Spin revision", 0},
2128ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2129ff879b07SJung-uk Kim };
2130ff879b07SJung-uk Kim 
2131ff879b07SJung-uk Kim 
2132ff879b07SJung-uk Kim /*******************************************************************************
2133ff879b07SJung-uk Kim  *
21341970d693SJung-uk Kim  * PRMT - Platform Runtime Mechanism Table
21351970d693SJung-uk Kim  *        Version 1
21361970d693SJung-uk Kim  *
21371970d693SJung-uk Kim  ******************************************************************************/
21381970d693SJung-uk Kim 
21391970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPrmtHdr[] =
21401970d693SJung-uk Kim {
21411970d693SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_PRMTH_OFFSET (PlatformGuid[0]),       "Platform GUID", 0},
21421970d693SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PRMTH_OFFSET (ModuleInfoOffset),      "Module info offset", 0},
21431970d693SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PRMTH_OFFSET (ModuleInfoCount),       "Module info count", 0},
21441970d693SJung-uk Kim     ACPI_DMT_NEW_LINE,
21451970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
21461970d693SJung-uk Kim 
21471970d693SJung-uk Kim };
21481970d693SJung-uk Kim 
21491970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPrmtModule[] =
21501970d693SJung-uk Kim {
21511970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT0_OFFSET (Revision),               "Revision", 0},
21521970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT0_OFFSET (Length),                 "Length", 0},
21531970d693SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_PRMT0_OFFSET (ModuleGuid[0]),          "Module GUID", 0},
21541970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT0_OFFSET (MajorRev),               "Major Revision", 0},
21551970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT0_OFFSET (MinorRev),               "Minor Revision", 0},
21561970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT0_OFFSET (HandlerInfoCount),       "Handler Info Count", 0},
21571970d693SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_PRMT0_OFFSET (HandlerInfoOffset),      "Handler Info Offset", 0},
21581970d693SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PRMT0_OFFSET (MmioListPointer),        "Mmio List pointer", 0},
21591970d693SJung-uk Kim     ACPI_DMT_NEW_LINE,
21601970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
21611970d693SJung-uk Kim 
21621970d693SJung-uk Kim };
21631970d693SJung-uk Kim 
21641970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoPrmtHandler[] =
21651970d693SJung-uk Kim {
21661970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT1_OFFSET (Revision),               "Revision", 0},
21671970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_PRMT1_OFFSET (Length),                 "Length", 0},
21681970d693SJung-uk Kim     {ACPI_DMT_UUID,     ACPI_PRMT1_OFFSET (HandlerGuid[0]),         "Handler GUID", 0},
21691970d693SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PRMT1_OFFSET (HandlerAddress),         "Handler address", 0},
21709a4bc520SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PRMT1_OFFSET (StaticDataBufferAddress),"Static Data Address", 0},
21711970d693SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_PRMT1_OFFSET (AcpiParamBufferAddress), "ACPI Parameter Address", 0},
21721970d693SJung-uk Kim     ACPI_DMT_NEW_LINE,
21731970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
21741970d693SJung-uk Kim 
21751970d693SJung-uk Kim };
21761970d693SJung-uk Kim 
21771970d693SJung-uk Kim 
21781970d693SJung-uk Kim /*******************************************************************************
21791970d693SJung-uk Kim  *
2180ff879b07SJung-uk Kim  * RASF -  RAS Feature table
2181ff879b07SJung-uk Kim  *
2182ff879b07SJung-uk Kim  ******************************************************************************/
2183ff879b07SJung-uk Kim 
2184ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRasf[] =
2185ff879b07SJung-uk Kim {
2186ff879b07SJung-uk Kim     {ACPI_DMT_BUF12,    ACPI_RASF_OFFSET (ChannelId[0]),            "Channel ID", 0},
2187ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2188ff879b07SJung-uk Kim };
2189ff879b07SJung-uk Kim 
2190ff879b07SJung-uk Kim 
2191ff879b07SJung-uk Kim /*******************************************************************************
2192ff879b07SJung-uk Kim  *
21931970d693SJung-uk Kim  * RGRT -  Regulatory Graphics Resource Table
21941970d693SJung-uk Kim  *
21951970d693SJung-uk Kim  ******************************************************************************/
21961970d693SJung-uk Kim 
21971970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRgrt[] =
21981970d693SJung-uk Kim {
21991970d693SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_RGRT_OFFSET (Version),                 "Version", 0},
22001970d693SJung-uk Kim     {ACPI_DMT_RGRT,     ACPI_RGRT_OFFSET (ImageType),               "Image Type", 0},
22011970d693SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_RGRT_OFFSET (Reserved),                "Reserved", 0},
22021970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
22031970d693SJung-uk Kim };
22041970d693SJung-uk Kim 
22051970d693SJung-uk Kim /*
22061970d693SJung-uk Kim  * We treat the binary image field as its own subtable (to make
22071970d693SJung-uk Kim  * ACPI_DMT_RAW_BUFFER work properly).
22081970d693SJung-uk Kim  */
22091970d693SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRgrt0[] =
22101970d693SJung-uk Kim {
22111970d693SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Image", 0},
22121970d693SJung-uk Kim     ACPI_DMT_TERMINATOR
22131970d693SJung-uk Kim };
22141970d693SJung-uk Kim 
22151970d693SJung-uk Kim 
22161970d693SJung-uk Kim /*******************************************************************************
22171970d693SJung-uk Kim  *
2218722b1667SJung-uk Kim  * RHCT - RISC-V Hart Capabilities Table
2219722b1667SJung-uk Kim  *
2220722b1667SJung-uk Kim  ******************************************************************************/
2221722b1667SJung-uk Kim 
2222722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhct[] =
2223722b1667SJung-uk Kim {
2224*07c64d74SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (Flags),            "Flags", 0},
2225722b1667SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_RHCT_OFFSET (TimeBaseFreq),     "Timer Base Frequency", 0},
2226722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeCount),        "Number of nodes", 0},
2227722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeOffset),       "Offset to the node array", 0},
2228722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2229722b1667SJung-uk Kim };
2230722b1667SJung-uk Kim 
2231722b1667SJung-uk Kim 
2232722b1667SJung-uk Kim /* Common Subtable header (one per Subtable) */
2233722b1667SJung-uk Kim 
2234722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctNodeHdr[] =
2235722b1667SJung-uk Kim {
2236*07c64d74SJung-uk Kim     {ACPI_DMT_RHCT,      ACPI_RHCTH_OFFSET (Type),            "Subtable Type", 0},
2237722b1667SJung-uk Kim     {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Length),          "Length", 0},
2238722b1667SJung-uk Kim     {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Revision),        "Revision", 0},
2239722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2240722b1667SJung-uk Kim };
2241722b1667SJung-uk Kim 
2242722b1667SJung-uk Kim /* 0: ISA string type */
2243722b1667SJung-uk Kim 
2244722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsa1[] =
2245722b1667SJung-uk Kim {
2246722b1667SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_RHCT0_OFFSET (IsaLength),        "ISA string length", 0},
2247722b1667SJung-uk Kim     {ACPI_DMT_STRING,   ACPI_RHCT0_OFFSET (Isa[0]),           "ISA string", 0},
2248722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2249722b1667SJung-uk Kim };
2250722b1667SJung-uk Kim 
2251722b1667SJung-uk Kim 
2252722b1667SJung-uk Kim /* Optional padding field */
2253722b1667SJung-uk Kim 
2254722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsaPad[] =
2255722b1667SJung-uk Kim {
2256722b1667SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                  "Optional Padding", DT_OPTIONAL},
2257722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2258722b1667SJung-uk Kim };
2259722b1667SJung-uk Kim 
2260*07c64d74SJung-uk Kim /* 1: CMO node type */
2261*07c64d74SJung-uk Kim 
2262*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctCmo1[] =
2263*07c64d74SJung-uk Kim {
2264*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT1_OFFSET (Reserved),          "Reserved", 0},
2265*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT1_OFFSET (CbomSize),          "CBOM Block Size", 0},
2266*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT1_OFFSET (CbopSize),          "CBOP Block Size", 0},
2267*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT1_OFFSET (CbozSize),          "CBOZ Block Size", 0},
2268*07c64d74SJung-uk Kim     ACPI_DMT_TERMINATOR
2269*07c64d74SJung-uk Kim };
2270*07c64d74SJung-uk Kim 
2271*07c64d74SJung-uk Kim /* 2: MMU node type */
2272*07c64d74SJung-uk Kim 
2273*07c64d74SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctMmu1[] =
2274*07c64d74SJung-uk Kim {
2275*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT2_OFFSET (Reserved),          "Reserved", 0},
2276*07c64d74SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_RHCT2_OFFSET (MmuType),           "MMU Type", 0},
2277*07c64d74SJung-uk Kim     ACPI_DMT_TERMINATOR
2278*07c64d74SJung-uk Kim };
2279*07c64d74SJung-uk Kim 
2280722b1667SJung-uk Kim /* 0xFFFF: Hart Info type */
2281722b1667SJung-uk Kim 
2282722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo1[] =
2283722b1667SJung-uk Kim {
2284722b1667SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_RHCTFFFF_OFFSET (NumOffsets),    "Number of offsets", 0},
2285722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_RHCTFFFF_OFFSET (Uid),           "Processor UID", 0},
2286722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2287722b1667SJung-uk Kim };
2288722b1667SJung-uk Kim 
2289722b1667SJung-uk Kim 
2290722b1667SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo2[] =
2291722b1667SJung-uk Kim {
2292722b1667SJung-uk Kim     {ACPI_DMT_UINT32,   0,                                    "Nodes", DT_OPTIONAL},
2293722b1667SJung-uk Kim     ACPI_DMT_TERMINATOR
2294722b1667SJung-uk Kim };
2295722b1667SJung-uk Kim 
2296722b1667SJung-uk Kim 
2297722b1667SJung-uk Kim /*******************************************************************************
2298722b1667SJung-uk Kim  *
2299ff879b07SJung-uk Kim  * S3PT - S3 Performance Table
2300ff879b07SJung-uk Kim  *
2301ff879b07SJung-uk Kim  ******************************************************************************/
2302ff879b07SJung-uk Kim 
2303ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt[] =
2304ff879b07SJung-uk Kim {
2305ff879b07SJung-uk Kim     {ACPI_DMT_SIG,     ACPI_S3PT_OFFSET (Signature[0]),             "Signature", 0},
2306ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_S3PT_OFFSET (Length),                   "Length", DT_LENGTH},
2307ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2308ff879b07SJung-uk Kim };
2309ff879b07SJung-uk Kim 
2310ff879b07SJung-uk Kim /* S3PT subtable header */
2311ff879b07SJung-uk Kim 
2312ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoS3ptHdr[] =
2313ff879b07SJung-uk Kim {
2314ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,  ACPI_S3PTH_OFFSET (Type),                    "Type", 0},
2315ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_S3PTH_OFFSET (Length),                  "Length", DT_LENGTH},
2316ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,   ACPI_S3PTH_OFFSET (Revision),                "Revision", 0},
2317ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2318ff879b07SJung-uk Kim };
2319ff879b07SJung-uk Kim 
2320ff879b07SJung-uk Kim /* 0: Basic S3 Resume Performance Record */
2321ff879b07SJung-uk Kim 
2322ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt0[] =
2323ff879b07SJung-uk Kim {
2324ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,  ACPI_S3PT0_OFFSET (ResumeCount),             "Resume Count", 0},
2325ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_S3PT0_OFFSET (FullResume),              "Full Resume", 0},
2326ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_S3PT0_OFFSET (AverageResume),           "Average Resume", 0},
2327ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2328ff879b07SJung-uk Kim };
2329ff879b07SJung-uk Kim 
2330ff879b07SJung-uk Kim /* 1: Basic S3 Suspend Performance Record */
2331ff879b07SJung-uk Kim 
2332ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt1[] =
2333ff879b07SJung-uk Kim {
2334ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_S3PT1_OFFSET (SuspendStart),            "Suspend Start", 0},
2335ff879b07SJung-uk Kim     {ACPI_DMT_UINT64,  ACPI_S3PT1_OFFSET (SuspendEnd),              "Suspend End", 0},
2336ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2337ff879b07SJung-uk Kim };
2338ff879b07SJung-uk Kim 
2339ff879b07SJung-uk Kim 
2340ff879b07SJung-uk Kim /*******************************************************************************
2341ff879b07SJung-uk Kim  *
2342ff879b07SJung-uk Kim  * SBST - Smart Battery Specification Table
2343ff879b07SJung-uk Kim  *
2344ff879b07SJung-uk Kim  ******************************************************************************/
2345ff879b07SJung-uk Kim 
2346ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSbst[] =
2347ff879b07SJung-uk Kim {
2348ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (WarningLevel),            "Warning Level", 0},
2349ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (LowLevel),                "Low Level", 0},
2350ff879b07SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (CriticalLevel),           "Critical Level", 0},
2351ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2352ff879b07SJung-uk Kim };
2353ff879b07SJung-uk Kim 
2354ff879b07SJung-uk Kim 
2355ff879b07SJung-uk Kim /*******************************************************************************
2356ff879b07SJung-uk Kim  *
2357cd6518c7SJung-uk Kim  * SDEI - Software Delegated Exception Interface Descriptor Table
2358ff879b07SJung-uk Kim  *
2359ff879b07SJung-uk Kim  ******************************************************************************/
2360ff879b07SJung-uk Kim 
2361ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdei[] =
2362ff879b07SJung-uk Kim {
2363ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2364ff879b07SJung-uk Kim };
2365ff879b07SJung-uk Kim 
2366ff879b07SJung-uk Kim 
2367ff879b07SJung-uk Kim /*******************************************************************************
2368ff879b07SJung-uk Kim  *
2369ff879b07SJung-uk Kim  * SDEV - Secure Devices Table (ACPI 6.2)
2370ff879b07SJung-uk Kim  *
2371ff879b07SJung-uk Kim  ******************************************************************************/
2372ff879b07SJung-uk Kim 
2373ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev[] =
2374ff879b07SJung-uk Kim {
2375ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2376ff879b07SJung-uk Kim };
2377ff879b07SJung-uk Kim 
2378ff879b07SJung-uk Kim /* Common Subtable header (one per Subtable) */
2379ff879b07SJung-uk Kim 
2380ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdevHdr[] =
2381ff879b07SJung-uk Kim {
2382ff879b07SJung-uk Kim     {ACPI_DMT_SDEV,     ACPI_SDEVH_OFFSET (Type),                   "Subtable Type", 0},
2383ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVH_OFFSET (Flags),                  "Flags (decoded below)", 0},
2384ff879b07SJung-uk Kim     {ACPI_DMT_FLAG0,    ACPI_SDEVH_FLAG_OFFSET (Flags,0),           "Allow handoff to unsecure OS", 0},
2385cfd1ed46SJung-uk Kim     {ACPI_DMT_FLAG1,    ACPI_SDEVH_FLAG_OFFSET (Flags,0),           "Secure access components present", 0},
2386ab71bbb7SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVH_OFFSET (Length),                 "Length",  DT_LENGTH},
2387ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2388ff879b07SJung-uk Kim };
2389ff879b07SJung-uk Kim 
2390ff879b07SJung-uk Kim /* SDEV Subtables */
2391ff879b07SJung-uk Kim 
2392ff879b07SJung-uk Kim /* 0: Namespace Device Based Secure Device Structure */
2393ff879b07SJung-uk Kim 
2394ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev0[] =
2395ff879b07SJung-uk Kim {
2396ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (DeviceIdOffset),         "Device ID Offset", 0},
2397ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (DeviceIdLength),         "Device ID Length", 0},
2398ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (VendorDataOffset),       "Vendor Data Offset", 0},
2399ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (VendorDataLength),       "Vendor Data Length", 0},
2400ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2401ff879b07SJung-uk Kim };
2402ff879b07SJung-uk Kim 
2403ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev0a[] =
2404ff879b07SJung-uk Kim {
2405ff879b07SJung-uk Kim     {ACPI_DMT_STRING,   0,                                          "Namepath", 0},
2406ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2407ff879b07SJung-uk Kim };
2408ff879b07SJung-uk Kim 
2409cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev0b[] =
2410cfd1ed46SJung-uk Kim {
2411cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0B_OFFSET (SecureComponentOffset), "Secure Access Components Offset", 0},
2412cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV0B_OFFSET (SecureComponentLength), "Secure Access Components Length", 0},
2413cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2414cfd1ed46SJung-uk Kim };
2415cfd1ed46SJung-uk Kim 
2416cfd1ed46SJung-uk Kim /* Secure access components */
2417cfd1ed46SJung-uk Kim 
2418cfd1ed46SJung-uk Kim /* Common secure access components header secure access component */
2419cfd1ed46SJung-uk Kim 
2420cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdevSecCompHdr[] =
2421cfd1ed46SJung-uk Kim {
2422cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVCH_OFFSET (Type),                   "Secure Component Type", 0},
2423cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVCH_OFFSET (Flags),                  "Flags (decoded below)", 0},
2424cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVCH_OFFSET (Length),                 "Length", 0},
2425cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2426cfd1ed46SJung-uk Kim };
2427cfd1ed46SJung-uk Kim 
2428cfd1ed46SJung-uk Kim /* 0: Identification Based Secure Access Component */
2429cfd1ed46SJung-uk Kim 
2430cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdevSecCompId[] =
2431cfd1ed46SJung-uk Kim {
2432cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVC0_OFFSET (HardwareIdOffset),      "Hardware ID Offset", 0},
2433cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVC0_OFFSET (HardwareIdLength),      "Hardware ID Length", 0},
2434cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVC0_OFFSET (SubsystemIdOffset),     "Subsystem ID Offset", 0},
2435cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVC0_OFFSET (SubsystemIdLength),     "Subsystem ID Length", 0},
2436cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEVC0_OFFSET (HardwareRevision),      "Hardware Revision", 0},
2437cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVC0_OFFSET (HardwareRevPresent),    "Hardware Rev Present", 0},
2438cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVC0_OFFSET (ClassCodePresent),      "Class Code Present", 0},
2439cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVC0_OFFSET (PciBaseClass),          "PCI Base Class", 0},
2440cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVC0_OFFSET (PciSubClass),           "PCI SubClass", 0},
2441cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEVC0_OFFSET (PciProgrammingXface),   "PCI Programming Xface", 0},
2442cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2443cfd1ed46SJung-uk Kim };
2444cfd1ed46SJung-uk Kim 
2445cfd1ed46SJung-uk Kim /* 1: Memory Based Secure Access Component */
2446cfd1ed46SJung-uk Kim 
2447cfd1ed46SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdevSecCompMem[] =
2448cfd1ed46SJung-uk Kim {
2449cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT32,   ACPI_SDEVC1_OFFSET (Reserved),              "Reserved", 0},
2450cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_SDEVC1_OFFSET (MemoryBaseAddress),     "Memory Base Address", 0},
2451cfd1ed46SJung-uk Kim     {ACPI_DMT_UINT64,   ACPI_SDEVC1_OFFSET (MemoryLength),          "Memory Length", 0},
2452cfd1ed46SJung-uk Kim     ACPI_DMT_TERMINATOR
2453cfd1ed46SJung-uk Kim };
2454cfd1ed46SJung-uk Kim 
2455cfd1ed46SJung-uk Kim 
2456ff879b07SJung-uk Kim /* 1: PCIe Endpoint Device Based Device Structure */
2457ff879b07SJung-uk Kim 
2458ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1[] =
2459ff879b07SJung-uk Kim {
2460ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (Segment),                "Segment", 0},
2461ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (StartBus),               "Start Bus", 0},
2462ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (PathOffset),             "Path Offset", 0},
2463ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (PathLength),             "Path Length", 0},
2464ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (VendorDataOffset),       "Vendor Data Offset", 0},
2465ff879b07SJung-uk Kim     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (VendorDataLength),       "Vendor Data Length", 0},
2466ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2467ff879b07SJung-uk Kim };
2468ff879b07SJung-uk Kim 
2469ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1a[] =
2470ff879b07SJung-uk Kim {
2471ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEV1A_OFFSET (Device),                "Device", 0},
2472ff879b07SJung-uk Kim     {ACPI_DMT_UINT8,    ACPI_SDEV1A_OFFSET (Function),              "Function", 0},
2473ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2474ff879b07SJung-uk Kim };
2475ff879b07SJung-uk Kim 
2476ff879b07SJung-uk Kim ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1b[] =
2477ff879b07SJung-uk Kim {
2478ff879b07SJung-uk Kim     {ACPI_DMT_RAW_BUFFER, 0,                                        "Vendor Data", 0}, /*, DT_OPTIONAL}, */
2479ff879b07SJung-uk Kim     ACPI_DMT_TERMINATOR
2480ff879b07SJung-uk Kim };
24811970d693SJung-uk Kim 
2482ff879b07SJung-uk Kim /*! [End] no source code translation !*/
2483