Home | History | Annotate | Line # | Download | only in common
dmtbinfo.c revision 1.16
      1   1.1    jruoho /******************************************************************************
      2   1.1    jruoho  *
      3   1.1    jruoho  * Module Name: dmtbinfo - Table info for non-AML tables
      4   1.1    jruoho  *
      5   1.1    jruoho  *****************************************************************************/
      6   1.1    jruoho 
      7   1.3    jruoho /*
      8  1.16  christos  * Copyright (C) 2000 - 2018, Intel Corp.
      9   1.1    jruoho  * All rights reserved.
     10   1.1    jruoho  *
     11   1.3    jruoho  * Redistribution and use in source and binary forms, with or without
     12   1.3    jruoho  * modification, are permitted provided that the following conditions
     13   1.3    jruoho  * are met:
     14   1.3    jruoho  * 1. Redistributions of source code must retain the above copyright
     15   1.3    jruoho  *    notice, this list of conditions, and the following disclaimer,
     16   1.3    jruoho  *    without modification.
     17   1.3    jruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18   1.3    jruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
     19   1.3    jruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
     20   1.3    jruoho  *    including a substantially similar Disclaimer requirement for further
     21   1.3    jruoho  *    binary redistribution.
     22   1.3    jruoho  * 3. Neither the names of the above-listed copyright holders nor the names
     23   1.3    jruoho  *    of any contributors may be used to endorse or promote products derived
     24   1.3    jruoho  *    from this software without specific prior written permission.
     25   1.3    jruoho  *
     26   1.3    jruoho  * Alternatively, this software may be distributed under the terms of the
     27   1.3    jruoho  * GNU General Public License ("GPL") version 2 as published by the Free
     28   1.3    jruoho  * Software Foundation.
     29   1.3    jruoho  *
     30   1.3    jruoho  * NO WARRANTY
     31   1.3    jruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32   1.3    jruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33   1.3    jruoho  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34   1.3    jruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35   1.3    jruoho  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36   1.3    jruoho  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37   1.3    jruoho  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38   1.3    jruoho  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39   1.3    jruoho  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40   1.3    jruoho  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41   1.3    jruoho  * POSSIBILITY OF SUCH DAMAGES.
     42   1.3    jruoho  */
     43   1.1    jruoho 
     44   1.1    jruoho #include "acpi.h"
     45   1.1    jruoho #include "accommon.h"
     46   1.1    jruoho #include "acdisasm.h"
     47  1.16  christos #include "actbinfo.h"
     48   1.1    jruoho 
     49   1.1    jruoho /* This module used for application-level code only */
     50   1.1    jruoho 
     51   1.1    jruoho #define _COMPONENT          ACPI_CA_DISASSEMBLER
     52   1.1    jruoho         ACPI_MODULE_NAME    ("dmtbinfo")
     53   1.1    jruoho 
     54   1.1    jruoho /*
     55   1.4    jruoho  * How to add a new table:
     56   1.4    jruoho  *
     57   1.4    jruoho  * - Add the C table definition to the actbl1.h or actbl2.h header.
     58   1.4    jruoho  * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below.
     59   1.4    jruoho  * - Define the table in this file (for the disassembler). If any
     60   1.4    jruoho  *   new data types are required (ACPI_DMT_*), see below.
     61   1.4    jruoho  * - Add an external declaration for the new table definition (AcpiDmTableInfo*)
     62   1.4    jruoho  *     in acdisam.h
     63   1.4    jruoho  * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData)
     64   1.4    jruoho  *     If a simple table (with no subtables), no disassembly code is needed.
     65   1.4    jruoho  *     Otherwise, create the AcpiDmDump* function for to disassemble the table
     66   1.4    jruoho  *     and add it to the dmtbdump.c file.
     67   1.4    jruoho  * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h
     68   1.4    jruoho  * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c
     69   1.4    jruoho  * - Create a template for the new table
     70   1.4    jruoho  * - Add data table compiler support
     71   1.4    jruoho  *
     72   1.4    jruoho  * How to add a new data type (ACPI_DMT_*):
     73   1.4    jruoho  *
     74   1.4    jruoho  * - Add new type at the end of the ACPI_DMT list in acdisasm.h
     75   1.4    jruoho  * - Add length and implementation cases in dmtable.c  (disassembler)
     76   1.4    jruoho  * - Add type and length cases in dtutils.c (DT compiler)
     77   1.4    jruoho  */
     78   1.4    jruoho 
     79   1.4    jruoho /*
     80   1.1    jruoho  * ACPI Table Information, used to dump formatted ACPI tables
     81   1.1    jruoho  *
     82   1.1    jruoho  * Each entry is of the form:  <Field Type, Field Offset, Field Name>
     83   1.1    jruoho  */
     84   1.1    jruoho 
     85   1.1    jruoho /*******************************************************************************
     86   1.1    jruoho  *
     87   1.1    jruoho  * Common ACPI table header
     88   1.1    jruoho  *
     89   1.1    jruoho  ******************************************************************************/
     90   1.1    jruoho 
     91   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoHeader[] =
     92   1.1    jruoho {
     93   1.1    jruoho     {ACPI_DMT_SIG,      ACPI_HDR_OFFSET (Signature[0]),             "Signature", 0},
     94   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_HDR_OFFSET (Length),                   "Table Length", DT_LENGTH},
     95   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_HDR_OFFSET (Revision),                 "Revision", 0},
     96   1.1    jruoho     {ACPI_DMT_CHKSUM,   ACPI_HDR_OFFSET (Checksum),                 "Checksum", 0},
     97   1.1    jruoho     {ACPI_DMT_NAME6,    ACPI_HDR_OFFSET (OemId[0]),                 "Oem ID", 0},
     98   1.1    jruoho     {ACPI_DMT_NAME8,    ACPI_HDR_OFFSET (OemTableId[0]),            "Oem Table ID", 0},
     99   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_HDR_OFFSET (OemRevision),              "Oem Revision", 0},
    100   1.1    jruoho     {ACPI_DMT_NAME4,    ACPI_HDR_OFFSET (AslCompilerId[0]),         "Asl Compiler ID", 0},
    101   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_HDR_OFFSET (AslCompilerRevision),      "Asl Compiler Revision", 0},
    102   1.1    jruoho     ACPI_DMT_TERMINATOR
    103   1.1    jruoho };
    104   1.1    jruoho 
    105   1.1    jruoho 
    106   1.1    jruoho /*******************************************************************************
    107   1.1    jruoho  *
    108   1.1    jruoho  * GAS - Generic Address Structure
    109   1.1    jruoho  *
    110   1.1    jruoho  ******************************************************************************/
    111   1.1    jruoho 
    112   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoGas[] =
    113   1.1    jruoho {
    114   1.1    jruoho     {ACPI_DMT_SPACEID,  ACPI_GAS_OFFSET (SpaceId),                  "Space ID", 0},
    115   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_GAS_OFFSET (BitWidth),                 "Bit Width", 0},
    116   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_GAS_OFFSET (BitOffset),                "Bit Offset", 0},
    117   1.3    jruoho     {ACPI_DMT_ACCWIDTH, ACPI_GAS_OFFSET (AccessWidth),              "Encoded Access Width", 0},
    118   1.1    jruoho     {ACPI_DMT_UINT64,   ACPI_GAS_OFFSET (Address),                  "Address", 0},
    119   1.1    jruoho     ACPI_DMT_TERMINATOR
    120   1.1    jruoho };
    121   1.1    jruoho 
    122   1.1    jruoho 
    123   1.1    jruoho /*******************************************************************************
    124   1.1    jruoho  *
    125   1.1    jruoho  * RSDP - Root System Description Pointer (Signature is "RSD PTR ")
    126   1.1    jruoho  *
    127   1.1    jruoho  ******************************************************************************/
    128   1.1    jruoho 
    129   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoRsdp1[] =
    130   1.1    jruoho {
    131   1.1    jruoho     {ACPI_DMT_NAME8,    ACPI_RSDP_OFFSET (Signature[0]),            "Signature", 0},
    132   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_RSDP_OFFSET (Checksum),                "Checksum", 0},
    133   1.1    jruoho     {ACPI_DMT_NAME6,    ACPI_RSDP_OFFSET (OemId[0]),                "Oem ID", 0},
    134   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_RSDP_OFFSET (Revision),                "Revision", 0},
    135   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_RSDP_OFFSET (RsdtPhysicalAddress),     "RSDT Address", 0},
    136   1.1    jruoho     ACPI_DMT_TERMINATOR
    137   1.1    jruoho };
    138   1.1    jruoho 
    139   1.1    jruoho /* ACPI 2.0+ Extensions */
    140   1.1    jruoho 
    141   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoRsdp2[] =
    142   1.1    jruoho {
    143   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_RSDP_OFFSET (Length),                  "Length", DT_LENGTH},
    144   1.1    jruoho     {ACPI_DMT_UINT64,   ACPI_RSDP_OFFSET (XsdtPhysicalAddress),     "XSDT Address", 0},
    145   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_RSDP_OFFSET (ExtendedChecksum),        "Extended Checksum", 0},
    146   1.1    jruoho     {ACPI_DMT_UINT24,   ACPI_RSDP_OFFSET (Reserved[0]),             "Reserved", 0},
    147   1.1    jruoho     ACPI_DMT_TERMINATOR
    148   1.1    jruoho };
    149   1.1    jruoho 
    150   1.1    jruoho 
    151   1.1    jruoho /*******************************************************************************
    152   1.1    jruoho  *
    153   1.1    jruoho  * FACS - Firmware ACPI Control Structure
    154   1.1    jruoho  *
    155   1.1    jruoho  ******************************************************************************/
    156   1.1    jruoho 
    157   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoFacs[] =
    158   1.1    jruoho {
    159   1.1    jruoho     {ACPI_DMT_NAME4,    ACPI_FACS_OFFSET (Signature[0]),            "Signature", 0},
    160   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (Length),                  "Length", DT_LENGTH},
    161   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (HardwareSignature),       "Hardware Signature", 0},
    162   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (FirmwareWakingVector),    "32 Firmware Waking Vector", 0},
    163   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (GlobalLock),              "Global Lock", 0},
    164   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
    165   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FACS_FLAG_OFFSET (Flags,0),            "S4BIOS Support Present", 0},
    166   1.1    jruoho     {ACPI_DMT_FLAG1,    ACPI_FACS_FLAG_OFFSET (Flags,0),            "64-bit Wake Supported (V2)", 0},
    167   1.1    jruoho     {ACPI_DMT_UINT64,   ACPI_FACS_OFFSET (XFirmwareWakingVector),   "64 Firmware Waking Vector", 0},
    168   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FACS_OFFSET (Version),                 "Version", 0},
    169   1.1    jruoho     {ACPI_DMT_UINT24,   ACPI_FACS_OFFSET (Reserved[0]),             "Reserved", 0},
    170   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FACS_OFFSET (OspmFlags),               "OspmFlags (decoded below)", DT_FLAG},
    171   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FACS_FLAG_OFFSET (OspmFlags,0),        "64-bit Wake Env Required (V2)", 0},
    172   1.1    jruoho     ACPI_DMT_TERMINATOR
    173   1.1    jruoho };
    174   1.1    jruoho 
    175   1.1    jruoho 
    176   1.1    jruoho /*******************************************************************************
    177   1.1    jruoho  *
    178   1.1    jruoho  * FADT - Fixed ACPI Description Table (Signature is FACP)
    179   1.1    jruoho  *
    180   1.1    jruoho  ******************************************************************************/
    181   1.1    jruoho 
    182  1.12  christos /* ACPI 1.0 FADT (Version 1) */
    183   1.1    jruoho 
    184   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoFadt1[] =
    185   1.1    jruoho {
    186   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Facs),                    "FACS Address", 0},
    187   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Dsdt),                    "DSDT Address", DT_NON_ZERO},
    188   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Model),                   "Model", 0},
    189   1.1    jruoho     {ACPI_DMT_FADTPM,   ACPI_FADT_OFFSET (PreferredProfile),        "PM Profile", 0},
    190   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (SciInterrupt),            "SCI Interrupt", 0},
    191   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (SmiCommand),              "SMI Command Port", 0},
    192   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (AcpiEnable),              "ACPI Enable Value", 0},
    193   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (AcpiDisable),             "ACPI Disable Value", 0},
    194   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (S4BiosRequest),           "S4BIOS Command", 0},
    195   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (PstateControl),           "P-State Control", 0},
    196   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Pm1aEventBlock),          "PM1A Event Block Address", 0},
    197   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Pm1bEventBlock),          "PM1B Event Block Address", 0},
    198   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Pm1aControlBlock),        "PM1A Control Block Address", 0},
    199   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Pm1bControlBlock),        "PM1B Control Block Address", 0},
    200   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Pm2ControlBlock),         "PM2 Control Block Address", 0},
    201   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (PmTimerBlock),            "PM Timer Block Address", 0},
    202   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Gpe0Block),               "GPE0 Block Address", 0},
    203   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Gpe1Block),               "GPE1 Block Address", 0},
    204   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Pm1EventLength),          "PM1 Event Block Length", 0},
    205   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Pm1ControlLength),        "PM1 Control Block Length", 0},
    206   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Pm2ControlLength),        "PM2 Control Block Length", 0},
    207   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (PmTimerLength),           "PM Timer Block Length", 0},
    208   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Gpe0BlockLength),         "GPE0 Block Length", 0},
    209   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Gpe1BlockLength),         "GPE1 Block Length", 0},
    210   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Gpe1Base),                "GPE1 Base Offset", 0},
    211   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (CstControl),              "_CST Support", 0},
    212   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (C2Latency),               "C2 Latency", 0},
    213   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (C3Latency),               "C3 Latency", 0},
    214   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (FlushSize),               "CPU Cache Size", 0},
    215   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (FlushStride),             "Cache Flush Stride", 0},
    216   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (DutyOffset),              "Duty Cycle Offset", 0},
    217   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (DutyWidth),               "Duty Cycle Width", 0},
    218   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (DayAlarm),                "RTC Day Alarm Index", 0},
    219   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (MonthAlarm),              "RTC Month Alarm Index", 0},
    220   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Century),                 "RTC Century Index", 0},
    221   1.1    jruoho     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (BootFlags),               "Boot Flags (decoded below)", DT_FLAG},
    222   1.1    jruoho 
    223   1.1    jruoho     /* Boot Architecture Flags byte 0 */
    224   1.1    jruoho 
    225   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "Legacy Devices Supported (V2)", 0},
    226   1.1    jruoho     {ACPI_DMT_FLAG1,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "8042 Present on ports 60/64 (V2)", 0},
    227   1.1    jruoho     {ACPI_DMT_FLAG2,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "VGA Not Present (V4)", 0},
    228   1.1    jruoho     {ACPI_DMT_FLAG3,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "MSI Not Supported (V4)", 0},
    229   1.1    jruoho     {ACPI_DMT_FLAG4,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "PCIe ASPM Not Supported (V4)", 0},
    230   1.5  christos     {ACPI_DMT_FLAG5,    ACPI_FADT_FLAG_OFFSET (BootFlags,0),        "CMOS RTC Not Present (V5)", 0},
    231   1.1    jruoho 
    232   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (Reserved),                "Reserved", 0},
    233   1.1    jruoho     {ACPI_DMT_UINT32,   ACPI_FADT_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
    234   1.1    jruoho 
    235   1.1    jruoho     /* Flags byte 0 */
    236   1.1    jruoho 
    237   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "WBINVD instruction is operational (V1)", 0},
    238   1.1    jruoho     {ACPI_DMT_FLAG1,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "WBINVD flushes all caches (V1)", 0},
    239   1.1    jruoho     {ACPI_DMT_FLAG2,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "All CPUs support C1 (V1)", 0},
    240   1.1    jruoho     {ACPI_DMT_FLAG3,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "C2 works on MP system (V1)", 0},
    241   1.1    jruoho     {ACPI_DMT_FLAG4,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "Control Method Power Button (V1)", 0},
    242   1.1    jruoho     {ACPI_DMT_FLAG5,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "Control Method Sleep Button (V1)", 0},
    243   1.1    jruoho     {ACPI_DMT_FLAG6,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "RTC wake not in fixed reg space (V1)", 0},
    244   1.1    jruoho     {ACPI_DMT_FLAG7,    ACPI_FADT_FLAG_OFFSET (Flags,0),            "RTC can wake system from S4 (V1)", 0},
    245   1.1    jruoho 
    246   1.1    jruoho     /* Flags byte 1 */
    247   1.1    jruoho 
    248   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "32-bit PM Timer (V1)", 0},
    249   1.1    jruoho     {ACPI_DMT_FLAG1,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Docking Supported (V1)", 0},
    250   1.1    jruoho     {ACPI_DMT_FLAG2,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Reset Register Supported (V2)", 0},
    251   1.1    jruoho     {ACPI_DMT_FLAG3,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Sealed Case (V3)", 0},
    252   1.1    jruoho     {ACPI_DMT_FLAG4,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Headless - No Video (V3)", 0},
    253   1.1    jruoho     {ACPI_DMT_FLAG5,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Use native instr after SLP_TYPx (V3)", 0},
    254   1.1    jruoho     {ACPI_DMT_FLAG6,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "PCIEXP_WAK Bits Supported (V4)", 0},
    255   1.1    jruoho     {ACPI_DMT_FLAG7,    ACPI_FADT_FLAG_OFFSET (Flags,1),            "Use Platform Timer (V4)", 0},
    256   1.1    jruoho 
    257   1.1    jruoho     /* Flags byte 2 */
    258   1.1    jruoho 
    259   1.1    jruoho     {ACPI_DMT_FLAG0,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "RTC_STS valid on S4 wake (V4)", 0},
    260   1.1    jruoho     {ACPI_DMT_FLAG1,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "Remote Power-on capable (V4)", 0},
    261   1.1    jruoho     {ACPI_DMT_FLAG2,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "Use APIC Cluster Model (V4)", 0},
    262   1.1    jruoho     {ACPI_DMT_FLAG3,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "Use APIC Physical Destination Mode (V4)", 0},
    263   1.5  christos     {ACPI_DMT_FLAG4,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "Hardware Reduced (V5)", 0},
    264   1.5  christos     {ACPI_DMT_FLAG5,    ACPI_FADT_FLAG_OFFSET (Flags,2),            "Low Power S0 Idle (V5)", 0},
    265   1.1    jruoho     ACPI_DMT_TERMINATOR
    266   1.1    jruoho };
    267   1.1    jruoho 
    268  1.12  christos /* ACPI 1.0 MS Extensions (FADT version 2) */
    269  1.12  christos 
    270  1.12  christos ACPI_DMTABLE_INFO           AcpiDmTableInfoFadt2[] =
    271  1.12  christos {
    272  1.12  christos     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (ResetRegister),           "Reset Register", 0},
    273  1.12  christos     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (ResetValue),              "Value to cause reset", 0},
    274  1.12  christos     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (ArmBootFlags),            "Reserved", 0},
    275  1.12  christos     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (MinorRevision),           "Reserved", 0},
    276  1.12  christos     ACPI_DMT_TERMINATOR
    277  1.12  christos };
    278  1.12  christos 
    279  1.12  christos /* ACPI 2.0+ Extensions (FADT version 3, 4, and 5) */
    280   1.1    jruoho 
    281   1.1    jruoho ACPI_DMTABLE_INFO           AcpiDmTableInfoFadt3[] =
    282   1.1    jruoho {
    283   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (ResetRegister),           "Reset Register", 0},
    284   1.1    jruoho     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (ResetValue),              "Value to cause reset", 0},
    285   1.6  christos     {ACPI_DMT_UINT16,   ACPI_FADT_OFFSET (ArmBootFlags),            "ARM Flags (decoded below)", DT_FLAG},
    286   1.6  christos     {ACPI_DMT_FLAG0,    ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0),      "PSCI Compliant", 0},
    287   1.6  christos     {ACPI_DMT_FLAG1,    ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0),      "Must use HVC for PSCI", 0},
    288   1.6  christos     ACPI_DMT_NEW_LINE,
    289   1.6  christos     {ACPI_DMT_UINT8,    ACPI_FADT_OFFSET (MinorRevision),           "FADT Minor Revision", 0},
    290   1.1    jruoho     {ACPI_DMT_UINT64,   ACPI_FADT_OFFSET (XFacs),                   "FACS Address", 0},
    291   1.1    jruoho     {ACPI_DMT_UINT64,   ACPI_FADT_OFFSET (XDsdt),                   "DSDT Address", 0},
    292   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPm1aEventBlock),         "PM1A Event Block", 0},
    293   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPm1bEventBlock),         "PM1B Event Block", 0},
    294   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPm1aControlBlock),       "PM1A Control Block", 0},
    295   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPm1bControlBlock),       "PM1B Control Block", 0},
    296   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPm2ControlBlock),        "PM2 Control Block", 0},
    297   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XPmTimerBlock),           "PM Timer Block", 0},
    298   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XGpe0Block),              "GPE0 Block", 0},
    299   1.1    jruoho     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (XGpe1Block),              "GPE1 Block", 0},
    300   1.1    jruoho     ACPI_DMT_TERMINATOR
    301   1.1    jruoho };
    302   1.1    jruoho 
    303  1.12  christos /* ACPI 5.0 Extensions (FADT version 5) */
    304  1.11  christos 
    305  1.12  christos ACPI_DMTABLE_INFO           AcpiDmTableInfoFadt5[] =
    306  1.11  christos {
    307  1.11  christos     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (SleepControl),            "Sleep Control Register", 0},
    308   1.5  christos     {ACPI_DMT_GAS,      ACPI_FADT_OFFSET (SleepStatus),             "Sleep Status Register", 0},
    309   1.5  christos     ACPI_DMT_TERMINATOR
    310   1.5  christos };
    311   1.5  christos 
    312  1.12  christos /* ACPI 6.0 Extensions (FADT version 6) */
    313   1.8  christos 
    314   1.8  christos ACPI_DMTABLE_INFO           AcpiDmTableInfoFadt6[] =
    315   1.8  christos {
    316   1.8  christos     {ACPI_DMT_UINT64,   ACPI_FADT_OFFSET (HypervisorId),            "Hypervisor ID", 0},
    317   1.8  christos     ACPI_DMT_TERMINATOR
    318   1.8  christos };
    319