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>