[BACK]Return to dmtbinfo2.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / external / bsd / acpica / dist / common

Annotation of src/sys/external/bsd/acpica/dist/common/dmtbinfo2.c, Revision 1.1

1.1     ! christos    1: /******************************************************************************
        !             2:  *
        !             3:  * Module Name: dmtbinfo2 - Table info for non-AML tables
        !             4:  *
        !             5:  *****************************************************************************/
        !             6:
        !             7: /*
        !             8:  * Copyright (C) 2000 - 2018, 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 MERCHANTIBILITY 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    ("dmtbinfo2")
        !            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:  * Remaining tables are not consumed directly by the ACPICA subsystem
        !            81:  */
        !            82:
        !            83:
        !            84: /*******************************************************************************
        !            85:  *
        !            86:  * IORT - IO Remapping Table
        !            87:  *
        !            88:  ******************************************************************************/
        !            89:
        !            90: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort[] =
        !            91: {
        !            92:     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (NodeCount),               "Node Count", 0},
        !            93:     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (NodeOffset),              "Node Offset", 0},
        !            94:     {ACPI_DMT_UINT32,   ACPI_IORT_OFFSET (Reserved),                "Reserved", 0},
        !            95:     ACPI_DMT_TERMINATOR
        !            96: };
        !            97:
        !            98: /* Optional padding field */
        !            99:
        !           100: ACPI_DMTABLE_INFO           AcpiDmTableInfoIortPad[] =
        !           101: {
        !           102:     {ACPI_DMT_RAW_BUFFER, 0,                                        "Optional Padding", DT_OPTIONAL},
        !           103:     ACPI_DMT_TERMINATOR
        !           104: };
        !           105:
        !           106: /* Common Subtable header (one per Subtable) */
        !           107:
        !           108: ACPI_DMTABLE_INFO           AcpiDmTableInfoIortHdr[] =
        !           109: {
        !           110:     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Type),                   "Type", 0},
        !           111:     {ACPI_DMT_UINT16,   ACPI_IORTH_OFFSET (Length),                 "Length", DT_LENGTH},
        !           112:     {ACPI_DMT_UINT8,    ACPI_IORTH_OFFSET (Revision),               "Revision", 0},
        !           113:     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (Reserved),               "Reserved", 0},
        !           114:     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingCount),           "Mapping Count", 0},
        !           115:     {ACPI_DMT_UINT32,   ACPI_IORTH_OFFSET (MappingOffset),          "Mapping Offset", 0},
        !           116:     ACPI_DMT_TERMINATOR
        !           117: };
        !           118:
        !           119: ACPI_DMTABLE_INFO           AcpiDmTableInfoIortMap[] =
        !           120: {
        !           121:     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (InputBase),              "Input base", DT_OPTIONAL},
        !           122:     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (IdCount),                "ID Count", 0},
        !           123:     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (OutputBase),             "Output Base", 0},
        !           124:     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (OutputReference),        "Output Reference", 0},
        !           125:     {ACPI_DMT_UINT32,   ACPI_IORTM_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !           126:     {ACPI_DMT_FLAG0,    ACPI_IORTM_FLAG_OFFSET (Flags, 0),          "Single Mapping", 0},
        !           127:     ACPI_DMT_TERMINATOR
        !           128: };
        !           129:
        !           130: ACPI_DMTABLE_INFO           AcpiDmTableInfoIortAcc[] =
        !           131: {
        !           132:     {ACPI_DMT_UINT32,   ACPI_IORTA_OFFSET (CacheCoherency),         "Cache Coherency", 0},
        !           133:     {ACPI_DMT_UINT8,    ACPI_IORTA_OFFSET (Hints),                  "Hints (decoded below)", 0},
        !           134:     {ACPI_DMT_FLAG0,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Transient", 0},
        !           135:     {ACPI_DMT_FLAG1,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Write Allocate", 0},
        !           136:     {ACPI_DMT_FLAG2,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Read Allocate", 0},
        !           137:     {ACPI_DMT_FLAG3,    ACPI_IORTA_FLAG_OFFSET (Hints, 0),          "Override", 0},
        !           138:     {ACPI_DMT_UINT16,   ACPI_IORTA_OFFSET (Reserved),               "Reserved", 0},
        !           139:     {ACPI_DMT_UINT8,    ACPI_IORTA_OFFSET (MemoryFlags),            "Memory Flags (decoded below)", 0},
        !           140:     {ACPI_DMT_FLAG0,    ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0),    "Coherency", 0},
        !           141:     {ACPI_DMT_FLAG1,    ACPI_IORTA_FLAG_OFFSET (MemoryFlags, 0),    "Device Attribute", 0},
        !           142:     ACPI_DMT_TERMINATOR
        !           143: };
        !           144:
        !           145: /* IORT subtables */
        !           146:
        !           147: /* 0x00: ITS Group */
        !           148:
        !           149: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort0[] =
        !           150: {
        !           151:     {ACPI_DMT_UINT32,   ACPI_IORT0_OFFSET (ItsCount),               "ItsCount", 0},
        !           152:     ACPI_DMT_TERMINATOR
        !           153: };
        !           154:
        !           155: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort0a[] =
        !           156: {
        !           157:     {ACPI_DMT_UINT32,   0,                                          "Identifiers", DT_OPTIONAL},
        !           158:     ACPI_DMT_TERMINATOR
        !           159: };
        !           160:
        !           161: /* 0x01: Named Component */
        !           162:
        !           163: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort1[] =
        !           164: {
        !           165:     {ACPI_DMT_UINT32,   ACPI_IORT1_OFFSET (NodeFlags),              "Node Flags", 0},
        !           166:     {ACPI_DMT_IORTMEM,  ACPI_IORT1_OFFSET (MemoryProperties),       "Memory Properties", 0},
        !           167:     {ACPI_DMT_UINT8,    ACPI_IORT1_OFFSET (MemoryAddressLimit),     "Memory Size Limit", 0},
        !           168:     {ACPI_DMT_STRING,   ACPI_IORT1_OFFSET (DeviceName[0]),          "Device Name", 0},
        !           169:     ACPI_DMT_TERMINATOR
        !           170: };
        !           171:
        !           172: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort1a[] =
        !           173: {
        !           174:     {ACPI_DMT_RAW_BUFFER, 0,                                        "Padding", DT_OPTIONAL},
        !           175:     ACPI_DMT_TERMINATOR
        !           176: };
        !           177:
        !           178: /* 0x02: PCI Root Complex */
        !           179:
        !           180: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort2[] =
        !           181: {
        !           182:     {ACPI_DMT_IORTMEM,  ACPI_IORT2_OFFSET (MemoryProperties),       "Memory Properties", 0},
        !           183:     {ACPI_DMT_UINT32,   ACPI_IORT2_OFFSET (AtsAttribute),           "ATS Attribute", 0},
        !           184:     {ACPI_DMT_UINT32,   ACPI_IORT2_OFFSET (PciSegmentNumber),       "PCI Segment Number", 0},
        !           185:     ACPI_DMT_TERMINATOR
        !           186: };
        !           187:
        !           188: /* 0x03: SMMUv1/2 */
        !           189:
        !           190: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3[] =
        !           191: {
        !           192:     {ACPI_DMT_UINT64,   ACPI_IORT3_OFFSET (BaseAddress),            "Base Address", 0},
        !           193:     {ACPI_DMT_UINT64,   ACPI_IORT3_OFFSET (Span),                   "Span", 0},
        !           194:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (Model),                  "Model", 0},
        !           195:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !           196:     {ACPI_DMT_FLAG0,    ACPI_IORT3_FLAG_OFFSET (Flags, 0),          "DVM Supported", 0},
        !           197:     {ACPI_DMT_FLAG1,    ACPI_IORT3_FLAG_OFFSET (Flags, 0),          "Coherent Walk", 0},
        !           198:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (GlobalInterruptOffset),  "Global Interrupt Offset", 0},
        !           199:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (ContextInterruptCount),  "Context Interrupt Count", 0},
        !           200:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (ContextInterruptOffset), "Context Interrupt Offset", 0},
        !           201:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (PmuInterruptCount),      "PMU Interrupt Count", 0},
        !           202:     {ACPI_DMT_UINT32,   ACPI_IORT3_OFFSET (PmuInterruptOffset),     "PMU Interrupt Offset", 0},
        !           203:     ACPI_DMT_TERMINATOR
        !           204: };
        !           205:
        !           206: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3a[] =
        !           207: {
        !           208:     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgIrpt),                   "NSgIrpt", 0},
        !           209:     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgIrptFlags),              "NSgIrpt Flags (decoded below)", 0},
        !           210:     {ACPI_DMT_FLAG0,    ACPI_IORT3a_FLAG_OFFSET (NSgIrptFlags, 0),      "Edge Triggered", 0},
        !           211:     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgCfgIrpt),                "NSgCfgIrpt", 0},
        !           212:     {ACPI_DMT_UINT32,   ACPI_IORT3A_OFFSET (NSgCfgIrptFlags),           "NSgCfgIrpt Flags (decoded below)", 0},
        !           213:     {ACPI_DMT_FLAG0,    ACPI_IORT3a_FLAG_OFFSET (NSgCfgIrptFlags, 0),   "Edge Triggered", 0},
        !           214:     ACPI_DMT_TERMINATOR
        !           215: };
        !           216:
        !           217: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3b[] =
        !           218: {
        !           219:     {ACPI_DMT_UINT64,   0,                                          "Context Interrupt", DT_OPTIONAL},
        !           220:     ACPI_DMT_TERMINATOR
        !           221: };
        !           222:
        !           223: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort3c[] =
        !           224: {
        !           225:     {ACPI_DMT_UINT64,   0,                                          "PMU Interrupt", DT_OPTIONAL},
        !           226:     ACPI_DMT_TERMINATOR
        !           227: };
        !           228:
        !           229: /* 0x04: SMMUv3 */
        !           230:
        !           231: ACPI_DMTABLE_INFO           AcpiDmTableInfoIort4[] =
        !           232: {
        !           233:     {ACPI_DMT_UINT64,   ACPI_IORT4_OFFSET (BaseAddress),            "Base Address", 0},
        !           234:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !           235:     {ACPI_DMT_FLAG0,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "COHACC Override", 0},
        !           236:     {ACPI_DMT_FLAG1,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "HTTU Override", 0},
        !           237:     {ACPI_DMT_FLAG3,    ACPI_IORT4_FLAG_OFFSET (Flags, 0),          "Proximity Domain Valid", 0},
        !           238:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Reserved),               "Reserved", 0},
        !           239:     {ACPI_DMT_UINT64,   ACPI_IORT4_OFFSET (VatosAddress),           "VATOS Address", 0},
        !           240:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (Model),                  "Model", 0},
        !           241:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (EventGsiv),              "Event GSIV", 0},
        !           242:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (PriGsiv),                "PRI GSIV", 0},
        !           243:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (GerrGsiv),               "GERR GSIV", 0},
        !           244:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (SyncGsiv),               "Sync GSIV", 0},
        !           245:     {ACPI_DMT_UINT8,    ACPI_IORT4_OFFSET (Pxm),                    "Proximity Domain", 0},
        !           246:     {ACPI_DMT_UINT8,    ACPI_IORT4_OFFSET (Reserved1),              "Reserved", 0},
        !           247:     {ACPI_DMT_UINT16,   ACPI_IORT4_OFFSET (Reserved2),              "Reserved", 0},
        !           248:     {ACPI_DMT_UINT32,   ACPI_IORT4_OFFSET (IdMappingIndex),         "Device ID Mapping Index", 0},
        !           249:     ACPI_DMT_TERMINATOR
        !           250: };
        !           251:
        !           252:
        !           253: /*******************************************************************************
        !           254:  *
        !           255:  * IVRS - I/O Virtualization Reporting Structure
        !           256:  *
        !           257:  ******************************************************************************/
        !           258:
        !           259: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs[] =
        !           260: {
        !           261:     {ACPI_DMT_UINT32,   ACPI_IVRS_OFFSET (Info),                    "Virtualization Info", 0},
        !           262:     {ACPI_DMT_UINT64,   ACPI_IVRS_OFFSET (Reserved),                "Reserved", 0},
        !           263:     ACPI_DMT_TERMINATOR
        !           264: };
        !           265:
        !           266: /* Common Subtable header (one per Subtable) */
        !           267:
        !           268: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrsHdr[] =
        !           269: {
        !           270:     {ACPI_DMT_IVRS,     ACPI_IVRSH_OFFSET (Type),                   "Subtable Type", 0},
        !           271:     {ACPI_DMT_UINT8,    ACPI_IVRSH_OFFSET (Flags),                  "Flags", 0},
        !           272:     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (Length),                 "Length", DT_LENGTH},
        !           273:     {ACPI_DMT_UINT16,   ACPI_IVRSH_OFFSET (DeviceId),               "DeviceId", 0},
        !           274:     ACPI_DMT_TERMINATOR
        !           275: };
        !           276:
        !           277: /* IVRS subtables */
        !           278:
        !           279: /* 0x10: I/O Virtualization Hardware Definition (IVHD) Block */
        !           280:
        !           281: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs0[] =
        !           282: {
        !           283:     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (CapabilityOffset),       "Capability Offset", 0},
        !           284:     {ACPI_DMT_UINT64,   ACPI_IVRS0_OFFSET (BaseAddress),            "Base Address", 0},
        !           285:     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (PciSegmentGroup),        "PCI Segment Group", 0},
        !           286:     {ACPI_DMT_UINT16,   ACPI_IVRS0_OFFSET (Info),                   "Virtualization Info", 0},
        !           287:     {ACPI_DMT_UINT32,   ACPI_IVRS0_OFFSET (Reserved),               "Reserved", 0},
        !           288:     ACPI_DMT_TERMINATOR
        !           289: };
        !           290:
        !           291: /* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition (IVMD) Block */
        !           292:
        !           293: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs1[] =
        !           294: {
        !           295:     {ACPI_DMT_UINT16,   ACPI_IVRS1_OFFSET (AuxData),                "Auxiliary Data", 0},
        !           296:     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (Reserved),               "Reserved", 0},
        !           297:     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (StartAddress),           "Start Address", 0},
        !           298:     {ACPI_DMT_UINT64,   ACPI_IVRS1_OFFSET (MemoryLength),           "Memory Length", 0},
        !           299:     ACPI_DMT_TERMINATOR
        !           300: };
        !           301:
        !           302: /* Device entry header for IVHD block */
        !           303:
        !           304: #define ACPI_DMT_IVRS_DE_HEADER \
        !           305:     {ACPI_DMT_UINT8,    ACPI_IVRSD_OFFSET (Type),                   "Entry Type", 0}, \
        !           306:     {ACPI_DMT_UINT16,   ACPI_IVRSD_OFFSET (Id),                     "Device ID", 0}, \
        !           307:     {ACPI_DMT_UINT8,    ACPI_IVRSD_OFFSET (DataSetting),            "Data Setting", 0}
        !           308:
        !           309: /* 4-byte device entry */
        !           310:
        !           311: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs4[] =
        !           312: {
        !           313:     ACPI_DMT_IVRS_DE_HEADER,
        !           314:     {ACPI_DMT_EXIT,     0,                                          NULL, 0},
        !           315: };
        !           316:
        !           317: /* 8-byte device entry */
        !           318:
        !           319: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8a[] =
        !           320: {
        !           321:     ACPI_DMT_IVRS_DE_HEADER,
        !           322:     {ACPI_DMT_UINT8,    ACPI_IVRS8A_OFFSET (Reserved1),             "Reserved", 0},
        !           323:     {ACPI_DMT_UINT16,   ACPI_IVRS8A_OFFSET (UsedId),                "Source Used Device ID", 0},
        !           324:     {ACPI_DMT_UINT8,    ACPI_IVRS8A_OFFSET (Reserved2),             "Reserved", 0},
        !           325:     ACPI_DMT_TERMINATOR
        !           326: };
        !           327:
        !           328: /* 8-byte device entry */
        !           329:
        !           330: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8b[] =
        !           331: {
        !           332:     ACPI_DMT_IVRS_DE_HEADER,
        !           333:     {ACPI_DMT_UINT32,   ACPI_IVRS8B_OFFSET (ExtendedData),          "Extended Data", 0},
        !           334:     ACPI_DMT_TERMINATOR
        !           335: };
        !           336:
        !           337: /* 8-byte device entry */
        !           338:
        !           339: ACPI_DMTABLE_INFO           AcpiDmTableInfoIvrs8c[] =
        !           340: {
        !           341:     ACPI_DMT_IVRS_DE_HEADER,
        !           342:     {ACPI_DMT_UINT8,    ACPI_IVRS8C_OFFSET (Handle),                "Handle", 0},
        !           343:     {ACPI_DMT_UINT16,   ACPI_IVRS8C_OFFSET (UsedId),                "Source Used Device ID", 0},
        !           344:     {ACPI_DMT_UINT8,    ACPI_IVRS8C_OFFSET (Variety),               "Variety", 0},
        !           345:     ACPI_DMT_TERMINATOR
        !           346: };
        !           347:
        !           348:
        !           349: /*******************************************************************************
        !           350:  *
        !           351:  * LPIT - Low Power Idle Table
        !           352:  *
        !           353:  ******************************************************************************/
        !           354:
        !           355: /* Main table consists only of the standard ACPI table header */
        !           356:
        !           357: /* Common Subtable header (one per Subtable) */
        !           358:
        !           359: ACPI_DMTABLE_INFO           AcpiDmTableInfoLpitHdr[] =
        !           360: {
        !           361:     {ACPI_DMT_LPIT,     ACPI_LPITH_OFFSET (Type),                   "Subtable Type", 0},
        !           362:     {ACPI_DMT_UINT32,   ACPI_LPITH_OFFSET (Length),                 "Length", DT_LENGTH},
        !           363:     {ACPI_DMT_UINT16,   ACPI_LPITH_OFFSET (UniqueId),               "Unique ID", 0},
        !           364:     {ACPI_DMT_UINT16,   ACPI_LPITH_OFFSET (Reserved),               "Reserved", 0},
        !           365:     {ACPI_DMT_UINT32,   ACPI_LPITH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !           366:     {ACPI_DMT_FLAG0,    ACPI_LPITH_FLAG_OFFSET (Flags, 0),          "State Disabled", 0},
        !           367:     {ACPI_DMT_FLAG1,    ACPI_LPITH_FLAG_OFFSET (Flags, 0),          "No Counter", 0},
        !           368:     ACPI_DMT_TERMINATOR
        !           369: };
        !           370:
        !           371: /* LPIT Subtables */
        !           372:
        !           373: /* 0: Native C-state */
        !           374:
        !           375: ACPI_DMTABLE_INFO           AcpiDmTableInfoLpit0[] =
        !           376: {
        !           377:     {ACPI_DMT_GAS,      ACPI_LPIT0_OFFSET (EntryTrigger),           "Entry Trigger", 0},
        !           378:     {ACPI_DMT_UINT32,   ACPI_LPIT0_OFFSET (Residency),              "Residency", 0},
        !           379:     {ACPI_DMT_UINT32,   ACPI_LPIT0_OFFSET (Latency),                "Latency", 0},
        !           380:     {ACPI_DMT_GAS,      ACPI_LPIT0_OFFSET (ResidencyCounter),       "Residency Counter", 0},
        !           381:     {ACPI_DMT_UINT64,   ACPI_LPIT0_OFFSET (CounterFrequency),       "Counter Frequency", 0},
        !           382:     ACPI_DMT_TERMINATOR
        !           383: };
        !           384:
        !           385:
        !           386: /*******************************************************************************
        !           387:  *
        !           388:  * MADT - Multiple APIC Description Table and subtables
        !           389:  *
        !           390:  ******************************************************************************/
        !           391:
        !           392: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt[] =
        !           393: {
        !           394:     {ACPI_DMT_UINT32,   ACPI_MADT_OFFSET (Address),                 "Local Apic Address", 0},
        !           395:     {ACPI_DMT_UINT32,   ACPI_MADT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
        !           396:     {ACPI_DMT_FLAG0,    ACPI_MADT_FLAG_OFFSET (Flags,0),            "PC-AT Compatibility", 0},
        !           397:     ACPI_DMT_TERMINATOR
        !           398: };
        !           399:
        !           400: /* Common Subtable header (one per Subtable) */
        !           401:
        !           402: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadtHdr[] =
        !           403: {
        !           404:     {ACPI_DMT_MADT,     ACPI_MADTH_OFFSET (Type),                   "Subtable Type", 0},
        !           405:     {ACPI_DMT_UINT8,    ACPI_MADTH_OFFSET (Length),                 "Length", DT_LENGTH},
        !           406:     ACPI_DMT_TERMINATOR
        !           407: };
        !           408:
        !           409: /* MADT Subtables */
        !           410:
        !           411: /* 0: processor APIC */
        !           412:
        !           413: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt0[] =
        !           414: {
        !           415:     {ACPI_DMT_UINT8,    ACPI_MADT0_OFFSET (ProcessorId),            "Processor ID", 0},
        !           416:     {ACPI_DMT_UINT8,    ACPI_MADT0_OFFSET (Id),                     "Local Apic ID", 0},
        !           417:     {ACPI_DMT_UINT32,   ACPI_MADT0_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
        !           418:     {ACPI_DMT_FLAG0,    ACPI_MADT0_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
        !           419:     ACPI_DMT_TERMINATOR
        !           420: };
        !           421:
        !           422: /* 1: IO APIC */
        !           423:
        !           424: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt1[] =
        !           425: {
        !           426:     {ACPI_DMT_UINT8,    ACPI_MADT1_OFFSET (Id),                     "I/O Apic ID", 0},
        !           427:     {ACPI_DMT_UINT8,    ACPI_MADT1_OFFSET (Reserved),               "Reserved", 0},
        !           428:     {ACPI_DMT_UINT32,   ACPI_MADT1_OFFSET (Address),                "Address", 0},
        !           429:     {ACPI_DMT_UINT32,   ACPI_MADT1_OFFSET (GlobalIrqBase),          "Interrupt", 0},
        !           430:     ACPI_DMT_TERMINATOR
        !           431: };
        !           432:
        !           433: /* 2: Interrupt Override */
        !           434:
        !           435: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt2[] =
        !           436: {
        !           437:     {ACPI_DMT_UINT8,    ACPI_MADT2_OFFSET (Bus),                    "Bus", 0},
        !           438:     {ACPI_DMT_UINT8,    ACPI_MADT2_OFFSET (SourceIrq),              "Source", 0},
        !           439:     {ACPI_DMT_UINT32,   ACPI_MADT2_OFFSET (GlobalIrq),              "Interrupt", 0},
        !           440:     {ACPI_DMT_UINT16,   ACPI_MADT2_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
        !           441:     {ACPI_DMT_FLAGS0,   ACPI_MADT2_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
        !           442:     {ACPI_DMT_FLAGS2,   ACPI_MADT2_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
        !           443:     ACPI_DMT_TERMINATOR
        !           444: };
        !           445:
        !           446: /* 3: NMI Sources */
        !           447:
        !           448: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt3[] =
        !           449: {
        !           450:     {ACPI_DMT_UINT16,   ACPI_MADT3_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
        !           451:     {ACPI_DMT_FLAGS0,   ACPI_MADT3_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
        !           452:     {ACPI_DMT_FLAGS2,   ACPI_MADT3_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
        !           453:     {ACPI_DMT_UINT32,   ACPI_MADT3_OFFSET (GlobalIrq),              "Interrupt", 0},
        !           454:     ACPI_DMT_TERMINATOR
        !           455: };
        !           456:
        !           457: /* 4: Local APIC NMI */
        !           458:
        !           459: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt4[] =
        !           460: {
        !           461:     {ACPI_DMT_UINT8,    ACPI_MADT4_OFFSET (ProcessorId),            "Processor ID", 0},
        !           462:     {ACPI_DMT_UINT16,   ACPI_MADT4_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
        !           463:     {ACPI_DMT_FLAGS0,   ACPI_MADT4_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
        !           464:     {ACPI_DMT_FLAGS2,   ACPI_MADT4_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
        !           465:     {ACPI_DMT_UINT8,    ACPI_MADT4_OFFSET (Lint),                   "Interrupt Input LINT", 0},
        !           466:     ACPI_DMT_TERMINATOR
        !           467: };
        !           468:
        !           469: /* 5: Address Override */
        !           470:
        !           471: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt5[] =
        !           472: {
        !           473:     {ACPI_DMT_UINT16,   ACPI_MADT5_OFFSET (Reserved),               "Reserved", 0},
        !           474:     {ACPI_DMT_UINT64,   ACPI_MADT5_OFFSET (Address),                "APIC Address", 0},
        !           475:     ACPI_DMT_TERMINATOR
        !           476: };
        !           477:
        !           478: /* 6: I/O Sapic */
        !           479:
        !           480: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt6[] =
        !           481: {
        !           482:     {ACPI_DMT_UINT8,    ACPI_MADT6_OFFSET (Id),                     "I/O Sapic ID", 0},
        !           483:     {ACPI_DMT_UINT8,    ACPI_MADT6_OFFSET (Reserved),               "Reserved", 0},
        !           484:     {ACPI_DMT_UINT32,   ACPI_MADT6_OFFSET (GlobalIrqBase),          "Interrupt Base", 0},
        !           485:     {ACPI_DMT_UINT64,   ACPI_MADT6_OFFSET (Address),                "Address", 0},
        !           486:     ACPI_DMT_TERMINATOR
        !           487: };
        !           488:
        !           489: /* 7: Local Sapic */
        !           490:
        !           491: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt7[] =
        !           492: {
        !           493:     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (ProcessorId),            "Processor ID", 0},
        !           494:     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (Id),                     "Local Sapic ID", 0},
        !           495:     {ACPI_DMT_UINT8,    ACPI_MADT7_OFFSET (Eid),                    "Local Sapic EID", 0},
        !           496:     {ACPI_DMT_UINT24,   ACPI_MADT7_OFFSET (Reserved[0]),            "Reserved", 0},
        !           497:     {ACPI_DMT_UINT32,   ACPI_MADT7_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
        !           498:     {ACPI_DMT_FLAG0,    ACPI_MADT7_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
        !           499:     {ACPI_DMT_UINT32,   ACPI_MADT7_OFFSET (Uid),                    "Processor UID", 0},
        !           500:     {ACPI_DMT_STRING,   ACPI_MADT7_OFFSET (UidString[0]),           "Processor UID String", 0},
        !           501:     ACPI_DMT_TERMINATOR
        !           502: };
        !           503:
        !           504: /* 8: Platform Interrupt Source */
        !           505:
        !           506: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt8[] =
        !           507: {
        !           508:     {ACPI_DMT_UINT16,   ACPI_MADT8_OFFSET (IntiFlags),              "Flags (decoded below)", DT_FLAG},
        !           509:     {ACPI_DMT_FLAGS0,   ACPI_MADT8_FLAG_OFFSET (IntiFlags,0),       "Polarity", 0},
        !           510:     {ACPI_DMT_FLAGS2,   ACPI_MADT8_FLAG_OFFSET (IntiFlags,0),       "Trigger Mode", 0},
        !           511:     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Type),                   "InterruptType", 0},
        !           512:     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Id),                     "Processor ID", 0},
        !           513:     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (Eid),                    "Processor EID", 0},
        !           514:     {ACPI_DMT_UINT8,    ACPI_MADT8_OFFSET (IoSapicVector),          "I/O Sapic Vector", 0},
        !           515:     {ACPI_DMT_UINT32,   ACPI_MADT8_OFFSET (GlobalIrq),              "Interrupt", 0},
        !           516:     {ACPI_DMT_UINT32,   ACPI_MADT8_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !           517:     {ACPI_DMT_FLAG0,    ACPI_MADT8_OFFSET (Flags),                  "CPEI Override", 0},
        !           518:     ACPI_DMT_TERMINATOR
        !           519: };
        !           520:
        !           521: /* 9: Processor Local X2_APIC (ACPI 4.0) */
        !           522:
        !           523: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt9[] =
        !           524: {
        !           525:     {ACPI_DMT_UINT16,   ACPI_MADT9_OFFSET (Reserved),               "Reserved", 0},
        !           526:     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (LocalApicId),            "Processor x2Apic ID", 0},
        !           527:     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (LapicFlags),             "Flags (decoded below)", DT_FLAG},
        !           528:     {ACPI_DMT_FLAG0,    ACPI_MADT9_FLAG_OFFSET (LapicFlags,0),      "Processor Enabled", 0},
        !           529:     {ACPI_DMT_UINT32,   ACPI_MADT9_OFFSET (Uid),                    "Processor UID", 0},
        !           530:     ACPI_DMT_TERMINATOR
        !           531: };
        !           532:
        !           533: /* 10: Local X2_APIC NMI (ACPI 4.0) */
        !           534:
        !           535: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt10[] =
        !           536: {
        !           537:     {ACPI_DMT_UINT16,   ACPI_MADT10_OFFSET (IntiFlags),             "Flags (decoded below)", DT_FLAG},
        !           538:     {ACPI_DMT_FLAGS0,   ACPI_MADT10_FLAG_OFFSET (IntiFlags,0),      "Polarity", 0},
        !           539:     {ACPI_DMT_FLAGS2,   ACPI_MADT10_FLAG_OFFSET (IntiFlags,0),      "Trigger Mode", 0},
        !           540:     {ACPI_DMT_UINT32,   ACPI_MADT10_OFFSET (Uid),                   "Processor UID", 0},
        !           541:     {ACPI_DMT_UINT8,    ACPI_MADT10_OFFSET (Lint),                  "Interrupt Input LINT", 0},
        !           542:     {ACPI_DMT_UINT24,   ACPI_MADT10_OFFSET (Reserved[0]),           "Reserved", 0},
        !           543:     ACPI_DMT_TERMINATOR
        !           544: };
        !           545:
        !           546: /* 11: Generic Interrupt Controller (ACPI 5.0) */
        !           547:
        !           548: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt11[] =
        !           549: {
        !           550:     {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (Reserved),              "Reserved", 0},
        !           551:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (CpuInterfaceNumber),    "CPU Interface Number", 0},
        !           552:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (Uid),                   "Processor UID", 0},
        !           553:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (Flags),                 "Flags (decoded below)", DT_FLAG},
        !           554:     {ACPI_DMT_FLAG0,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Processor Enabled", 0},
        !           555:     {ACPI_DMT_FLAG1,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Performance Interrupt Trigger Mode", 0},
        !           556:     {ACPI_DMT_FLAG2,    ACPI_MADT11_FLAG_OFFSET (Flags,0),          "Virtual GIC Interrupt Trigger Mode", 0},
        !           557:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (ParkingVersion),        "Parking Protocol Version", 0},
        !           558:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (PerformanceInterrupt),  "Performance Interrupt", 0},
        !           559:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (ParkedAddress),         "Parked Address", 0},
        !           560:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (BaseAddress),           "Base Address", 0},
        !           561:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GicvBaseAddress),       "Virtual GIC Base Address", 0},
        !           562:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GichBaseAddress),       "Hypervisor GIC Base Address", 0},
        !           563:     {ACPI_DMT_UINT32,   ACPI_MADT11_OFFSET (VgicInterrupt),         "Virtual GIC Interrupt", 0},
        !           564:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (GicrBaseAddress),       "Redistributor Base Address", 0},
        !           565:     {ACPI_DMT_UINT64,   ACPI_MADT11_OFFSET (ArmMpidr),              "ARM MPIDR", 0},
        !           566:     {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (EfficiencyClass),       "Efficiency Class", 0},
        !           567:     {ACPI_DMT_UINT24,   ACPI_MADT11_OFFSET (Reserved2[0]),          "Reserved", 0},
        !           568:     ACPI_DMT_TERMINATOR
        !           569: };
        !           570:
        !           571: /* 12: Generic Interrupt Distributor (ACPI 5.0) */
        !           572:
        !           573: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt12[] =
        !           574: {
        !           575:     {ACPI_DMT_UINT16,   ACPI_MADT12_OFFSET (Reserved),              "Reserved", 0},
        !           576:     {ACPI_DMT_UINT32,   ACPI_MADT12_OFFSET (GicId),                 "Local GIC Hardware ID", 0},
        !           577:     {ACPI_DMT_UINT64,   ACPI_MADT12_OFFSET (BaseAddress),           "Base Address", 0},
        !           578:     {ACPI_DMT_UINT32,   ACPI_MADT12_OFFSET (GlobalIrqBase),         "Interrupt Base", 0},
        !           579:     {ACPI_DMT_UINT8,    ACPI_MADT12_OFFSET (Version),               "Version", 0},
        !           580:     {ACPI_DMT_UINT24,   ACPI_MADT12_OFFSET (Reserved2[0]),          "Reserved", 0},
        !           581:    ACPI_DMT_TERMINATOR
        !           582: };
        !           583:
        !           584: /* 13: Generic MSI Frame (ACPI 5.1) */
        !           585:
        !           586: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt13[] =
        !           587: {
        !           588:     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (Reserved),              "Reserved", 0},
        !           589:     {ACPI_DMT_UINT32,   ACPI_MADT13_OFFSET (MsiFrameId),            "MSI Frame ID", 0},
        !           590:     {ACPI_DMT_UINT64,   ACPI_MADT13_OFFSET (BaseAddress),           "Base Address", 0},
        !           591:     {ACPI_DMT_UINT32,   ACPI_MADT13_OFFSET (Flags),                 "Flags (decoded below)", DT_FLAG},
        !           592:     {ACPI_DMT_FLAG0,    ACPI_MADT13_FLAG_OFFSET (Flags,0),          "Select SPI", 0},
        !           593:     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (SpiCount),              "SPI Count", 0},
        !           594:     {ACPI_DMT_UINT16,   ACPI_MADT13_OFFSET (SpiBase),               "SPI Base", 0},
        !           595:    ACPI_DMT_TERMINATOR
        !           596: };
        !           597:
        !           598: /* 14: Generic Redistributor (ACPI 5.1) */
        !           599:
        !           600: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt14[] =
        !           601: {
        !           602:     {ACPI_DMT_UINT16,   ACPI_MADT14_OFFSET (Reserved),              "Reserved", 0},
        !           603:     {ACPI_DMT_UINT64,   ACPI_MADT14_OFFSET (BaseAddress),           "Base Address", 0},
        !           604:     {ACPI_DMT_UINT32,   ACPI_MADT14_OFFSET (Length),                "Length", 0},
        !           605:    ACPI_DMT_TERMINATOR
        !           606: };
        !           607:
        !           608: /* 15: Generic Translator (ACPI 6.0) */
        !           609:
        !           610: ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt15[] =
        !           611: {
        !           612:     {ACPI_DMT_UINT16,   ACPI_MADT15_OFFSET (Reserved),              "Reserved", 0},
        !           613:     {ACPI_DMT_UINT32,   ACPI_MADT15_OFFSET (TranslationId),         "Translation ID", 0},
        !           614:     {ACPI_DMT_UINT64,   ACPI_MADT15_OFFSET (BaseAddress),           "Base Address", 0},
        !           615:     {ACPI_DMT_UINT32,   ACPI_MADT15_OFFSET (Reserved2),             "Reserved", 0},
        !           616:    ACPI_DMT_TERMINATOR
        !           617: };
        !           618:
        !           619:
        !           620: /*******************************************************************************
        !           621:  *
        !           622:  * MCFG - PCI Memory Mapped Configuration table and Subtable
        !           623:  *
        !           624:  ******************************************************************************/
        !           625:
        !           626: ACPI_DMTABLE_INFO           AcpiDmTableInfoMcfg[] =
        !           627: {
        !           628:     {ACPI_DMT_UINT64,   ACPI_MCFG_OFFSET (Reserved[0]),             "Reserved", 0},
        !           629:     ACPI_DMT_TERMINATOR
        !           630: };
        !           631:
        !           632: ACPI_DMTABLE_INFO           AcpiDmTableInfoMcfg0[] =
        !           633: {
        !           634:     {ACPI_DMT_UINT64,   ACPI_MCFG0_OFFSET (Address),                "Base Address", 0},
        !           635:     {ACPI_DMT_UINT16,   ACPI_MCFG0_OFFSET (PciSegment),             "Segment Group Number", 0},
        !           636:     {ACPI_DMT_UINT8,    ACPI_MCFG0_OFFSET (StartBusNumber),         "Start Bus Number", 0},
        !           637:     {ACPI_DMT_UINT8,    ACPI_MCFG0_OFFSET (EndBusNumber),           "End Bus Number", 0},
        !           638:     {ACPI_DMT_UINT32,   ACPI_MCFG0_OFFSET (Reserved),               "Reserved", 0},
        !           639:     ACPI_DMT_TERMINATOR
        !           640: };
        !           641:
        !           642:
        !           643: /*******************************************************************************
        !           644:  *
        !           645:  * MCHI - Management Controller Host Interface table
        !           646:  *
        !           647:  ******************************************************************************/
        !           648:
        !           649: ACPI_DMTABLE_INFO           AcpiDmTableInfoMchi[] =
        !           650: {
        !           651:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (InterfaceType),           "Interface Type", 0},
        !           652:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (Protocol),                "Protocol", 0},
        !           653:     {ACPI_DMT_UINT64,   ACPI_MCHI_OFFSET (ProtocolData),            "Protocol Data", 0},
        !           654:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (InterruptType),           "Interrupt Type", 0},
        !           655:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (Gpe),                     "Gpe", 0},
        !           656:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciDeviceFlag),           "Pci Device Flag", 0},
        !           657:     {ACPI_DMT_UINT32,   ACPI_MCHI_OFFSET (GlobalInterrupt),         "Global Interrupt", 0},
        !           658:     {ACPI_DMT_GAS,      ACPI_MCHI_OFFSET (ControlRegister),         "Control Register", 0},
        !           659:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciSegment),              "Pci Segment", 0},
        !           660:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciBus),                  "Pci Bus", 0},
        !           661:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciDevice),               "Pci Device", 0},
        !           662:     {ACPI_DMT_UINT8,    ACPI_MCHI_OFFSET (PciFunction),             "Pci Function", 0},
        !           663:     ACPI_DMT_TERMINATOR
        !           664: };
        !           665:
        !           666:
        !           667: /*******************************************************************************
        !           668:  *
        !           669:  * MPST - Memory Power State Table
        !           670:  *
        !           671:  ******************************************************************************/
        !           672:
        !           673: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst[] =
        !           674: {
        !           675:     {ACPI_DMT_UINT8,    ACPI_MPST_OFFSET (ChannelId),               "Channel ID", 0},
        !           676:     {ACPI_DMT_UINT24,   ACPI_MPST_OFFSET (Reserved1[0]),            "Reserved", 0},
        !           677:     {ACPI_DMT_UINT16,   ACPI_MPST_OFFSET (PowerNodeCount),          "Power Node Count", 0},
        !           678:     {ACPI_DMT_UINT16,   ACPI_MPST_OFFSET (Reserved2),               "Reserved", 0},
        !           679:     ACPI_DMT_TERMINATOR
        !           680: };
        !           681:
        !           682: /* MPST subtables */
        !           683:
        !           684: /* 0: Memory Power Node Structure */
        !           685:
        !           686: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0[] =
        !           687: {
        !           688:     {ACPI_DMT_UINT8,    ACPI_MPST0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !           689:     {ACPI_DMT_FLAG0,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Node Enabled", 0},
        !           690:     {ACPI_DMT_FLAG1,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Power Managed", 0},
        !           691:     {ACPI_DMT_FLAG2,    ACPI_MPST0_FLAG_OFFSET (Flags,0),           "Hot Plug Capable", 0},
        !           692:
        !           693:     {ACPI_DMT_UINT8,    ACPI_MPST0_OFFSET (Reserved1),              "Reserved", 0},
        !           694:     {ACPI_DMT_UINT16,   ACPI_MPST0_OFFSET (NodeId),                 "Node ID", 0},
        !           695:     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (Length),                 "Length", 0},
        !           696:     {ACPI_DMT_UINT64,   ACPI_MPST0_OFFSET (RangeAddress),           "Range Address", 0},
        !           697:     {ACPI_DMT_UINT64,   ACPI_MPST0_OFFSET (RangeLength),            "Range Length", 0},
        !           698:     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (NumPowerStates),         "Num Power States", 0},
        !           699:     {ACPI_DMT_UINT32,   ACPI_MPST0_OFFSET (NumPhysicalComponents),  "Num Physical Components", 0},
        !           700:     ACPI_DMT_TERMINATOR
        !           701: };
        !           702:
        !           703: /* 0A: Sub-subtable - Memory Power State Structure (follows Memory Power Node above) */
        !           704:
        !           705: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0A[] =
        !           706: {
        !           707:     {ACPI_DMT_UINT8,    ACPI_MPST0A_OFFSET (PowerState),            "Power State", 0},
        !           708:     {ACPI_DMT_UINT8,    ACPI_MPST0A_OFFSET (InfoIndex),             "InfoIndex", 0},
        !           709:     ACPI_DMT_TERMINATOR
        !           710: };
        !           711:
        !           712: /* 0B: Sub-subtable - Physical Component ID Structure (follows Memory Power State(s) above) */
        !           713:
        !           714: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst0B[] =
        !           715: {
        !           716:     {ACPI_DMT_UINT16,   ACPI_MPST0B_OFFSET (ComponentId),           "Component Id", 0},
        !           717:     ACPI_DMT_TERMINATOR
        !           718: };
        !           719:
        !           720: /* 01: Power Characteristics Count (follows all Power Node(s) above) */
        !           721:
        !           722: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst1[] =
        !           723: {
        !           724:     {ACPI_DMT_UINT16,   ACPI_MPST1_OFFSET (CharacteristicsCount),   "Characteristics Count", 0},
        !           725:     {ACPI_DMT_UINT16,   ACPI_MPST1_OFFSET (Reserved),               "Reserved", 0},
        !           726:     ACPI_DMT_TERMINATOR
        !           727: };
        !           728:
        !           729: /* 02: Memory Power State Characteristics Structure */
        !           730:
        !           731: ACPI_DMTABLE_INFO           AcpiDmTableInfoMpst2[] =
        !           732: {
        !           733:     {ACPI_DMT_UINT8,    ACPI_MPST2_OFFSET (StructureId),            "Structure ID", 0},
        !           734:     {ACPI_DMT_UINT8,    ACPI_MPST2_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !           735:     {ACPI_DMT_FLAG0,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Memory Preserved", 0},
        !           736:     {ACPI_DMT_FLAG1,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Auto Entry", 0},
        !           737:     {ACPI_DMT_FLAG2,    ACPI_MPST2_FLAG_OFFSET (Flags,0),           "Auto Exit", 0},
        !           738:
        !           739:     {ACPI_DMT_UINT16,   ACPI_MPST2_OFFSET (Reserved1),              "Reserved", 0},
        !           740:     {ACPI_DMT_UINT32,   ACPI_MPST2_OFFSET (AveragePower),           "Average Power", 0},
        !           741:     {ACPI_DMT_UINT32,   ACPI_MPST2_OFFSET (PowerSaving),            "Power Saving", 0},
        !           742:     {ACPI_DMT_UINT64,   ACPI_MPST2_OFFSET (ExitLatency),            "Exit Latency", 0},
        !           743:     {ACPI_DMT_UINT64,   ACPI_MPST2_OFFSET (Reserved2),              "Reserved", 0},
        !           744:     ACPI_DMT_TERMINATOR
        !           745: };
        !           746:
        !           747:
        !           748: /*******************************************************************************
        !           749:  *
        !           750:  * MSCT - Maximum System Characteristics Table (ACPI 4.0)
        !           751:  *
        !           752:  ******************************************************************************/
        !           753:
        !           754: ACPI_DMTABLE_INFO           AcpiDmTableInfoMsct[] =
        !           755: {
        !           756:     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (ProximityOffset),         "Proximity Offset", 0},
        !           757:     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (MaxProximityDomains),     "Max Proximity Domains", 0},
        !           758:     {ACPI_DMT_UINT32,   ACPI_MSCT_OFFSET (MaxClockDomains),         "Max Clock Domains", 0},
        !           759:     {ACPI_DMT_UINT64,   ACPI_MSCT_OFFSET (MaxAddress),              "Max Physical Address", 0},
        !           760:     ACPI_DMT_TERMINATOR
        !           761: };
        !           762:
        !           763: /* Subtable - Maximum Proximity Domain Information. Version 1 */
        !           764:
        !           765: ACPI_DMTABLE_INFO           AcpiDmTableInfoMsct0[] =
        !           766: {
        !           767:     {ACPI_DMT_UINT8,    ACPI_MSCT0_OFFSET (Revision),               "Revision", 0},
        !           768:     {ACPI_DMT_UINT8,    ACPI_MSCT0_OFFSET (Length),                 "Length", DT_LENGTH},
        !           769:     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (RangeStart),             "Domain Range Start", 0},
        !           770:     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (RangeEnd),               "Domain Range End", 0},
        !           771:     {ACPI_DMT_UINT32,   ACPI_MSCT0_OFFSET (ProcessorCapacity),      "Processor Capacity", 0},
        !           772:     {ACPI_DMT_UINT64,   ACPI_MSCT0_OFFSET (MemoryCapacity),         "Memory Capacity", 0},
        !           773:     ACPI_DMT_TERMINATOR
        !           774: };
        !           775:
        !           776:
        !           777: /*******************************************************************************
        !           778:  *
        !           779:  * MTMR - MID Timer Table
        !           780:  *
        !           781:  ******************************************************************************/
        !           782:
        !           783: ACPI_DMTABLE_INFO           AcpiDmTableInfoMtmr[] =
        !           784: {
        !           785:     ACPI_DMT_TERMINATOR
        !           786: };
        !           787:
        !           788: /* MTMR Subtables - MTMR Entry */
        !           789:
        !           790: ACPI_DMTABLE_INFO           AcpiDmTableInfoMtmr0[] =
        !           791: {
        !           792:     {ACPI_DMT_GAS,      ACPI_MTMR0_OFFSET (PhysicalAddress),        "PhysicalAddress", 0},
        !           793:     {ACPI_DMT_UINT32,   ACPI_MTMR0_OFFSET (Frequency),              "Frequency", 0},
        !           794:     {ACPI_DMT_UINT32,   ACPI_MTMR0_OFFSET (Irq),                    "IRQ", 0},
        !           795:     ACPI_DMT_TERMINATOR
        !           796: };
        !           797:
        !           798:
        !           799: /*******************************************************************************
        !           800:  *
        !           801:  * NFIT - NVDIMM Firmware Interface Table and Subtables - (ACPI 6.0)
        !           802:  *
        !           803:  ******************************************************************************/
        !           804:
        !           805: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit[] =
        !           806: {
        !           807:     {ACPI_DMT_UINT32,   ACPI_NFIT_OFFSET (Reserved),                "Reserved", 0},
        !           808:     ACPI_DMT_TERMINATOR
        !           809: };
        !           810:
        !           811: /* Common Subtable header */
        !           812:
        !           813: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfitHdr[] =
        !           814: {
        !           815:     {ACPI_DMT_NFIT,     ACPI_NFITH_OFFSET (Type),                   "Subtable Type", 0},
        !           816:     {ACPI_DMT_UINT16,   ACPI_NFITH_OFFSET (Length),                 "Length", DT_LENGTH},
        !           817:     ACPI_DMT_TERMINATOR
        !           818: };
        !           819:
        !           820: /* 0: System Physical Address Range Structure */
        !           821:
        !           822: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit0[] =
        !           823: {
        !           824:     {ACPI_DMT_UINT16,   ACPI_NFIT0_OFFSET (RangeIndex),             "Range Index", 0},
        !           825:     {ACPI_DMT_UINT16,   ACPI_NFIT0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !           826:     {ACPI_DMT_FLAG0,    ACPI_NFIT0_FLAG_OFFSET (Flags,0),           "Add/Online Operation Only", 0},
        !           827:     {ACPI_DMT_FLAG1,    ACPI_NFIT0_FLAG_OFFSET (Flags,0),           "Proximity Domain Valid", 0},
        !           828:     {ACPI_DMT_UINT32,   ACPI_NFIT0_OFFSET (Reserved),               "Reserved", 0},
        !           829:     {ACPI_DMT_UINT32,   ACPI_NFIT0_OFFSET (ProximityDomain),        "Proximity Domain", 0},
        !           830:     {ACPI_DMT_UUID,     ACPI_NFIT0_OFFSET (RangeGuid[0]),           "Address Range GUID", 0},
        !           831:     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (Address),                "Address Range Base", 0},
        !           832:     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (Length),                 "Address Range Length", 0},
        !           833:     {ACPI_DMT_UINT64,   ACPI_NFIT0_OFFSET (MemoryMapping),          "Memory Map Attribute", 0},
        !           834:     ACPI_DMT_TERMINATOR
        !           835: };
        !           836:
        !           837: /* 1: Memory Device to System Address Range Map Structure */
        !           838:
        !           839: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit1[] =
        !           840: {
        !           841:     {ACPI_DMT_UINT32,   ACPI_NFIT1_OFFSET (DeviceHandle),           "Device Handle", 0},
        !           842:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (PhysicalId),             "Physical Id", 0},
        !           843:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RegionId),               "Region Id", 0},
        !           844:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RangeIndex),             "Range Index", 0},
        !           845:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (RegionIndex),            "Control Region Index", 0},
        !           846:     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (RegionSize),             "Region Size", 0},
        !           847:     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (RegionOffset),           "Region Offset", 0},
        !           848:     {ACPI_DMT_UINT64,   ACPI_NFIT1_OFFSET (Address),                "Address Region Base", 0},
        !           849:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (InterleaveIndex),        "Interleave Index", 0},
        !           850:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (InterleaveWays),         "Interleave Ways", 0},
        !           851:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (Flags),                  "Flags", DT_FLAG},
        !           852:     {ACPI_DMT_FLAG0,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Save to device failed", 0},
        !           853:     {ACPI_DMT_FLAG1,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Restore from device failed", 0},
        !           854:     {ACPI_DMT_FLAG2,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Platform flush failed", 0},
        !           855:     {ACPI_DMT_FLAG3,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Device not armed", 0},
        !           856:     {ACPI_DMT_FLAG4,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Health events observed", 0},
        !           857:     {ACPI_DMT_FLAG5,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Health events enabled", 0},
        !           858:     {ACPI_DMT_FLAG6,    ACPI_NFIT1_FLAG_OFFSET (Flags,0),           "Mapping failed", 0},
        !           859:     {ACPI_DMT_UINT16,   ACPI_NFIT1_OFFSET (Reserved),               "Reserved", 0},
        !           860:     ACPI_DMT_TERMINATOR
        !           861: };
        !           862:
        !           863: /* 2: Interleave Structure */
        !           864:
        !           865: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit2[] =
        !           866: {
        !           867:     {ACPI_DMT_UINT16,   ACPI_NFIT2_OFFSET (InterleaveIndex),        "Interleave Index", 0},
        !           868:     {ACPI_DMT_UINT16,   ACPI_NFIT2_OFFSET (Reserved),               "Reserved", 0},
        !           869:     {ACPI_DMT_UINT32,   ACPI_NFIT2_OFFSET (LineCount),              "Line Count", 0},
        !           870:     {ACPI_DMT_UINT32,   ACPI_NFIT2_OFFSET (LineSize),               "Line Size", 0},
        !           871:     ACPI_DMT_TERMINATOR
        !           872: };
        !           873:
        !           874: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit2a[] =
        !           875: {
        !           876:     {ACPI_DMT_UINT32,   0,                                          "Line Offset", DT_OPTIONAL},
        !           877:     ACPI_DMT_TERMINATOR
        !           878: };
        !           879:
        !           880: /* 3: SMBIOS Management Information Structure */
        !           881:
        !           882: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit3[] =
        !           883: {
        !           884:     {ACPI_DMT_UINT32,   ACPI_NFIT3_OFFSET (Reserved),               "Reserved", 0},
        !           885:     ACPI_DMT_TERMINATOR
        !           886: };
        !           887:
        !           888: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit3a[] =
        !           889: {
        !           890:     {ACPI_DMT_RAW_BUFFER, 0,                                        "SMBIOS Table Entries", DT_OPTIONAL},
        !           891:     ACPI_DMT_TERMINATOR
        !           892: };
        !           893:
        !           894: /* 4: NVDIMM Control Region Structure */
        !           895:
        !           896: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit4[] =
        !           897: {
        !           898:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (RegionIndex),            "Region Index", 0},
        !           899:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (VendorId),               "Vendor Id", 0},
        !           900:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (DeviceId),               "Device Id", 0},
        !           901:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (RevisionId),             "Revision Id", 0},
        !           902:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemVendorId),      "Subsystem Vendor Id", 0},
        !           903:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemDeviceId),      "Subsystem Device Id", 0},
        !           904:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (SubsystemRevisionId),    "Subsystem Revision Id", 0},
        !           905:     {ACPI_DMT_UINT8,    ACPI_NFIT4_OFFSET (ValidFields),            "Valid Fields", 0},
        !           906:     {ACPI_DMT_UINT8,    ACPI_NFIT4_OFFSET (ManufacturingLocation),  "Manufacturing Location", 0},
        !           907:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (ManufacturingDate),      "Manufacturing Date", 0},
        !           908:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Reserved[0]),            "Reserved", 0},
        !           909:     {ACPI_DMT_UINT32,   ACPI_NFIT4_OFFSET (SerialNumber),           "Serial Number", 0},
        !           910:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Code),                   "Code", 0},
        !           911:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Windows),                "Window Count", 0},
        !           912:     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (WindowSize),             "Window Size", 0},
        !           913:     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (CommandOffset),          "Command Offset", 0},
        !           914:     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (CommandSize),            "Command Size", 0},
        !           915:     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (StatusOffset),           "Status Offset", 0},
        !           916:     {ACPI_DMT_UINT64,   ACPI_NFIT4_OFFSET (StatusSize),             "Status Size", 0},
        !           917:     {ACPI_DMT_UINT16,   ACPI_NFIT4_OFFSET (Flags),                  "Flags", DT_FLAG},
        !           918:     {ACPI_DMT_FLAG0,    ACPI_NFIT4_FLAG_OFFSET (Flags,0),           "Windows buffered", 0},
        !           919:     {ACPI_DMT_UINT48,   ACPI_NFIT4_OFFSET (Reserved1[0]),           "Reserved1", 0},
        !           920:     ACPI_DMT_TERMINATOR
        !           921: };
        !           922:
        !           923: /* 5: NVDIMM Block Data Window Region Structure */
        !           924:
        !           925: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit5[] =
        !           926: {
        !           927:     {ACPI_DMT_UINT16,   ACPI_NFIT5_OFFSET (RegionIndex),            "Region Index", 0},
        !           928:     {ACPI_DMT_UINT16,   ACPI_NFIT5_OFFSET (Windows),                "Window Count", 0},
        !           929:     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Offset),                 "Offset", 0},
        !           930:     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Size),                   "Size", 0},
        !           931:     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (Capacity),               "Capacity", 0},
        !           932:     {ACPI_DMT_UINT64,   ACPI_NFIT5_OFFSET (StartAddress),           "Start Address", 0},
        !           933:     ACPI_DMT_TERMINATOR
        !           934: };
        !           935:
        !           936: /* 6: Flush Hint Address Structure */
        !           937:
        !           938: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit6[] =
        !           939: {
        !           940:     {ACPI_DMT_UINT32,   ACPI_NFIT6_OFFSET (DeviceHandle),           "Device Handle", 0},
        !           941:     {ACPI_DMT_UINT16,   ACPI_NFIT6_OFFSET (HintCount),              "Hint Count", 0},
        !           942:     {ACPI_DMT_UINT48,   ACPI_NFIT6_OFFSET (Reserved[0]),            "Reserved", 0},
        !           943:     ACPI_DMT_TERMINATOR
        !           944: };
        !           945:
        !           946: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit6a[] =
        !           947: {
        !           948:     {ACPI_DMT_UINT64,   0,                                          "Hint Address", DT_OPTIONAL},
        !           949:     ACPI_DMT_TERMINATOR
        !           950: };
        !           951:
        !           952: ACPI_DMTABLE_INFO           AcpiDmTableInfoNfit7[] =
        !           953: {
        !           954:     {ACPI_DMT_UINT8,    ACPI_NFIT7_OFFSET (HighestCapability),      "Highest Capability", 0},
        !           955:     {ACPI_DMT_UINT24,   ACPI_NFIT7_OFFSET (Reserved[0]),            "Reserved", 0},
        !           956:     {ACPI_DMT_UINT32,   ACPI_NFIT7_OFFSET (Capabilities),           "Capabilities (decoded below)", DT_FLAG},
        !           957:     {ACPI_DMT_FLAG0,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Cache Flush to NVDIMM", 0},
        !           958:     {ACPI_DMT_FLAG1,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Memory Flush to MVDIMM", 0},
        !           959:     {ACPI_DMT_FLAG2,    ACPI_NFIT7_FLAG_OFFSET (Capabilities,0),    "Memory Mirroring", 0},
        !           960:     {ACPI_DMT_UINT32,   ACPI_NFIT7_OFFSET (Reserved2),              "Reserved", 0},
        !           961:     ACPI_DMT_TERMINATOR
        !           962: };
        !           963:
        !           964:
        !           965: /*******************************************************************************
        !           966:  *
        !           967:  * PCCT - Platform Communications Channel Table (ACPI 5.0)
        !           968:  *
        !           969:  ******************************************************************************/
        !           970:
        !           971: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct[] =
        !           972: {
        !           973:     {ACPI_DMT_UINT32,   ACPI_PCCT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
        !           974:     {ACPI_DMT_FLAG0,    ACPI_PCCT_FLAG_OFFSET (Flags,0),            "Platform", 0},
        !           975:     {ACPI_DMT_UINT64,   ACPI_PCCT_OFFSET (Reserved),                "Reserved", 0},
        !           976:     ACPI_DMT_TERMINATOR
        !           977: };
        !           978:
        !           979: /* PCCT subtables */
        !           980:
        !           981: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcctHdr[] =
        !           982: {
        !           983:     {ACPI_DMT_PCCT,     ACPI_PCCT0_OFFSET (Header.Type),            "Subtable Type", 0},
        !           984:     {ACPI_DMT_UINT8,    ACPI_PCCT0_OFFSET (Header.Length),          "Length", DT_LENGTH},
        !           985:     ACPI_DMT_TERMINATOR
        !           986: };
        !           987:
        !           988: /* 0: Generic Communications Subspace */
        !           989:
        !           990: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct0[] =
        !           991: {
        !           992:     {ACPI_DMT_UINT48,   ACPI_PCCT0_OFFSET (Reserved[0]),            "Reserved", 0},
        !           993:     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (BaseAddress),            "Base Address", 0},
        !           994:     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (Length),                 "Address Length", 0},
        !           995:     {ACPI_DMT_GAS,      ACPI_PCCT0_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
        !           996:     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (PreserveMask),           "Preserve Mask", 0},
        !           997:     {ACPI_DMT_UINT64,   ACPI_PCCT0_OFFSET (WriteMask),              "Write Mask", 0},
        !           998:     {ACPI_DMT_UINT32,   ACPI_PCCT0_OFFSET (Latency),                "Command Latency", 0},
        !           999:     {ACPI_DMT_UINT32,   ACPI_PCCT0_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
        !          1000:     {ACPI_DMT_UINT16,   ACPI_PCCT0_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
        !          1001:     ACPI_DMT_TERMINATOR
        !          1002: };
        !          1003:
        !          1004: /* 1: HW-reduced Communications Subspace (ACPI 5.1) */
        !          1005:
        !          1006: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct1[] =
        !          1007: {
        !          1008:     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
        !          1009:     {ACPI_DMT_UINT8,    ACPI_PCCT1_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
        !          1010:     {ACPI_DMT_FLAG0,    ACPI_PCCT1_FLAG_OFFSET (Flags,0),           "Polarity", 0},
        !          1011:     {ACPI_DMT_FLAG1,    ACPI_PCCT1_FLAG_OFFSET (Flags,0),           "Mode", 0},
        !          1012:     {ACPI_DMT_UINT8,    ACPI_PCCT1_OFFSET (Reserved),               "Reserved", 0},
        !          1013:     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (BaseAddress),            "Base Address", 0},
        !          1014:     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (Length),                 "Address Length", 0},
        !          1015:     {ACPI_DMT_GAS,      ACPI_PCCT1_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
        !          1016:     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (PreserveMask),           "Preserve Mask", 0},
        !          1017:     {ACPI_DMT_UINT64,   ACPI_PCCT1_OFFSET (WriteMask),              "Write Mask", 0},
        !          1018:     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (Latency),                "Command Latency", 0},
        !          1019:     {ACPI_DMT_UINT32,   ACPI_PCCT1_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
        !          1020:     {ACPI_DMT_UINT16,   ACPI_PCCT1_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
        !          1021:     ACPI_DMT_TERMINATOR
        !          1022: };
        !          1023:
        !          1024: /* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */
        !          1025:
        !          1026: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct2[] =
        !          1027: {
        !          1028:     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
        !          1029:     {ACPI_DMT_UINT8,    ACPI_PCCT2_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
        !          1030:     {ACPI_DMT_FLAG0,    ACPI_PCCT2_FLAG_OFFSET (Flags,0),           "Polarity", 0},
        !          1031:     {ACPI_DMT_FLAG1,    ACPI_PCCT2_FLAG_OFFSET (Flags,0),           "Mode", 0},
        !          1032:     {ACPI_DMT_UINT8,    ACPI_PCCT2_OFFSET (Reserved),               "Reserved", 0},
        !          1033:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (BaseAddress),            "Base Address", 0},
        !          1034:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (Length),                 "Address Length", 0},
        !          1035:     {ACPI_DMT_GAS,      ACPI_PCCT2_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
        !          1036:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (PreserveMask),           "Preserve Mask", 0},
        !          1037:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (WriteMask),              "Write Mask", 0},
        !          1038:     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (Latency),                "Command Latency", 0},
        !          1039:     {ACPI_DMT_UINT32,   ACPI_PCCT2_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
        !          1040:     {ACPI_DMT_UINT16,   ACPI_PCCT2_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
        !          1041:     {ACPI_DMT_GAS,      ACPI_PCCT2_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
        !          1042:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
        !          1043:     {ACPI_DMT_UINT64,   ACPI_PCCT2_OFFSET (AckWriteMask),           "ACK Write Mask", 0},
        !          1044:     ACPI_DMT_TERMINATOR
        !          1045: };
        !          1046:
        !          1047: /* 3: Extended PCC Master Subspace Type 3 (ACPI 6.2) */
        !          1048:
        !          1049: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct3[] =
        !          1050: {
        !          1051:     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
        !          1052:     {ACPI_DMT_UINT8,    ACPI_PCCT3_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
        !          1053:     {ACPI_DMT_FLAG0,    ACPI_PCCT3_FLAG_OFFSET (Flags,0),           "Polarity", 0},
        !          1054:     {ACPI_DMT_FLAG1,    ACPI_PCCT3_FLAG_OFFSET (Flags,0),           "Mode", 0},
        !          1055:     {ACPI_DMT_UINT8,    ACPI_PCCT3_OFFSET (Reserved1),              "Reserved", 0},
        !          1056:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (BaseAddress),            "Base Address", 0},
        !          1057:     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (Length),                 "Address Length", 0},
        !          1058:     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
        !          1059:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (PreserveMask),           "Preserve Mask", 0},
        !          1060:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (WriteMask),              "Write Mask", 0},
        !          1061:     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (Latency),                "Command Latency", 0},
        !          1062:     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
        !          1063:     {ACPI_DMT_UINT32,   ACPI_PCCT3_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
        !          1064:     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
        !          1065:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
        !          1066:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (AckSetMask),             "ACK Set Mask", 0},
        !          1067:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (Reserved2),              "Reserved", 0},
        !          1068:     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (CmdCompleteRegister),    "Command Complete Register", 0},
        !          1069:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdCompleteMask),        "Command Complete Check Mask", 0},
        !          1070:     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (CmdUpdateRegister),      "Command Update Register", 0},
        !          1071:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdUpdatePreserveMask),  "Command Update Preserve Mask", 0},
        !          1072:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (CmdUpdateSetMask),       "Command Update Set Mask", 0},
        !          1073:     {ACPI_DMT_GAS,      ACPI_PCCT3_OFFSET (ErrorStatusRegister),    "Error Status Register", 0},
        !          1074:     {ACPI_DMT_UINT64,   ACPI_PCCT3_OFFSET (ErrorStatusMask),        "Error Status Mask", 0},
        !          1075:     ACPI_DMT_TERMINATOR
        !          1076: };
        !          1077:
        !          1078: /* 4: Extended PCC Slave Subspace Type 4 (ACPI 6.2) */
        !          1079:
        !          1080: ACPI_DMTABLE_INFO           AcpiDmTableInfoPcct4[] =
        !          1081: {
        !          1082:     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (PlatformInterrupt),      "Platform Interrupt", 0},
        !          1083:     {ACPI_DMT_UINT8,    ACPI_PCCT4_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
        !          1084:     {ACPI_DMT_FLAG0,    ACPI_PCCT4_FLAG_OFFSET (Flags,0),           "Polarity", 0},
        !          1085:     {ACPI_DMT_FLAG1,    ACPI_PCCT4_FLAG_OFFSET (Flags,0),           "Mode", 0},
        !          1086:     {ACPI_DMT_UINT8,    ACPI_PCCT4_OFFSET (Reserved1),              "Reserved", 0},
        !          1087:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (BaseAddress),            "Base Address", 0},
        !          1088:     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (Length),                 "Address Length", 0},
        !          1089:     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (DoorbellRegister),       "Doorbell Register", 0},
        !          1090:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (PreserveMask),           "Preserve Mask", 0},
        !          1091:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (WriteMask),              "Write Mask", 0},
        !          1092:     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (Latency),                "Command Latency", 0},
        !          1093:     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (MaxAccessRate),          "Maximum Access Rate", 0},
        !          1094:     {ACPI_DMT_UINT32,   ACPI_PCCT4_OFFSET (MinTurnaroundTime),      "Minimum Turnaround Time", 0},
        !          1095:     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (PlatformAckRegister),    "Platform ACK Register", 0},
        !          1096:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (AckPreserveMask),        "ACK Preserve Mask", 0},
        !          1097:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (AckSetMask),             "ACK Set Mask", 0},
        !          1098:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (Reserved2),              "Reserved", 0},
        !          1099:     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (CmdCompleteRegister),    "Command Complete Register", 0},
        !          1100:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdCompleteMask),        "Command Complete Check Mask", 0},
        !          1101:     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (CmdUpdateRegister),      "Command Update Register", 0},
        !          1102:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdUpdatePreserveMask),  "Command Update Preserve Mask", 0},
        !          1103:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (CmdUpdateSetMask),       "Command Update Set Mask", 0},
        !          1104:     {ACPI_DMT_GAS,      ACPI_PCCT4_OFFSET (ErrorStatusRegister),    "Error Status Register", 0},
        !          1105:     {ACPI_DMT_UINT64,   ACPI_PCCT4_OFFSET (ErrorStatusMask),        "Error Status Mask", 0},
        !          1106:     ACPI_DMT_TERMINATOR
        !          1107: };
        !          1108:
        !          1109:
        !          1110: /*******************************************************************************
        !          1111:  *
        !          1112:  * PDTT - Platform Debug Trigger Table (ACPI 6.2)
        !          1113:  *
        !          1114:  ******************************************************************************/
        !          1115:
        !          1116: ACPI_DMTABLE_INFO           AcpiDmTableInfoPdtt[] =
        !          1117: {
        !          1118:     {ACPI_DMT_UINT8,    ACPI_PDTT_OFFSET (TriggerCount),            "Trigger Count", 0},
        !          1119:     {ACPI_DMT_UINT24,   ACPI_PDTT_OFFSET (Reserved),                "Reserved", 0},
        !          1120:     {ACPI_DMT_UINT32,   ACPI_PDTT_OFFSET (ArrayOffset),             "Array Offset", 0},
        !          1121:     ACPI_DMT_TERMINATOR
        !          1122: };
        !          1123:
        !          1124: ACPI_DMTABLE_INFO           AcpiDmTableInfoPdtt0[] =
        !          1125: {
        !          1126:     {ACPI_DMT_UINT8,    ACPI_PDTT0_OFFSET (SubchannelId),           "Subchannel Id", 0},
        !          1127:     {ACPI_DMT_UINT8,    ACPI_PDTT0_OFFSET (Flags),                  "Flags (Decoded Below)", DT_FLAG},
        !          1128:     {ACPI_DMT_FLAG0,    ACPI_PDTT0_FLAG_OFFSET (Flags,0),           "Runtime Trigger", 0},
        !          1129:     {ACPI_DMT_FLAG1,    ACPI_PDTT0_FLAG_OFFSET (Flags,0),           "Wait for Completion", 0},
        !          1130:     ACPI_DMT_TERMINATOR
        !          1131: };
        !          1132:
        !          1133:
        !          1134: /*******************************************************************************
        !          1135:  *
        !          1136:  * PMTT - Platform Memory Topology Table
        !          1137:  *
        !          1138:  ******************************************************************************/
        !          1139:
        !          1140: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt[] =
        !          1141: {
        !          1142:     {ACPI_DMT_UINT32,   ACPI_PMTT_OFFSET (Reserved),                "Reserved", 0},
        !          1143:     ACPI_DMT_TERMINATOR
        !          1144: };
        !          1145:
        !          1146: /* Common Subtable header (one per Subtable) */
        !          1147:
        !          1148: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmttHdr[] =
        !          1149: {
        !          1150:     {ACPI_DMT_PMTT,     ACPI_PMTTH_OFFSET (Type),                   "Subtable Type", 0},
        !          1151:     {ACPI_DMT_UINT8,    ACPI_PMTTH_OFFSET (Reserved1),              "Reserved", 0},
        !          1152:     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Length),                 "Length", DT_LENGTH},
        !          1153:     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
        !          1154:     {ACPI_DMT_FLAG0,    ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Top-level Device", 0},
        !          1155:     {ACPI_DMT_FLAG1,    ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Physical Element", 0},
        !          1156:     {ACPI_DMT_FLAGS2,   ACPI_PMTTH_FLAG_OFFSET (Flags,0),           "Memory Type", 0},
        !          1157:     {ACPI_DMT_UINT16,   ACPI_PMTTH_OFFSET (Reserved2),              "Reserved", 0},
        !          1158:     ACPI_DMT_TERMINATOR
        !          1159: };
        !          1160:
        !          1161: /* PMTT Subtables */
        !          1162:
        !          1163: /* 0: Socket */
        !          1164:
        !          1165: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt0[] =
        !          1166: {
        !          1167:     {ACPI_DMT_UINT16,   ACPI_PMTT0_OFFSET (SocketId),               "Socket ID", 0},
        !          1168:     {ACPI_DMT_UINT16,   ACPI_PMTT0_OFFSET (Reserved),               "Reserved", 0},
        !          1169:     ACPI_DMT_TERMINATOR
        !          1170: };
        !          1171:
        !          1172: /* 1: Memory Controller */
        !          1173:
        !          1174: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt1[] =
        !          1175: {
        !          1176:     {ACPI_DMT_UINT32,   ACPI_PMTT1_OFFSET (ReadLatency),            "Read Latency", 0},
        !          1177:     {ACPI_DMT_UINT32,   ACPI_PMTT1_OFFSET (WriteLatency),           "Write Latency", 0},
        !          1178:     {ACPI_DMT_UINT32,   ACPI_PMTT1_OFFSET (ReadBandwidth),          "Read Bandwidth", 0},
        !          1179:     {ACPI_DMT_UINT32,   ACPI_PMTT1_OFFSET (WriteBandwidth),         "Write Bandwidth", 0},
        !          1180:     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (AccessWidth),            "Access Width", 0},
        !          1181:     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (Alignment),              "Alignment", 0},
        !          1182:     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (Reserved),               "Reserved", 0},
        !          1183:     {ACPI_DMT_UINT16,   ACPI_PMTT1_OFFSET (DomainCount),            "Domain Count", 0},
        !          1184:     ACPI_DMT_TERMINATOR
        !          1185: };
        !          1186:
        !          1187: /* 1a: Proximity Domain */
        !          1188:
        !          1189: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt1a[] =
        !          1190: {
        !          1191:     {ACPI_DMT_UINT32,   ACPI_PMTT1A_OFFSET (ProximityDomain),       "Proximity Domain", 0},
        !          1192:     ACPI_DMT_TERMINATOR
        !          1193: };
        !          1194:
        !          1195: /* 2: Physical Component */
        !          1196:
        !          1197: ACPI_DMTABLE_INFO           AcpiDmTableInfoPmtt2[] =
        !          1198: {
        !          1199:     {ACPI_DMT_UINT16,   ACPI_PMTT2_OFFSET (ComponentId),            "Component ID", 0},
        !          1200:     {ACPI_DMT_UINT16,   ACPI_PMTT2_OFFSET (Reserved),               "Reserved", 0},
        !          1201:     {ACPI_DMT_UINT32,   ACPI_PMTT2_OFFSET (MemorySize),             "Memory Size", 0},
        !          1202:     {ACPI_DMT_UINT32,   ACPI_PMTT2_OFFSET (BiosHandle),             "Bios Handle", 0},
        !          1203:     ACPI_DMT_TERMINATOR
        !          1204: };
        !          1205:
        !          1206:
        !          1207: /*******************************************************************************
        !          1208:  *
        !          1209:  * PPTT - Processor Properties Topology Table (ACPI 6.2)
        !          1210:  *
        !          1211:  ******************************************************************************/
        !          1212:
        !          1213: /* Main table consists of only the standard ACPI header - subtables follow */
        !          1214:
        !          1215: /* Common Subtable header (one per Subtable) */
        !          1216:
        !          1217: ACPI_DMTABLE_INFO           AcpiDmTableInfoPpttHdr[] =
        !          1218: {
        !          1219:     {ACPI_DMT_PPTT,     ACPI_PPTTH_OFFSET (Type),                   "Subtable Type", 0},
        !          1220:     {ACPI_DMT_UINT8,    ACPI_PPTTH_OFFSET (Length),                 "Length", 0},
        !          1221:     ACPI_DMT_TERMINATOR
        !          1222: };
        !          1223:
        !          1224: /* 0: Processor hierarchy node */
        !          1225:
        !          1226: ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt0[] =
        !          1227: {
        !          1228:     {ACPI_DMT_UINT16,   ACPI_PPTT0_OFFSET (Reserved),               "Reserved", 0},
        !          1229:     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !          1230:     {ACPI_DMT_FLAG0,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "Physical package", 0},
        !          1231:     {ACPI_DMT_FLAG1,    ACPI_PPTT0_FLAG_OFFSET (Flags,0),           "ACPI Processor ID valid", 0},
        !          1232:     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (Parent),                 "Parent", 0},
        !          1233:     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (AcpiProcessorId),        "ACPI Processor ID", 0},
        !          1234:     {ACPI_DMT_UINT32,   ACPI_PPTT0_OFFSET (NumberOfPrivResources),  "Private Resource Number", 0},
        !          1235:     ACPI_DMT_TERMINATOR
        !          1236: };
        !          1237:
        !          1238: ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt0a[] =
        !          1239: {
        !          1240:     {ACPI_DMT_UINT32,   0,                                          "Private Resource", DT_OPTIONAL},
        !          1241:     ACPI_DMT_TERMINATOR
        !          1242: };
        !          1243:
        !          1244: /* 1: Cache type */
        !          1245:
        !          1246: ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt1[] =
        !          1247: {
        !          1248:     {ACPI_DMT_UINT16,   ACPI_PPTT1_OFFSET (Reserved),               "Reserved", 0},
        !          1249:     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !          1250:     {ACPI_DMT_FLAG0,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Size valid", 0},
        !          1251:     {ACPI_DMT_FLAG1,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Number of Sets valid", 0},
        !          1252:     {ACPI_DMT_FLAG2,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Associativity valid", 0},
        !          1253:     {ACPI_DMT_FLAG3,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Allocation Type valid", 0},
        !          1254:     {ACPI_DMT_FLAG4,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Cache Type valid", 0},
        !          1255:     {ACPI_DMT_FLAG5,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Write Policy valid", 0},
        !          1256:     {ACPI_DMT_FLAG6,    ACPI_PPTT1_FLAG_OFFSET (Flags,0),           "Line Size valid", 0},
        !          1257:     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (NextLevelOfCache),       "Next Level of Cache", 0},
        !          1258:     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (Size),                   "Size", 0},
        !          1259:     {ACPI_DMT_UINT32,   ACPI_PPTT1_OFFSET (NumberOfSets),           "Number of Sets", 0},
        !          1260:     {ACPI_DMT_UINT8,    ACPI_PPTT1_OFFSET (Associativity),          "Associativity", 0},
        !          1261:     {ACPI_DMT_UINT8,    ACPI_PPTT1_OFFSET (Attributes),             "Attributes", 0},
        !          1262:     {ACPI_DMT_FLAGS0,   ACPI_PPTT1_OFFSET (Attributes),             "Allocation Type", 0},
        !          1263:     {ACPI_DMT_FLAGS2,   ACPI_PPTT1_OFFSET (Attributes),             "Cache Type", 0},
        !          1264:     {ACPI_DMT_FLAG4,    ACPI_PPTT1_OFFSET (Attributes),             "Write Policy", 0},
        !          1265:     {ACPI_DMT_UINT16,   ACPI_PPTT1_OFFSET (LineSize),               "Line Size", 0},
        !          1266:     ACPI_DMT_TERMINATOR
        !          1267: };
        !          1268:
        !          1269: /* 2: ID */
        !          1270:
        !          1271: ACPI_DMTABLE_INFO           AcpiDmTableInfoPptt2[] =
        !          1272: {
        !          1273:     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (Reserved),               "Reserved", 0},
        !          1274:     {ACPI_DMT_UINT32,   ACPI_PPTT2_OFFSET (VendorId),               "VENDOR_ID", 0},
        !          1275:     {ACPI_DMT_UINT64,   ACPI_PPTT2_OFFSET (Level1Id),               "LEVEL_1_ID", 0},
        !          1276:     {ACPI_DMT_UINT64,   ACPI_PPTT2_OFFSET (Level2Id),               "LEVEL_2_ID", 0},
        !          1277:     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (MajorRev),               "MAJOR_REV", 0},
        !          1278:     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (MinorRev),               "MINOR_REV", 0},
        !          1279:     {ACPI_DMT_UINT16,   ACPI_PPTT2_OFFSET (SpinRev),                "SPIN_REV", 0},
        !          1280:     ACPI_DMT_TERMINATOR
        !          1281: };
        !          1282:
        !          1283:
        !          1284: /*******************************************************************************
        !          1285:  *
        !          1286:  * RASF -  RAS Feature table
        !          1287:  *
        !          1288:  ******************************************************************************/
        !          1289:
        !          1290: ACPI_DMTABLE_INFO           AcpiDmTableInfoRasf[] =
        !          1291: {
        !          1292:     {ACPI_DMT_BUF12,    ACPI_RASF_OFFSET (ChannelId[0]),            "Channel ID", 0},
        !          1293:     ACPI_DMT_TERMINATOR
        !          1294: };
        !          1295:
        !          1296:
        !          1297: /*******************************************************************************
        !          1298:  *
        !          1299:  * S3PT - S3 Performance Table
        !          1300:  *
        !          1301:  ******************************************************************************/
        !          1302:
        !          1303: ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt[] =
        !          1304: {
        !          1305:     {ACPI_DMT_SIG,     ACPI_S3PT_OFFSET (Signature[0]),             "Signature", 0},
        !          1306:     {ACPI_DMT_UINT32,  ACPI_S3PT_OFFSET (Length),                   "Length", DT_LENGTH},
        !          1307:     ACPI_DMT_TERMINATOR
        !          1308: };
        !          1309:
        !          1310: /* S3PT subtable header */
        !          1311:
        !          1312: ACPI_DMTABLE_INFO           AcpiDmTableInfoS3ptHdr[] =
        !          1313: {
        !          1314:     {ACPI_DMT_UINT16,  ACPI_S3PTH_OFFSET (Type),                    "Type", 0},
        !          1315:     {ACPI_DMT_UINT8,   ACPI_S3PTH_OFFSET (Length),                  "Length", DT_LENGTH},
        !          1316:     {ACPI_DMT_UINT8,   ACPI_S3PTH_OFFSET (Revision),                "Revision", 0},
        !          1317:     ACPI_DMT_TERMINATOR
        !          1318: };
        !          1319:
        !          1320: /* 0: Basic S3 Resume Performance Record */
        !          1321:
        !          1322: ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt0[] =
        !          1323: {
        !          1324:     {ACPI_DMT_UINT32,  ACPI_S3PT0_OFFSET (ResumeCount),             "Resume Count", 0},
        !          1325:     {ACPI_DMT_UINT64,  ACPI_S3PT0_OFFSET (FullResume),              "Full Resume", 0},
        !          1326:     {ACPI_DMT_UINT64,  ACPI_S3PT0_OFFSET (AverageResume),           "Average Resume", 0},
        !          1327:     ACPI_DMT_TERMINATOR
        !          1328: };
        !          1329:
        !          1330: /* 1: Basic S3 Suspend Performance Record */
        !          1331:
        !          1332: ACPI_DMTABLE_INFO           AcpiDmTableInfoS3pt1[] =
        !          1333: {
        !          1334:     {ACPI_DMT_UINT64,  ACPI_S3PT1_OFFSET (SuspendStart),            "Suspend Start", 0},
        !          1335:     {ACPI_DMT_UINT64,  ACPI_S3PT1_OFFSET (SuspendEnd),              "Suspend End", 0},
        !          1336:     ACPI_DMT_TERMINATOR
        !          1337: };
        !          1338:
        !          1339:
        !          1340: /*******************************************************************************
        !          1341:  *
        !          1342:  * SBST - Smart Battery Specification Table
        !          1343:  *
        !          1344:  ******************************************************************************/
        !          1345:
        !          1346: ACPI_DMTABLE_INFO           AcpiDmTableInfoSbst[] =
        !          1347: {
        !          1348:     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (WarningLevel),            "Warning Level", 0},
        !          1349:     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (LowLevel),                "Low Level", 0},
        !          1350:     {ACPI_DMT_UINT32,   ACPI_SBST_OFFSET (CriticalLevel),           "Critical Level", 0},
        !          1351:     ACPI_DMT_TERMINATOR
        !          1352: };
        !          1353:
        !          1354:
        !          1355: /*******************************************************************************
        !          1356:  *
        !          1357:  * SDEI - Software Delegated Execption Interface Descriptor Table
        !          1358:  *
        !          1359:  ******************************************************************************/
        !          1360:
        !          1361: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdei[] =
        !          1362: {
        !          1363:     ACPI_DMT_TERMINATOR
        !          1364: };
        !          1365:
        !          1366:
        !          1367: /*******************************************************************************
        !          1368:  *
        !          1369:  * SDEV - Secure Devices Table (ACPI 6.2)
        !          1370:  *
        !          1371:  ******************************************************************************/
        !          1372:
        !          1373: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev[] =
        !          1374: {
        !          1375:     ACPI_DMT_TERMINATOR
        !          1376: };
        !          1377:
        !          1378: /* Common Subtable header (one per Subtable) */
        !          1379:
        !          1380: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdevHdr[] =
        !          1381: {
        !          1382:     {ACPI_DMT_SDEV,     ACPI_SDEVH_OFFSET (Type),                   "Subtable Type", 0},
        !          1383:     {ACPI_DMT_UINT8,    ACPI_SDEVH_OFFSET (Flags),                  "Flags (decoded below)", 0},
        !          1384:     {ACPI_DMT_FLAG0,    ACPI_SDEVH_FLAG_OFFSET (Flags,0),           "Allow handoff to unsecure OS", 0},
        !          1385:     {ACPI_DMT_UINT16,   ACPI_SDEVH_OFFSET (Length),                 "Length", 0},
        !          1386:     ACPI_DMT_TERMINATOR
        !          1387: };
        !          1388:
        !          1389: /* SDEV Subtables */
        !          1390:
        !          1391: /* 0: Namespace Device Based Secure Device Structure */
        !          1392:
        !          1393: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev0[] =
        !          1394: {
        !          1395:     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (DeviceIdOffset),         "Device ID Offset", 0},
        !          1396:     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (DeviceIdLength),         "Device ID Length", 0},
        !          1397:     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (VendorDataOffset),       "Vendor Data Offset", 0},
        !          1398:     {ACPI_DMT_UINT16,   ACPI_SDEV0_OFFSET (VendorDataLength),       "Vendor Data Length", 0},
        !          1399:     ACPI_DMT_TERMINATOR
        !          1400: };
        !          1401:
        !          1402: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev0a[] =
        !          1403: {
        !          1404:     {ACPI_DMT_STRING,   0,                                          "Namepath", 0},
        !          1405:     ACPI_DMT_TERMINATOR
        !          1406: };
        !          1407:
        !          1408: /* 1: PCIe Endpoint Device Based Device Structure */
        !          1409:
        !          1410: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1[] =
        !          1411: {
        !          1412:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (Segment),                "Segment", 0},
        !          1413:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (StartBus),               "Start Bus", 0},
        !          1414:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (PathOffset),             "Path Offset", 0},
        !          1415:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (PathLength),             "Path Length", 0},
        !          1416:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (VendorDataOffset),       "Vendor Data Offset", 0},
        !          1417:     {ACPI_DMT_UINT16,   ACPI_SDEV1_OFFSET (VendorDataLength),       "Vendor Data Length", 0},
        !          1418:     ACPI_DMT_TERMINATOR
        !          1419: };
        !          1420:
        !          1421: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1a[] =
        !          1422: {
        !          1423:     {ACPI_DMT_UINT8,    ACPI_SDEV1A_OFFSET (Device),                "Device", 0},
        !          1424:     {ACPI_DMT_UINT8,    ACPI_SDEV1A_OFFSET (Function),              "Function", 0},
        !          1425:     ACPI_DMT_TERMINATOR
        !          1426: };
        !          1427:
        !          1428: ACPI_DMTABLE_INFO           AcpiDmTableInfoSdev1b[] =
        !          1429: {
        !          1430:     {ACPI_DMT_RAW_BUFFER, 0,                                        "Vendor Data", 0}, /*, DT_OPTIONAL}, */
        !          1431:     ACPI_DMT_TERMINATOR
        !          1432: };
        !          1433: /*! [End] no source code translation !*/

CVSweb <webmaster@jp.NetBSD.org>