xref: /netbsd-src/sys/external/bsd/acpica/dist/common/dmtbinfo3.c (revision c7960b37466ae0fd417c32e6acbb4b956ac7a121)
1 /******************************************************************************
2  *
3  * Module Name: dmtbinfo3 - Table info for non-AML tables
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2023, Intel Corp.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions, and the following disclaimer,
16  *    without modification.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  *    substantially similar to the "NO WARRANTY" disclaimer below
19  *    ("Disclaimer") and any redistribution must be conditioned upon
20  *    including a substantially similar Disclaimer requirement for further
21  *    binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  *    of any contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43 
44 #include "acpi.h"
45 #include "accommon.h"
46 #include "acdisasm.h"
47 #include "actbinfo.h"
48 
49 /* This module used for application-level code only */
50 
51 #define _COMPONENT          ACPI_CA_DISASSEMBLER
52         ACPI_MODULE_NAME    ("dmtbinfo3")
53 
54 /*
55  * How to add a new table:
56  *
57  * - Add the C table definition to the actbl1.h or actbl2.h header.
58  * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below.
59  * - Define the table in this file (for the disassembler). If any
60  *   new data types are required (ACPI_DMT_*), see below.
61  * - Add an external declaration for the new table definition (AcpiDmTableInfo*)
62  *     in acdisam.h
63  * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData)
64  *     If a simple table (with no subtables), no disassembly code is needed.
65  *     Otherwise, create the AcpiDmDump* function for to disassemble the table
66  *     and add it to the dmtbdump.c file.
67  * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h
68  * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c
69  * - Create a template for the new table
70  * - Add data table compiler support
71  *
72  * How to add a new data type (ACPI_DMT_*):
73  *
74  * - Add new type at the end of the ACPI_DMT list in acdisasm.h
75  * - Add length and implementation cases in dmtable.c  (disassembler)
76  * - Add type and length cases in dtutils.c (DT compiler)
77  */
78 
79 /*
80  * ACPI Table Information, used to dump formatted ACPI tables
81  *
82  * Each entry is of the form:  <Field Type, Field Offset, Field Name>
83  */
84 
85 /*******************************************************************************
86  *
87  * CCEL - CC-Event Log Table
88  *
89  ******************************************************************************/
90 
91 ACPI_DMTABLE_INFO           AcpiDmTableInfoCcel[] =
92 {
93     {ACPI_DMT_UINT8,    ACPI_CCEL_OFFSET (CCType),                  "CC Type", 0},
94     {ACPI_DMT_UINT8,    ACPI_CCEL_OFFSET (CCSubType),               "CC Sub Type", 0},
95     {ACPI_DMT_UINT32,   ACPI_CCEL_OFFSET (Reserved),                "Reserved", 0},
96     {ACPI_DMT_UINT64,   ACPI_CCEL_OFFSET (LogAreaMinimumLength),    "Log Area Minimum Length", 0},
97     {ACPI_DMT_UINT64,   ACPI_CCEL_OFFSET (LogAreaStartAddress),     "Log Area Start Address", 0},
98     ACPI_DMT_TERMINATOR
99 };
100 
101 
102 /*******************************************************************************
103  *
104  * SLIC - Software Licensing Description Table. This table contains the standard
105  * ACPI header followed by proprietary data structures
106  *
107  ******************************************************************************/
108 
109 /* Single subtable, a proprietary format, so treat it as a buffer */
110 
111 ACPI_DMTABLE_INFO           AcpiDmTableInfoSlic[] =
112 {
113     {ACPI_DMT_RAW_BUFFER, 0,                                        "Software Licensing Structure", 0},
114     ACPI_DMT_TERMINATOR
115 };
116 
117 
118 /*******************************************************************************
119  *
120  * SLIT - System Locality Information Table
121  *
122  ******************************************************************************/
123 
124 ACPI_DMTABLE_INFO           AcpiDmTableInfoSlit[] =
125 {
126     {ACPI_DMT_UINT64,   ACPI_SLIT_OFFSET (LocalityCount),           "Localities", 0},
127     ACPI_DMT_TERMINATOR
128 };
129 
130 
131 /*******************************************************************************
132  *
133  * SPCR - Serial Port Console Redirection table
134  *
135  ******************************************************************************/
136 
137 ACPI_DMTABLE_INFO           AcpiDmTableInfoSpcr[] =
138 {
139     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (InterfaceType),           "Interface Type", 0},
140     {ACPI_DMT_UINT24,   ACPI_SPCR_OFFSET (Reserved[0]),             "Reserved", 0},
141     {ACPI_DMT_GAS,      ACPI_SPCR_OFFSET (SerialPort),              "Serial Port Register", 0},
142     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (InterruptType),           "Interrupt Type", 0},
143     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (PcInterrupt),             "PCAT-compatible IRQ", 0},
144     {ACPI_DMT_UINT32,   ACPI_SPCR_OFFSET (Interrupt),               "Interrupt", 0},
145     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (BaudRate),                "Baud Rate", 0},
146     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (Parity),                  "Parity", 0},
147     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (StopBits),                "Stop Bits", 0},
148     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (FlowControl),             "Flow Control", 0},
149     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (TerminalType),            "Terminal Type", 0},
150     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (Language),                "Language", 0},
151     {ACPI_DMT_UINT16,   ACPI_SPCR_OFFSET (PciDeviceId),             "PCI Device ID", 0},
152     {ACPI_DMT_UINT16,   ACPI_SPCR_OFFSET (PciVendorId),             "PCI Vendor ID", 0},
153     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (PciBus),                  "PCI Bus", 0},
154     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (PciDevice),               "PCI Device", 0},
155     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (PciFunction),             "PCI Function", 0},
156     {ACPI_DMT_UINT32,   ACPI_SPCR_OFFSET (PciFlags),                "PCI Flags", 0},
157     {ACPI_DMT_UINT8,    ACPI_SPCR_OFFSET (PciSegment),              "PCI Segment", 0},
158     {ACPI_DMT_UINT32,   ACPI_SPCR_OFFSET (UartClkFreq),             "Uart Clock Freq", 0},
159     {ACPI_DMT_UINT32,   ACPI_SPCR_OFFSET (PreciseBaudrate),         "Precise Baud rate", 0},
160     {ACPI_DMT_UINT16,   ACPI_SPCR_OFFSET (NameSpaceStringLength),   "NameSpaceStringLength", 0},
161     {ACPI_DMT_UINT16,   ACPI_SPCR_OFFSET (NameSpaceStringOffset),   "NameSpaceStringOffset", 0},
162     {ACPI_DMT_STRING,   ACPI_SPCR_OFFSET (NameSpaceString),         "NamespaceString", 0},
163     ACPI_DMT_TERMINATOR
164 };
165 
166 
167 /*******************************************************************************
168  *
169  * SPMI - Server Platform Management Interface table
170  *
171  ******************************************************************************/
172 
173 ACPI_DMTABLE_INFO           AcpiDmTableInfoSpmi[] =
174 {
175     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (InterfaceType),           "Interface Type", 0},
176     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (Reserved),                "Reserved", DT_NON_ZERO}, /* Value must be 1 */
177     {ACPI_DMT_UINT16,   ACPI_SPMI_OFFSET (SpecRevision),            "IPMI Spec Version", 0},
178     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (InterruptType),           "Interrupt Type", 0},
179     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (GpeNumber),               "GPE Number", 0},
180     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (Reserved1),               "Reserved", 0},
181     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (PciDeviceFlag),           "PCI Device Flag", 0},
182     {ACPI_DMT_UINT32,   ACPI_SPMI_OFFSET (Interrupt),               "Interrupt", 0},
183     {ACPI_DMT_GAS,      ACPI_SPMI_OFFSET (IpmiRegister),            "IPMI Register", 0},
184     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (PciSegment),              "PCI Segment", 0},
185     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (PciBus),                  "PCI Bus", 0},
186     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (PciDevice),               "PCI Device", 0},
187     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (PciFunction),             "PCI Function", 0},
188     {ACPI_DMT_UINT8,    ACPI_SPMI_OFFSET (Reserved2),               "Reserved", 0},
189     ACPI_DMT_TERMINATOR
190 };
191 
192 
193 /*******************************************************************************
194  *
195  * SRAT - System Resource Affinity Table and Subtables
196  *
197  ******************************************************************************/
198 
199 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat[] =
200 {
201     {ACPI_DMT_UINT32,   ACPI_SRAT_OFFSET (TableRevision),           "Table Revision", 0},
202     {ACPI_DMT_UINT64,   ACPI_SRAT_OFFSET (Reserved),                "Reserved", 0},
203     ACPI_DMT_TERMINATOR
204 };
205 
206 /* Common Subtable header (one per Subtable) */
207 
208 ACPI_DMTABLE_INFO           AcpiDmTableInfoSratHdr[] =
209 {
210     {ACPI_DMT_SRAT,     ACPI_SRATH_OFFSET (Type),                   "Subtable Type", 0},
211     {ACPI_DMT_UINT8,    ACPI_SRATH_OFFSET (Length),                 "Length", DT_LENGTH},
212     ACPI_DMT_TERMINATOR
213 };
214 
215 /* SRAT Subtables */
216 
217 /* 0: Processor Local APIC/SAPIC Affinity */
218 
219 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat0[] =
220 {
221     {ACPI_DMT_UINT8,    ACPI_SRAT0_OFFSET (ProximityDomainLo),      "Proximity Domain Low(8)", 0},
222     {ACPI_DMT_UINT8,    ACPI_SRAT0_OFFSET (ApicId),                 "Apic ID", 0},
223     {ACPI_DMT_UINT32,   ACPI_SRAT0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
224     {ACPI_DMT_FLAG0,    ACPI_SRAT0_FLAG_OFFSET (Flags,0),           "Enabled", 0},
225     {ACPI_DMT_UINT8,    ACPI_SRAT0_OFFSET (LocalSapicEid),          "Local Sapic EID", 0},
226     {ACPI_DMT_UINT24,   ACPI_SRAT0_OFFSET (ProximityDomainHi[0]),   "Proximity Domain High(24)", 0},
227     {ACPI_DMT_UINT32,   ACPI_SRAT0_OFFSET (ClockDomain),            "Clock Domain", 0},
228     ACPI_DMT_TERMINATOR
229 };
230 
231 /* 1: Memory Affinity */
232 
233 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat1[] =
234 {
235     {ACPI_DMT_UINT32,   ACPI_SRAT1_OFFSET (ProximityDomain),        "Proximity Domain", 0},
236     {ACPI_DMT_UINT16,   ACPI_SRAT1_OFFSET (Reserved),               "Reserved1", 0},
237     {ACPI_DMT_UINT64,   ACPI_SRAT1_OFFSET (BaseAddress),            "Base Address", 0},
238     {ACPI_DMT_UINT64,   ACPI_SRAT1_OFFSET (Length),                 "Address Length", 0},
239     {ACPI_DMT_UINT32,   ACPI_SRAT1_OFFSET (Reserved1),              "Reserved2", 0},
240     {ACPI_DMT_UINT32,   ACPI_SRAT1_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
241     {ACPI_DMT_FLAG0,    ACPI_SRAT1_FLAG_OFFSET (Flags,0),           "Enabled", 0},
242     {ACPI_DMT_FLAG1,    ACPI_SRAT1_FLAG_OFFSET (Flags,0),           "Hot Pluggable", 0},
243     {ACPI_DMT_FLAG2,    ACPI_SRAT1_FLAG_OFFSET (Flags,0),           "Non-Volatile", 0},
244     {ACPI_DMT_UINT64,   ACPI_SRAT1_OFFSET (Reserved2),              "Reserved3", 0},
245     ACPI_DMT_TERMINATOR
246 };
247 
248 /* 2: Processor Local X2_APIC Affinity (ACPI 4.0) */
249 
250 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat2[] =
251 {
252     {ACPI_DMT_UINT16,   ACPI_SRAT2_OFFSET (Reserved),               "Reserved1", 0},
253     {ACPI_DMT_UINT32,   ACPI_SRAT2_OFFSET (ProximityDomain),        "Proximity Domain", 0},
254     {ACPI_DMT_UINT32,   ACPI_SRAT2_OFFSET (ApicId),                 "Apic ID", 0},
255     {ACPI_DMT_UINT32,   ACPI_SRAT2_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
256     {ACPI_DMT_FLAG0,    ACPI_SRAT2_FLAG_OFFSET (Flags,0),           "Enabled", 0},
257     {ACPI_DMT_UINT32,   ACPI_SRAT2_OFFSET (ClockDomain),            "Clock Domain", 0},
258     {ACPI_DMT_UINT32,   ACPI_SRAT2_OFFSET (Reserved2),              "Reserved2", 0},
259     ACPI_DMT_TERMINATOR
260 };
261 
262 /* 3: GICC Affinity (ACPI 5.1) */
263 
264 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat3[] =
265 {
266     {ACPI_DMT_UINT32,   ACPI_SRAT3_OFFSET (ProximityDomain),        "Proximity Domain", 0},
267     {ACPI_DMT_UINT32,   ACPI_SRAT3_OFFSET (AcpiProcessorUid),       "Acpi Processor UID", 0},
268     {ACPI_DMT_UINT32,   ACPI_SRAT3_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
269     {ACPI_DMT_FLAG0,    ACPI_SRAT3_FLAG_OFFSET (Flags,0),           "Enabled", 0},
270     {ACPI_DMT_UINT32,   ACPI_SRAT3_OFFSET (ClockDomain),            "Clock Domain", 0},
271     ACPI_DMT_TERMINATOR
272 };
273 
274 /* 4: GCC ITS Affinity (ACPI 6.2) */
275 
276 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat4[] =
277 {
278     {ACPI_DMT_UINT32,   ACPI_SRAT4_OFFSET (ProximityDomain),        "Proximity Domain", 0},
279     {ACPI_DMT_UINT16,   ACPI_SRAT4_OFFSET (Reserved),               "Reserved", 0},
280     {ACPI_DMT_UINT32,   ACPI_SRAT4_OFFSET (ItsId),                  "ITS ID", 0},
281     ACPI_DMT_TERMINATOR
282 };
283 
284 /* Common SRAT structure for Generic Affinity Subtables */
285 
286 #define ACPI_DM_SRAT_GENERIC_AFFINITY \
287     {ACPI_DMT_UINT8,    ACPI_SRAT5_OFFSET (Reserved),               "Reserved1", 0}, \
288     {ACPI_DMT_UINT8,    ACPI_SRAT5_OFFSET (DeviceHandleType),       "Device Handle Type", 0}, \
289     {ACPI_DMT_UINT32,   ACPI_SRAT5_OFFSET (ProximityDomain),        "Proximity Domain", 0}, \
290     {ACPI_DMT_BUF16,    ACPI_SRAT5_OFFSET (DeviceHandle),           "Device Handle", 0}, \
291     {ACPI_DMT_UINT32,   ACPI_SRAT5_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG}, \
292     {ACPI_DMT_FLAG0,    ACPI_SRAT5_FLAG_OFFSET (Flags,0),           "Enabled", 0}, \
293     {ACPI_DMT_FLAG1,    ACPI_SRAT5_FLAG_OFFSET (Flags,0),           "Architectural Transactions", 0}, \
294     {ACPI_DMT_UINT32,   ACPI_SRAT5_OFFSET (Reserved1),              "Reserved2", 0}
295 
296 /* 5: Generic Initiator Affinity Structure (ACPI 6.3) */
297 
298 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat5[] =
299 {
300     ACPI_DM_SRAT_GENERIC_AFFINITY,
301     ACPI_DMT_TERMINATOR
302 };
303 
304 /* 6: Generic Port Affinity Structure (ACPI 6.4) */
305 
306 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat6[] =
307 {
308     ACPI_DM_SRAT_GENERIC_AFFINITY,
309     ACPI_DMT_TERMINATOR
310 };
311 
312 /* 7: RINTC Affinity Structure (ACPI 6.6) */
313 
314 ACPI_DMTABLE_INFO           AcpiDmTableInfoSrat7[] =
315 {
316     {ACPI_DMT_UINT16,   ACPI_SRAT7_OFFSET (Reserved),               "Reserved", 0},
317     {ACPI_DMT_UINT32,   ACPI_SRAT7_OFFSET (ProximityDomain),        "Proximity Domain", 0},
318     {ACPI_DMT_UINT32,   ACPI_SRAT7_OFFSET (AcpiProcessorUid),       "Acpi Processor UID", 0},
319     {ACPI_DMT_UINT32,   ACPI_SRAT7_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
320     {ACPI_DMT_FLAG0,    ACPI_SRAT7_FLAG_OFFSET (Flags,0),           "Enabled", 0},
321     {ACPI_DMT_UINT32,   ACPI_SRAT7_OFFSET (ClockDomain),            "Clock Domain", 0},
322     ACPI_DMT_TERMINATOR
323 };
324 
325 /*******************************************************************************
326  *
327  * STAO - Status Override Table (_STA override) - ACPI 6.0
328  *
329  ******************************************************************************/
330 
331 ACPI_DMTABLE_INFO           AcpiDmTableInfoStao[] =
332 {
333     {ACPI_DMT_UINT8,    ACPI_STAO_OFFSET (IgnoreUart),              "Ignore UART", 0},
334     ACPI_DMT_TERMINATOR
335 };
336 
337 ACPI_DMTABLE_INFO           AcpiDmTableInfoStaoStr[] =
338 {
339     {ACPI_DMT_STRING,   0,                                          "Namepath", 0},
340     ACPI_DMT_TERMINATOR
341 };
342 
343 
344 /*******************************************************************************
345  *
346  * SVKL - Storage Volume Key Location table
347  *
348  ******************************************************************************/
349 
350 ACPI_DMTABLE_INFO           AcpiDmTableInfoSvkl[] =
351 {
352     {ACPI_DMT_UINT32,   ACPI_SVKL_OFFSET (Count),                   "Key Count", 0},
353     ACPI_DMT_TERMINATOR
354 };
355 
356 /* SVKL subtables */
357 
358 ACPI_DMTABLE_INFO           AcpiDmTableInfoSvkl0[] =
359 {
360     {ACPI_DMT_UINT16,   ACPI_SVKL0_OFFSET (Type),                   "Key Type", 0},
361     {ACPI_DMT_UINT16,   ACPI_SVKL0_OFFSET (Format),                 "Key Format", 0},
362     {ACPI_DMT_UINT32,   ACPI_SVKL0_OFFSET (Size),                   "Key Size", 0},
363     {ACPI_DMT_UINT64,   ACPI_SVKL0_OFFSET (Address),                "Key Address", 0},
364     ACPI_DMT_TERMINATOR
365 };
366 
367 
368 /*******************************************************************************
369  *
370  * TCPA - Trusted Computing Platform Alliance table (Client)
371  *
372  * NOTE: There are two versions of the table with the same signature --
373  * the client version and the server version. The common PlatformClass
374  * field is used to differentiate the two types of tables.
375  *
376  ******************************************************************************/
377 
378 ACPI_DMTABLE_INFO           AcpiDmTableInfoTcpaHdr[] =
379 {
380     {ACPI_DMT_UINT16,   ACPI_TCPA_OFFSET (PlatformClass),           "Platform Class", 0},
381     ACPI_DMT_TERMINATOR
382 };
383 
384 ACPI_DMTABLE_INFO           AcpiDmTableInfoTcpaClient[] =
385 {
386     {ACPI_DMT_UINT32,   ACPI_TCPA_CLIENT_OFFSET (MinimumLogLength), "Min Event Log Length", 0},
387     {ACPI_DMT_UINT64,   ACPI_TCPA_CLIENT_OFFSET (LogAddress),       "Event Log Address", 0},
388     ACPI_DMT_TERMINATOR
389 };
390 
391 ACPI_DMTABLE_INFO           AcpiDmTableInfoTcpaServer[] =
392 {
393     {ACPI_DMT_UINT16,   ACPI_TCPA_SERVER_OFFSET (Reserved),         "Reserved", 0},
394     {ACPI_DMT_UINT64,   ACPI_TCPA_SERVER_OFFSET (MinimumLogLength), "Min Event Log Length", 0},
395     {ACPI_DMT_UINT64,   ACPI_TCPA_SERVER_OFFSET (LogAddress),       "Event Log Address", 0},
396     {ACPI_DMT_UINT16,   ACPI_TCPA_SERVER_OFFSET (SpecRevision),     "Specification Revision", 0},
397     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (DeviceFlags),      "Device Flags (decoded below)", DT_FLAG},
398     {ACPI_DMT_FLAG0,    ACPI_TCPA_SERVER_OFFSET (DeviceFlags),      "Pci Device", 0},
399     {ACPI_DMT_FLAG1,    ACPI_TCPA_SERVER_OFFSET (DeviceFlags),      "Bus is Pnp", 0},
400     {ACPI_DMT_FLAG2,    ACPI_TCPA_SERVER_OFFSET (DeviceFlags),      "Address Valid", 0},
401     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (InterruptFlags),   "Interrupt Flags (decoded below)", DT_FLAG},
402     {ACPI_DMT_FLAG0,    ACPI_TCPA_SERVER_OFFSET (InterruptFlags),   "Mode", 0},
403     {ACPI_DMT_FLAG1,    ACPI_TCPA_SERVER_OFFSET (InterruptFlags),   "Polarity", 0},
404     {ACPI_DMT_FLAG2,    ACPI_TCPA_SERVER_OFFSET (InterruptFlags),   "GPE SCI Triggered", 0},
405     {ACPI_DMT_FLAG3,    ACPI_TCPA_SERVER_OFFSET (InterruptFlags),   "Global System Interrupt", 0},
406     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (GpeNumber),        "Gpe Number", 0},
407     {ACPI_DMT_UINT24,   ACPI_TCPA_SERVER_OFFSET (Reserved2[0]),     "Reserved", 0},
408     {ACPI_DMT_UINT32,   ACPI_TCPA_SERVER_OFFSET (GlobalInterrupt),  "Global Interrupt", 0},
409     {ACPI_DMT_GAS,      ACPI_TCPA_SERVER_OFFSET (Address),          "Address", 0},
410     {ACPI_DMT_UINT32,   ACPI_TCPA_SERVER_OFFSET (Reserved3),        "Reserved", 0},
411     {ACPI_DMT_GAS,      ACPI_TCPA_SERVER_OFFSET (ConfigAddress),    "Configuration Address", 0},
412     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (Group),            "Pci Group", 0},
413     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (Bus),              "Pci Bus", 0},
414     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (Device),           "Pci Device", 0},
415     {ACPI_DMT_UINT8,    ACPI_TCPA_SERVER_OFFSET (Function),         "Pci Function", 0},
416     ACPI_DMT_TERMINATOR
417 };
418 
419 
420 /*******************************************************************************
421  *
422  * TDEL - TD-Event Log Table
423  *
424  ******************************************************************************/
425 
426 ACPI_DMTABLE_INFO           AcpiDmTableInfoTdel[] =
427 {
428     {ACPI_DMT_UINT32,   ACPI_TDEL_OFFSET (Reserved),                "Reserved", 0},
429     {ACPI_DMT_UINT64,   ACPI_TDEL_OFFSET (LogAreaMinimumLength),    "Log Area Minimum Length", 0},
430     {ACPI_DMT_UINT64,   ACPI_TDEL_OFFSET (LogAreaStartAddress),     "Log Area Start Address", 0},
431     ACPI_DMT_TERMINATOR
432 };
433 
434 /*******************************************************************************
435  *
436  * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
437  *
438  ******************************************************************************/
439 
440 /* TPM2 revision 3 */
441 
442 ACPI_DMTABLE_INFO           AcpiDmTableInfoTpm23[] =
443 {
444     {ACPI_DMT_UINT32,   ACPI_TPM23_OFFSET (Reserved),           "Reserved", 0},
445     {ACPI_DMT_UINT64,   ACPI_TPM23_OFFSET (ControlAddress),     "Control Address", 0},
446     {ACPI_DMT_UINT32,   ACPI_TPM23_OFFSET (StartMethod),        "Start Method", 0},
447     ACPI_DMT_TERMINATOR
448 };
449 
450 /* Trailer in the case that StartMethod == 2 */
451 
452 ACPI_DMTABLE_INFO           AcpiDmTableInfoTpm23a[] =
453 {
454     {ACPI_DMT_UINT32,   ACPI_TPM23A_OFFSET (Reserved),          "Reserved", DT_OPTIONAL},
455     ACPI_DMT_TERMINATOR
456 };
457 
458 /* TPM2 revision 4 */
459 
460 ACPI_DMTABLE_INFO           AcpiDmTableInfoTpm2[] =
461 {
462     {ACPI_DMT_UINT16,   ACPI_TPM2_OFFSET (PlatformClass),           "Platform Class", 0},
463     {ACPI_DMT_UINT16,   ACPI_TPM2_OFFSET (Reserved),                "Reserved", 0},
464     {ACPI_DMT_UINT64,   ACPI_TPM2_OFFSET (ControlAddress),          "Control Address", 0},
465     {ACPI_DMT_TPM2,     ACPI_TPM2_OFFSET (StartMethod),             "Start Method", 0},
466     ACPI_DMT_TERMINATOR
467 };
468 
469 /* Optional trailer. LogLength and LogAddress are additionally optional */
470 
471 ACPI_DMTABLE_INFO           AcpiDmTableInfoTpm2a[] =
472 {
473     {ACPI_DMT_BUF12,    ACPI_TPM2A_OFFSET (MethodParameters),       "Method Parameters", DT_OPTIONAL},
474     {ACPI_DMT_UINT32,   ACPI_TPM2A_OFFSET (MinimumLogLength),       "Minimum Log Length", DT_OPTIONAL},
475     {ACPI_DMT_UINT64,   ACPI_TPM2A_OFFSET (LogAddress),             "Log Address", DT_OPTIONAL},
476     ACPI_DMT_TERMINATOR
477 };
478 
479 /* 11: Start Method for ARM SMC */
480 
481 ACPI_DMTABLE_INFO           AcpiDmTableInfoTpm211[] =
482 {
483     {ACPI_DMT_UINT32,   ACPI_TPM211_OFFSET (GlobalInterrupt),       "Global Interrupt", 0},
484     {ACPI_DMT_UINT8,    ACPI_TPM211_OFFSET (InterruptFlags),        "Interrupt Flags", 0},
485     {ACPI_DMT_UINT8,    ACPI_TPM211_OFFSET (OperationFlags),        "Operation Flags", 0},
486     {ACPI_DMT_UINT16,   ACPI_TPM211_OFFSET (Reserved),              "Reserved", 0},
487     {ACPI_DMT_UINT32,   ACPI_TPM211_OFFSET (FunctionId),            "Function ID", 0},
488     ACPI_DMT_TERMINATOR
489 };
490 
491 
492 /*******************************************************************************
493  *
494  * UEFI - UEFI Boot optimization Table
495  *
496  ******************************************************************************/
497 
498 ACPI_DMTABLE_INFO           AcpiDmTableInfoUefi[] =
499 {
500     {ACPI_DMT_UUID,     ACPI_UEFI_OFFSET (Identifier[0]),           "UUID Identifier", 0},
501     {ACPI_DMT_UINT16,   ACPI_UEFI_OFFSET (DataOffset),              "Data Offset", 0},
502     ACPI_DMT_TERMINATOR
503 };
504 
505 
506 /*******************************************************************************
507  *
508  * VIOT - Virtual I/O Translation Table
509  *
510  ******************************************************************************/
511 
512 ACPI_DMTABLE_INFO           AcpiDmTableInfoViot[] =
513 {
514     {ACPI_DMT_UINT16,   ACPI_VIOT_OFFSET (NodeCount),               "Node count", 0},
515     {ACPI_DMT_UINT16,   ACPI_VIOT_OFFSET (NodeOffset),              "Node offset", 0},
516     {ACPI_DMT_UINT64,   ACPI_VIOT_OFFSET (Reserved),                "Reserved", 0},
517     ACPI_DMT_TERMINATOR
518 };
519 
520 /* Common VIOT subtable header */
521 
522 ACPI_DMTABLE_INFO           AcpiDmTableInfoViotHeader[] =
523 {
524     {ACPI_DMT_VIOT,     ACPI_VIOTH_OFFSET (Type),                   "Type", 0},
525     {ACPI_DMT_UINT8,    ACPI_VIOTH_OFFSET (Reserved),               "Reserved", 0},
526     {ACPI_DMT_UINT16,   ACPI_VIOTH_OFFSET (Length),                 "Length", DT_LENGTH},
527     ACPI_DMT_TERMINATOR
528 };
529 
530 /* VIOT Subtables */
531 
532 /* 0x01: PCI Range Node */
533 
534 ACPI_DMTABLE_INFO           AcpiDmTableInfoViot1[] =
535 {
536     {ACPI_DMT_UINT32,   ACPI_VIOT1_OFFSET (EndpointStart),          "Endpoint start", 0},
537     {ACPI_DMT_UINT16,   ACPI_VIOT1_OFFSET (SegmentStart),           "PCI Segment start", 0},
538     {ACPI_DMT_UINT16,   ACPI_VIOT1_OFFSET (SegmentEnd),             "PCI Segment end", 0},
539     {ACPI_DMT_UINT16,   ACPI_VIOT1_OFFSET (BdfStart),               "PCI BDF start", 0},
540     {ACPI_DMT_UINT16,   ACPI_VIOT1_OFFSET (BdfEnd),                 "PCI BDF end", 0},
541     {ACPI_DMT_UINT16,   ACPI_VIOT1_OFFSET (OutputNode),             "Output node", 0},
542     {ACPI_DMT_UINT48,   ACPI_VIOT1_OFFSET (Reserved),               "Reserved", 0},
543     ACPI_DMT_TERMINATOR
544 };
545 
546 /* 0x02: MMIO Endpoint Node */
547 
548 ACPI_DMTABLE_INFO           AcpiDmTableInfoViot2[] =
549 {
550     {ACPI_DMT_UINT32,   ACPI_VIOT2_OFFSET (Endpoint),               "Endpoint", 0},
551     {ACPI_DMT_UINT64,   ACPI_VIOT2_OFFSET (BaseAddress),            "Base address", 0},
552     {ACPI_DMT_UINT16,   ACPI_VIOT2_OFFSET (OutputNode),             "Output node", 0},
553     {ACPI_DMT_UINT48,   ACPI_VIOT2_OFFSET (Reserved),               "Reserved", 0},
554     ACPI_DMT_TERMINATOR
555 };
556 
557 /* 0x03: PCI Virtio-IOMMU Node */
558 
559 ACPI_DMTABLE_INFO           AcpiDmTableInfoViot3[] =
560 {
561     {ACPI_DMT_UINT16,   ACPI_VIOT3_OFFSET (Segment),                "PCI Segment", 0},
562     {ACPI_DMT_UINT16,   ACPI_VIOT3_OFFSET (Bdf),                    "PCI BDF number", 0},
563     {ACPI_DMT_UINT64,   ACPI_VIOT3_OFFSET (Reserved),               "Reserved", 0},
564     ACPI_DMT_TERMINATOR
565 };
566 
567 /* 0x04: MMIO Virtio-IOMMU Node */
568 
569 ACPI_DMTABLE_INFO           AcpiDmTableInfoViot4[] =
570 {
571     {ACPI_DMT_UINT32,   ACPI_VIOT4_OFFSET (Reserved),               "Reserved", 0},
572     {ACPI_DMT_UINT64,   ACPI_VIOT4_OFFSET (BaseAddress),            "Base address", 0},
573     ACPI_DMT_TERMINATOR
574 };
575 
576 
577 /*******************************************************************************
578  *
579  * WAET - Windows ACPI Emulated devices Table
580  *
581  ******************************************************************************/
582 
583 ACPI_DMTABLE_INFO           AcpiDmTableInfoWaet[] =
584 {
585     {ACPI_DMT_UINT32,   ACPI_WAET_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
586     {ACPI_DMT_FLAG0,    ACPI_WAET_OFFSET (Flags),                   "RTC needs no INT ack", 0},
587     {ACPI_DMT_FLAG1,    ACPI_WAET_OFFSET (Flags),                   "PM timer, one read only", 0},
588     ACPI_DMT_TERMINATOR
589 };
590 
591 
592 /*******************************************************************************
593  *
594  * WDAT - Watchdog Action Table
595  *
596  ******************************************************************************/
597 
598 ACPI_DMTABLE_INFO           AcpiDmTableInfoWdat[] =
599 {
600     {ACPI_DMT_UINT32,   ACPI_WDAT_OFFSET (HeaderLength),            "Header Length", DT_LENGTH},
601     {ACPI_DMT_UINT16,   ACPI_WDAT_OFFSET (PciSegment),              "PCI Segment", 0},
602     {ACPI_DMT_UINT8,    ACPI_WDAT_OFFSET (PciBus),                  "PCI Bus", 0},
603     {ACPI_DMT_UINT8,    ACPI_WDAT_OFFSET (PciDevice),               "PCI Device", 0},
604     {ACPI_DMT_UINT8,    ACPI_WDAT_OFFSET (PciFunction),             "PCI Function", 0},
605     {ACPI_DMT_UINT24,   ACPI_WDAT_OFFSET (Reserved[0]),             "Reserved", 0},
606     {ACPI_DMT_UINT32,   ACPI_WDAT_OFFSET (TimerPeriod),             "Timer Period", 0},
607     {ACPI_DMT_UINT32,   ACPI_WDAT_OFFSET (MaxCount),                "Max Count", 0},
608     {ACPI_DMT_UINT32,   ACPI_WDAT_OFFSET (MinCount),                "Min Count", 0},
609     {ACPI_DMT_UINT8,    ACPI_WDAT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
610     {ACPI_DMT_FLAG0,    ACPI_WDAT_OFFSET (Flags),                   "Enabled", 0},
611     {ACPI_DMT_FLAG7,    ACPI_WDAT_OFFSET (Flags),                   "Stopped When Asleep", 0},
612     {ACPI_DMT_UINT24,   ACPI_WDAT_OFFSET (Reserved2[0]),            "Reserved", 0},
613     {ACPI_DMT_UINT32,   ACPI_WDAT_OFFSET (Entries),                 "Watchdog Entry Count", 0},
614     ACPI_DMT_TERMINATOR
615 };
616 
617 /* WDAT Subtables - Watchdog Instruction Entries */
618 
619 ACPI_DMTABLE_INFO           AcpiDmTableInfoWdat0[] =
620 {
621     {ACPI_DMT_UINT8,    ACPI_WDAT0_OFFSET (Action),                 "Watchdog Action", 0},
622     {ACPI_DMT_UINT8,    ACPI_WDAT0_OFFSET (Instruction),            "Instruction", 0},
623     {ACPI_DMT_UINT16,   ACPI_WDAT0_OFFSET (Reserved),               "Reserved", 0},
624     {ACPI_DMT_GAS,      ACPI_WDAT0_OFFSET (RegisterRegion),         "Register Region", 0},
625     {ACPI_DMT_UINT32,   ACPI_WDAT0_OFFSET (Value),                  "Value", 0},
626     {ACPI_DMT_UINT32,   ACPI_WDAT0_OFFSET (Mask),                   "Register Mask", 0},
627     ACPI_DMT_TERMINATOR
628 };
629 
630 
631 /*******************************************************************************
632  *
633  * WDDT - Watchdog Description Table
634  *
635  ******************************************************************************/
636 
637 ACPI_DMTABLE_INFO           AcpiDmTableInfoWddt[] =
638 {
639     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (SpecVersion),             "Specification Version", 0},
640     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (TableVersion),            "Table Version", 0},
641     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (PciVendorId),             "PCI Vendor ID", 0},
642     {ACPI_DMT_GAS,      ACPI_WDDT_OFFSET (Address),                 "Timer Register", 0},
643     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (MaxCount),                "Max Count", 0},
644     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (MinCount),                "Min Count", 0},
645     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (Period),                  "Period", 0},
646     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (Status),                  "Status (decoded below)", 0},
647 
648     /* Status Flags byte 0 */
649 
650     {ACPI_DMT_FLAG0,    ACPI_WDDT_FLAG_OFFSET (Status,0),           "Available", 0},
651     {ACPI_DMT_FLAG1,    ACPI_WDDT_FLAG_OFFSET (Status,0),           "Active", 0},
652     {ACPI_DMT_FLAG2,    ACPI_WDDT_FLAG_OFFSET (Status,0),           "OS Owns", 0},
653 
654     /* Status Flags byte 1 */
655 
656     {ACPI_DMT_FLAG3,    ACPI_WDDT_FLAG_OFFSET (Status,1),           "User Reset", 0},
657     {ACPI_DMT_FLAG4,    ACPI_WDDT_FLAG_OFFSET (Status,1),           "Timeout Reset", 0},
658     {ACPI_DMT_FLAG5,    ACPI_WDDT_FLAG_OFFSET (Status,1),           "Power Fail Reset", 0},
659     {ACPI_DMT_FLAG6,    ACPI_WDDT_FLAG_OFFSET (Status,1),           "Unknown Reset", 0},
660 
661     {ACPI_DMT_UINT16,   ACPI_WDDT_OFFSET (Capability),              "Capability (decoded below)", 0},
662 
663     /* Capability Flags byte 0 */
664 
665     {ACPI_DMT_FLAG0,    ACPI_WDDT_FLAG_OFFSET (Capability,0),       "Auto Reset", 0},
666     {ACPI_DMT_FLAG1,    ACPI_WDDT_FLAG_OFFSET (Capability,0),       "Timeout Alert", 0},
667     ACPI_DMT_TERMINATOR
668 };
669 
670 
671 /*******************************************************************************
672  *
673  * WDRT - Watchdog Resource Table
674  *
675  ******************************************************************************/
676 
677 ACPI_DMTABLE_INFO           AcpiDmTableInfoWdrt[] =
678 {
679     {ACPI_DMT_GAS,      ACPI_WDRT_OFFSET (ControlRegister),         "Control Register", 0},
680     {ACPI_DMT_GAS,      ACPI_WDRT_OFFSET (CountRegister),           "Count Register", 0},
681     {ACPI_DMT_UINT16,   ACPI_WDRT_OFFSET (PciDeviceId),             "PCI Device ID", 0},
682     {ACPI_DMT_UINT16,   ACPI_WDRT_OFFSET (PciVendorId),             "PCI Vendor ID", 0},
683     {ACPI_DMT_UINT8,    ACPI_WDRT_OFFSET (PciBus),                  "PCI Bus", 0},
684     {ACPI_DMT_UINT8,    ACPI_WDRT_OFFSET (PciDevice),               "PCI Device", 0},
685     {ACPI_DMT_UINT8,    ACPI_WDRT_OFFSET (PciFunction),             "PCI Function", 0},
686     {ACPI_DMT_UINT8,    ACPI_WDRT_OFFSET (PciSegment),              "PCI Segment", 0},
687     {ACPI_DMT_UINT16,   ACPI_WDRT_OFFSET (MaxCount),                "Max Count", 0},
688     {ACPI_DMT_UINT8,    ACPI_WDRT_OFFSET (Units),                   "Counter Units", 0},
689     ACPI_DMT_TERMINATOR
690 };
691 
692 
693 /*******************************************************************************
694  *
695  * WPBT - Windows Platform Environment Table (ACPI 6.0)
696  *        Version 1
697  *
698  * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011
699  *
700  ******************************************************************************/
701 
702 ACPI_DMTABLE_INFO           AcpiDmTableInfoWpbt[] =
703 {
704     {ACPI_DMT_UINT32,      ACPI_WPBT_OFFSET (HandoffSize),          "Handoff Size", 0},
705     {ACPI_DMT_UINT64,      ACPI_WPBT_OFFSET (HandoffAddress),       "Handoff Address", 0},
706     {ACPI_DMT_UINT8,       ACPI_WPBT_OFFSET (Layout),               "Layout", 0},
707     {ACPI_DMT_UINT8,       ACPI_WPBT_OFFSET (Type),                 "Type", 0},
708     {ACPI_DMT_UINT16,      ACPI_WPBT_OFFSET (ArgumentsLength),      "Arguments Length", 0},
709     ACPI_DMT_TERMINATOR
710 };
711 
712 ACPI_DMTABLE_INFO           AcpiDmTableInfoWpbt0[] =
713 {
714     {ACPI_DMT_WPBT_UNICODE, ACPI_WPBT2_OFFSET (UnicodeString),      "Command-line Arguments", DT_DESCRIBES_OPTIONAL},
715     ACPI_DMT_TERMINATOR
716 };
717 
718 
719 /*******************************************************************************
720  *
721  * WSMT - Windows SMM Security Mitigations Table
722  *
723  ******************************************************************************/
724 
725 ACPI_DMTABLE_INFO           AcpiDmTableInfoWsmt[] =
726 {
727     {ACPI_DMT_UINT32,   ACPI_WSMT_OFFSET (ProtectionFlags),         "Protection Flags", 0},
728     {ACPI_DMT_FLAG0,    ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0),  "FIXED_COMM_BUFFERS", 0},
729     {ACPI_DMT_FLAG1,    ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0),  "COMM_BUFFER_NESTED_PTR_PROTECTION", 0},
730     {ACPI_DMT_FLAG2,    ACPI_WSMT_FLAG_OFFSET (ProtectionFlags,0),  "SYSTEM_RESOURCE_PROTECTION", 0},
731     ACPI_DMT_TERMINATOR
732 };
733 
734 
735 /*******************************************************************************
736  *
737  * XENV -  Xen Environment table (ACPI 6.0)
738  *
739  ******************************************************************************/
740 
741 ACPI_DMTABLE_INFO           AcpiDmTableInfoXenv[] =
742 {
743     {ACPI_DMT_UINT64,   ACPI_XENV_OFFSET (GrantTableAddress),       "Grant Table Address", 0},
744     {ACPI_DMT_UINT64,   ACPI_XENV_OFFSET (GrantTableSize),          "Grant Table Size", 0},
745     {ACPI_DMT_UINT32,   ACPI_XENV_OFFSET (EventInterrupt),          "Event Interrupt", 0},
746     {ACPI_DMT_UINT8,    ACPI_XENV_OFFSET (EventFlags),              "Event Flags", 0},
747     ACPI_DMT_TERMINATOR
748 };
749 
750 
751 /*! [Begin] no source code translation */
752 
753 /*
754  * Generic types (used in UEFI and custom tables)
755  *
756  * Examples:
757  *
758  *     Buffer : cc 04 ff bb
759  *      UINT8 : 11
760  *     UINT16 : 1122
761  *     UINT24 : 112233
762  *     UINT32 : 11223344
763  *     UINT56 : 11223344556677
764  *     UINT64 : 1122334455667788
765  *
766  *     String : "This is string"
767  *    Unicode : "This string encoded to Unicode"
768  *
769  *       GUID : 11223344-5566-7788-99aa-bbccddeeff00
770  * DevicePath : "\PciRoot(0)\Pci(0x1f,1)\Usb(0,0)"
771  */
772 
773 #define ACPI_DM_GENERIC_ENTRY(FieldType, FieldName) \
774     {{FieldType, 0, FieldName, 0}, ACPI_DMT_TERMINATOR}
775 
776 ACPI_DMTABLE_INFO           AcpiDmTableInfoGeneric[][2] =
777 {
778     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT8,      "UINT8"),
779     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT16,     "UINT16"),
780     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT24,     "UINT24"),
781     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT32,     "UINT32"),
782     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT40,     "UINT40"),
783     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT48,     "UINT48"),
784     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT56,     "UINT56"),
785     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT64,     "UINT64"),
786     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING,     "String"),
787     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UNICODE,    "Unicode"),
788     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_BUFFER,     "Buffer"),
789     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_BUF16,      "BUF16"),
790     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UUID,       "GUID"),
791     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING,     "DevicePath"),
792     ACPI_DM_GENERIC_ENTRY (ACPI_DMT_LABEL,      "Label"),
793     {ACPI_DMT_TERMINATOR}
794 };
795 /*! [End] no source code translation !*/
796