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