11a39cfb0SJung-uk Kim /****************************************************************************** 21a39cfb0SJung-uk Kim * 31a39cfb0SJung-uk Kim * Module Name: dmtbinfo - Table info for non-AML tables 41a39cfb0SJung-uk Kim * 51a39cfb0SJung-uk Kim *****************************************************************************/ 61a39cfb0SJung-uk Kim 7d244b227SJung-uk Kim /* 8*313a0c13SJung-uk Kim * Copyright (C) 2000 - 2014, Intel Corp. 91a39cfb0SJung-uk Kim * All rights reserved. 101a39cfb0SJung-uk Kim * 11d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 13d244b227SJung-uk Kim * are met: 14d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16d244b227SJung-uk Kim * without modification. 17d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21d244b227SJung-uk Kim * binary redistribution. 22d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24d244b227SJung-uk Kim * from this software without specific prior written permission. 251a39cfb0SJung-uk Kim * 26d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28d244b227SJung-uk Kim * Software Foundation. 291a39cfb0SJung-uk Kim * 30d244b227SJung-uk Kim * NO WARRANTY 31d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42d244b227SJung-uk Kim */ 431a39cfb0SJung-uk Kim 44ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h> 45ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h> 46ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acdisasm.h> 471a39cfb0SJung-uk Kim 481a39cfb0SJung-uk Kim /* This module used for application-level code only */ 491a39cfb0SJung-uk Kim 501a39cfb0SJung-uk Kim #define _COMPONENT ACPI_CA_DISASSEMBLER 511a39cfb0SJung-uk Kim ACPI_MODULE_NAME ("dmtbinfo") 521a39cfb0SJung-uk Kim 531a39cfb0SJung-uk Kim /* 54dcbce41eSJung-uk Kim * How to add a new table: 55dcbce41eSJung-uk Kim * 56dcbce41eSJung-uk Kim * - Add the C table definition to the actbl1.h or actbl2.h header. 57dcbce41eSJung-uk Kim * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below. 58dcbce41eSJung-uk Kim * - Define the table in this file (for the disassembler). If any 59dcbce41eSJung-uk Kim * new data types are required (ACPI_DMT_*), see below. 60dcbce41eSJung-uk Kim * - Add an external declaration for the new table definition (AcpiDmTableInfo*) 61dcbce41eSJung-uk Kim * in acdisam.h 62dcbce41eSJung-uk Kim * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData) 63dcbce41eSJung-uk Kim * If a simple table (with no subtables), no disassembly code is needed. 64dcbce41eSJung-uk Kim * Otherwise, create the AcpiDmDump* function for to disassemble the table 65dcbce41eSJung-uk Kim * and add it to the dmtbdump.c file. 66dcbce41eSJung-uk Kim * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h 67dcbce41eSJung-uk Kim * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c 68dcbce41eSJung-uk Kim * - Create a template for the new table 69dcbce41eSJung-uk Kim * - Add data table compiler support 70dcbce41eSJung-uk Kim * 71dcbce41eSJung-uk Kim * How to add a new data type (ACPI_DMT_*): 72dcbce41eSJung-uk Kim * 73dcbce41eSJung-uk Kim * - Add new type at the end of the ACPI_DMT list in acdisasm.h 74dcbce41eSJung-uk Kim * - Add length and implementation cases in dmtable.c (disassembler) 75dcbce41eSJung-uk Kim * - Add type and length cases in dtutils.c (DT compiler) 76dcbce41eSJung-uk Kim */ 77dcbce41eSJung-uk Kim 78dcbce41eSJung-uk Kim /* 791a39cfb0SJung-uk Kim * Macros used to generate offsets to specific table fields 801a39cfb0SJung-uk Kim */ 81ec3fc72fSJung-uk Kim #define ACPI_FACS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f) 82ec3fc72fSJung-uk Kim #define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f) 83ec3fc72fSJung-uk Kim #define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f) 84ec3fc72fSJung-uk Kim #define ACPI_RSDP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RSDP,f) 85ec3fc72fSJung-uk Kim #define ACPI_BERT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BERT,f) 86ec3fc72fSJung-uk Kim #define ACPI_BGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BGRT,f) 87ec3fc72fSJung-uk Kim #define ACPI_BOOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BOOT,f) 88ec3fc72fSJung-uk Kim #define ACPI_CPEP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CPEP,f) 891df130f1SJung-uk Kim #define ACPI_DBG2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBG2,f) 90ec3fc72fSJung-uk Kim #define ACPI_DBGP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBGP,f) 91ec3fc72fSJung-uk Kim #define ACPI_DMAR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DMAR,f) 92ec3fc72fSJung-uk Kim #define ACPI_DRTM_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DRTM,f) 93ec3fc72fSJung-uk Kim #define ACPI_ECDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ECDT,f) 94ec3fc72fSJung-uk Kim #define ACPI_EINJ_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_EINJ,f) 95ec3fc72fSJung-uk Kim #define ACPI_ERST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ERST,f) 96ec3fc72fSJung-uk Kim #define ACPI_GTDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_GTDT,f) 97ec3fc72fSJung-uk Kim #define ACPI_HEST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEST,f) 98ec3fc72fSJung-uk Kim #define ACPI_HPET_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HPET,f) 99ec3fc72fSJung-uk Kim #define ACPI_IVRS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_IVRS,f) 100ec3fc72fSJung-uk Kim #define ACPI_MADT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MADT,f) 101ec3fc72fSJung-uk Kim #define ACPI_MCFG_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MCFG,f) 102ec3fc72fSJung-uk Kim #define ACPI_MCHI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MCHI,f) 103ec3fc72fSJung-uk Kim #define ACPI_MPST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MPST,f) 104ec3fc72fSJung-uk Kim #define ACPI_MSCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MSCT,f) 105ec3fc72fSJung-uk Kim #define ACPI_PCCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PCCT,f) 106ec3fc72fSJung-uk Kim #define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f) 107ec3fc72fSJung-uk Kim #define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f) 108ec3fc72fSJung-uk Kim #define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f) 109ec3fc72fSJung-uk Kim #define ACPI_SLIT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SLIT,f) 110ec3fc72fSJung-uk Kim #define ACPI_SPCR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPCR,f) 111ec3fc72fSJung-uk Kim #define ACPI_SPMI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPMI,f) 112ec3fc72fSJung-uk Kim #define ACPI_SRAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SRAT,f) 113ec3fc72fSJung-uk Kim #define ACPI_TCPA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA,f) 114efcc2a30SJung-uk Kim #define ACPI_TPM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM2,f) 115ec3fc72fSJung-uk Kim #define ACPI_UEFI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_UEFI,f) 116ec3fc72fSJung-uk Kim #define ACPI_WAET_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WAET,f) 117ec3fc72fSJung-uk Kim #define ACPI_WDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDAT,f) 118ec3fc72fSJung-uk Kim #define ACPI_WDDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDDT,f) 119ec3fc72fSJung-uk Kim #define ACPI_WDRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDRT,f) 1201a39cfb0SJung-uk Kim 121a9f12690SJung-uk Kim /* Subtables */ 1221a39cfb0SJung-uk Kim 123ec3fc72fSJung-uk Kim #define ACPI_ASF0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_INFO,f) 124ec3fc72fSJung-uk Kim #define ACPI_ASF1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT,f) 125ec3fc72fSJung-uk Kim #define ACPI_ASF1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT_DATA,f) 126ec3fc72fSJung-uk Kim #define ACPI_ASF2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_REMOTE,f) 127ec3fc72fSJung-uk Kim #define ACPI_ASF2a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f) 128ec3fc72fSJung-uk Kim #define ACPI_ASF3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f) 129ec3fc72fSJung-uk Kim #define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f) 130ec3fc72fSJung-uk Kim #define ACPI_CPEP0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CPEP_POLLING,f) 1311df130f1SJung-uk Kim #define ACPI_CSRT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_GROUP,f) 132efcc2a30SJung-uk Kim #define ACPI_CSRT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_SHARED_INFO,f) 133efcc2a30SJung-uk Kim #define ACPI_CSRT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_DESCRIPTOR,f) 1341df130f1SJung-uk Kim #define ACPI_DBG20_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DBG2_DEVICE,f) 135ec3fc72fSJung-uk Kim #define ACPI_DMARS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_DEVICE_SCOPE,f) 136ec3fc72fSJung-uk Kim #define ACPI_DMAR0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_HARDWARE_UNIT,f) 137ec3fc72fSJung-uk Kim #define ACPI_DMAR1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RESERVED_MEMORY,f) 138ec3fc72fSJung-uk Kim #define ACPI_DMAR2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ATSR,f) 139ec3fc72fSJung-uk Kim #define ACPI_DMAR3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RHSA,f) 140*313a0c13SJung-uk Kim #define ACPI_DMAR4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ANDD,f) 141ec3fc72fSJung-uk Kim #define ACPI_EINJ0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WHEA_HEADER,f) 142ec3fc72fSJung-uk Kim #define ACPI_ERST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WHEA_HEADER,f) 143ec3fc72fSJung-uk Kim #define ACPI_FPDTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) 144ec3fc72fSJung-uk Kim #define ACPI_FPDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_BOOT,f) 145ec3fc72fSJung-uk Kim #define ACPI_FPDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_S3PT_PTR,f) 146*313a0c13SJung-uk Kim #define ACPI_GTDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_TIMER_BLOCK,f) 147*313a0c13SJung-uk Kim #define ACPI_GTDT0a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_TIMER_ENTRY,f) 148*313a0c13SJung-uk Kim #define ACPI_GTDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_WATCHDOG,f) 149*313a0c13SJung-uk Kim #define ACPI_GTDTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_HEADER,f) 150ec3fc72fSJung-uk Kim #define ACPI_HEST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_MACHINE_CHECK,f) 151ec3fc72fSJung-uk Kim #define ACPI_HEST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_CORRECTED,f) 152ec3fc72fSJung-uk Kim #define ACPI_HEST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_NMI,f) 153ec3fc72fSJung-uk Kim #define ACPI_HEST6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER_ROOT,f) 154ec3fc72fSJung-uk Kim #define ACPI_HEST7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER,f) 155ec3fc72fSJung-uk Kim #define ACPI_HEST8_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER_BRIDGE,f) 156ec3fc72fSJung-uk Kim #define ACPI_HEST9_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_GENERIC,f) 157ec3fc72fSJung-uk Kim #define ACPI_HESTN_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_NOTIFY,f) 158ec3fc72fSJung-uk Kim #define ACPI_HESTB_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_ERROR_BANK,f) 159ec3fc72fSJung-uk Kim #define ACPI_IVRSH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HEADER,f) 160ec3fc72fSJung-uk Kim #define ACPI_IVRS0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE,f) 161ec3fc72fSJung-uk Kim #define ACPI_IVRS1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_MEMORY,f) 162ec3fc72fSJung-uk Kim #define ACPI_IVRSD_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DE_HEADER,f) 163ec3fc72fSJung-uk Kim #define ACPI_IVRS8A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8A,f) 164ec3fc72fSJung-uk Kim #define ACPI_IVRS8B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8B,f) 165ec3fc72fSJung-uk Kim #define ACPI_IVRS8C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8C,f) 166*313a0c13SJung-uk Kim #define ACPI_LPITH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_LPIT_HEADER,f) 167*313a0c13SJung-uk Kim #define ACPI_LPIT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_LPIT_NATIVE,f) 168*313a0c13SJung-uk Kim #define ACPI_LPIT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_LPIT_IO,f) 169ec3fc72fSJung-uk Kim #define ACPI_MADT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC,f) 170ec3fc72fSJung-uk Kim #define ACPI_MADT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_IO_APIC,f) 171ec3fc72fSJung-uk Kim #define ACPI_MADT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_INTERRUPT_OVERRIDE,f) 172ec3fc72fSJung-uk Kim #define ACPI_MADT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_NMI_SOURCE,f) 173ec3fc72fSJung-uk Kim #define ACPI_MADT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC_NMI,f) 174ec3fc72fSJung-uk Kim #define ACPI_MADT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC_OVERRIDE,f) 175ec3fc72fSJung-uk Kim #define ACPI_MADT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_IO_SAPIC,f) 176ec3fc72fSJung-uk Kim #define ACPI_MADT7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_SAPIC,f) 177ec3fc72fSJung-uk Kim #define ACPI_MADT8_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_INTERRUPT_SOURCE,f) 178ec3fc72fSJung-uk Kim #define ACPI_MADT9_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_X2APIC,f) 179ec3fc72fSJung-uk Kim #define ACPI_MADT10_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f) 180ec3fc72fSJung-uk Kim #define ACPI_MADT11_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_INTERRUPT,f) 181ec3fc72fSJung-uk Kim #define ACPI_MADT12_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_DISTRIBUTOR,f) 182*313a0c13SJung-uk Kim #define ACPI_MADT13_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_MSI_FRAME,f) 183*313a0c13SJung-uk Kim #define ACPI_MADT14_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_REDISTRIBUTOR,f) 184ec3fc72fSJung-uk Kim #define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) 185ec3fc72fSJung-uk Kim #define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f) 186ec3fc72fSJung-uk Kim #define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f) 187ec3fc72fSJung-uk Kim #define ACPI_MPST0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f) 188ec3fc72fSJung-uk Kim #define ACPI_MPST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f) 189ec3fc72fSJung-uk Kim #define ACPI_MPST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_DATA_HDR,f) 190ec3fc72fSJung-uk Kim #define ACPI_MPST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_DATA,f) 191ec3fc72fSJung-uk Kim #define ACPI_MSCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MSCT_PROXIMITY,f) 1929c48c75eSJung-uk Kim #define ACPI_MTMR0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MTMR_ENTRY,f) 193ec3fc72fSJung-uk Kim #define ACPI_PCCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_SUBSPACE,f) 194*313a0c13SJung-uk Kim #define ACPI_PCCT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED,f) 195ec3fc72fSJung-uk Kim #define ACPI_PMTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_SOCKET,f) 196ec3fc72fSJung-uk Kim #define ACPI_PMTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_CONTROLLER,f) 197ec3fc72fSJung-uk Kim #define ACPI_PMTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_DOMAIN,f) 198ec3fc72fSJung-uk Kim #define ACPI_PMTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_PHYSICAL_COMPONENT,f) 199ec3fc72fSJung-uk Kim #define ACPI_PMTTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_HEADER,f) 200ec3fc72fSJung-uk Kim #define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_HEADER,f) 201ec3fc72fSJung-uk Kim #define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f) 202ec3fc72fSJung-uk Kim #define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f) 203ec3fc72fSJung-uk Kim #define ACPI_SLICH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SLIC_HEADER,f) 204ec3fc72fSJung-uk Kim #define ACPI_SLIC0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SLIC_KEY,f) 205ec3fc72fSJung-uk Kim #define ACPI_SLIC1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SLIC_MARKER,f) 206ec3fc72fSJung-uk Kim #define ACPI_SRATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) 207ec3fc72fSJung-uk Kim #define ACPI_SRAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_CPU_AFFINITY,f) 208ec3fc72fSJung-uk Kim #define ACPI_SRAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_MEM_AFFINITY,f) 209ec3fc72fSJung-uk Kim #define ACPI_SRAT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f) 210*313a0c13SJung-uk Kim #define ACPI_SRAT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GICC_AFFINITY,f) 2119c48c75eSJung-uk Kim #define ACPI_VRTC0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VRTC_ENTRY,f) 212ec3fc72fSJung-uk Kim #define ACPI_WDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WDAT_ENTRY,f) 2131a39cfb0SJung-uk Kim 2141a39cfb0SJung-uk Kim /* 2151a39cfb0SJung-uk Kim * Simplify access to flag fields by breaking them up into bytes 2161a39cfb0SJung-uk Kim */ 217ec3fc72fSJung-uk Kim #define ACPI_FLAG_OFFSET(d,f,o) (UINT16) (ACPI_OFFSET (d,f) + o) 2181a39cfb0SJung-uk Kim 2191a39cfb0SJung-uk Kim /* Flags */ 2201a39cfb0SJung-uk Kim 2211a39cfb0SJung-uk Kim #define ACPI_FADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_FADT,f,o) 2221a39cfb0SJung-uk Kim #define ACPI_FACS_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_FACS,f,o) 2231a39cfb0SJung-uk Kim #define ACPI_HPET_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_HPET,f,o) 2241a39cfb0SJung-uk Kim #define ACPI_SRAT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_CPU_AFFINITY,f,o) 2251a39cfb0SJung-uk Kim #define ACPI_SRAT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_MEM_AFFINITY,f,o) 226a9f12690SJung-uk Kim #define ACPI_SRAT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f,o) 227*313a0c13SJung-uk Kim #define ACPI_SRAT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_GICC_AFFINITY,f,o) 2283f0275a0SJung-uk Kim #define ACPI_GTDT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_GTDT,f,o) 229*313a0c13SJung-uk Kim #define ACPI_GTDT0a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_GTDT_TIMER_ENTRY,f,o) 230*313a0c13SJung-uk Kim #define ACPI_GTDT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_GTDT_WATCHDOG,f,o) 231*313a0c13SJung-uk Kim #define ACPI_LPITH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_LPIT_HEADER,f,o) 2321a39cfb0SJung-uk Kim #define ACPI_MADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_MADT,f,o) 2331a39cfb0SJung-uk Kim #define ACPI_MADT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC,f,o) 2341a39cfb0SJung-uk Kim #define ACPI_MADT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_INTERRUPT_OVERRIDE,f,o) 2351a39cfb0SJung-uk Kim #define ACPI_MADT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_NMI_SOURCE,f,o) 2361a39cfb0SJung-uk Kim #define ACPI_MADT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC_NMI,f,o) 2371a39cfb0SJung-uk Kim #define ACPI_MADT7_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_SAPIC,f,o) 2381a39cfb0SJung-uk Kim #define ACPI_MADT8_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_INTERRUPT_SOURCE,f,o) 239a9f12690SJung-uk Kim #define ACPI_MADT9_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC,f,o) 240a9f12690SJung-uk Kim #define ACPI_MADT10_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f,o) 2413f0275a0SJung-uk Kim #define ACPI_MADT11_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_GENERIC_INTERRUPT,f,o) 242*313a0c13SJung-uk Kim #define ACPI_MADT13_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_GENERIC_MSI_FRAME,f,o) 2433f0275a0SJung-uk Kim #define ACPI_MPST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MPST_POWER_NODE,f,o) 2443f0275a0SJung-uk Kim #define ACPI_MPST2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MPST_POWER_DATA,f,o) 2453f0275a0SJung-uk Kim #define ACPI_PCCT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_PCCT,f,o) 246*313a0c13SJung-uk Kim #define ACPI_PCCT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_HW_REDUCED,f,o) 2473f0275a0SJung-uk Kim #define ACPI_PMTTH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PMTT_HEADER,f,o) 248a88e22b7SJung-uk Kim #define ACPI_WDDT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_WDDT,f,o) 249a88e22b7SJung-uk Kim #define ACPI_EINJ0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_WHEA_HEADER,f,o) 250a88e22b7SJung-uk Kim #define ACPI_ERST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_WHEA_HEADER,f,o) 251a88e22b7SJung-uk Kim #define ACPI_HEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_IA_MACHINE_CHECK,f,o) 252a88e22b7SJung-uk Kim #define ACPI_HEST1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_IA_CORRECTED,f,o) 253a88e22b7SJung-uk Kim #define ACPI_HEST6_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_AER_ROOT,f,o) 254a88e22b7SJung-uk Kim 255a88e22b7SJung-uk Kim /* 256a88e22b7SJung-uk Kim * Required terminator for all tables below 257a88e22b7SJung-uk Kim */ 258a88e22b7SJung-uk Kim #define ACPI_DMT_TERMINATOR {ACPI_DMT_EXIT, 0, NULL, 0} 2593f0275a0SJung-uk Kim #define ACPI_DMT_NEW_LINE {ACPI_DMT_EXTRA_TEXT, 0, "\n", 0} 2601a39cfb0SJung-uk Kim 2611a39cfb0SJung-uk Kim 2621a39cfb0SJung-uk Kim /* 2631a39cfb0SJung-uk Kim * ACPI Table Information, used to dump formatted ACPI tables 2641a39cfb0SJung-uk Kim * 2651a39cfb0SJung-uk Kim * Each entry is of the form: <Field Type, Field Offset, Field Name> 2661a39cfb0SJung-uk Kim */ 2671a39cfb0SJung-uk Kim 2681a39cfb0SJung-uk Kim /******************************************************************************* 2691a39cfb0SJung-uk Kim * 2701a39cfb0SJung-uk Kim * Common ACPI table header 2711a39cfb0SJung-uk Kim * 2721a39cfb0SJung-uk Kim ******************************************************************************/ 2731a39cfb0SJung-uk Kim 2741a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[] = 2751a39cfb0SJung-uk Kim { 276a88e22b7SJung-uk Kim {ACPI_DMT_SIG, ACPI_HDR_OFFSET (Signature[0]), "Signature", 0}, 277a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (Length), "Table Length", DT_LENGTH}, 278a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HDR_OFFSET (Revision), "Revision", 0}, 279a88e22b7SJung-uk Kim {ACPI_DMT_CHKSUM, ACPI_HDR_OFFSET (Checksum), "Checksum", 0}, 280a88e22b7SJung-uk Kim {ACPI_DMT_NAME6, ACPI_HDR_OFFSET (OemId[0]), "Oem ID", 0}, 281a88e22b7SJung-uk Kim {ACPI_DMT_NAME8, ACPI_HDR_OFFSET (OemTableId[0]), "Oem Table ID", 0}, 282a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (OemRevision), "Oem Revision", 0}, 283a88e22b7SJung-uk Kim {ACPI_DMT_NAME4, ACPI_HDR_OFFSET (AslCompilerId[0]), "Asl Compiler ID", 0}, 284a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (AslCompilerRevision), "Asl Compiler Revision", 0}, 285a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2861a39cfb0SJung-uk Kim }; 2871a39cfb0SJung-uk Kim 2881a39cfb0SJung-uk Kim 2891a39cfb0SJung-uk Kim /******************************************************************************* 2901a39cfb0SJung-uk Kim * 2911a39cfb0SJung-uk Kim * GAS - Generic Address Structure 2921a39cfb0SJung-uk Kim * 2931a39cfb0SJung-uk Kim ******************************************************************************/ 2941a39cfb0SJung-uk Kim 2951a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGas[] = 2961a39cfb0SJung-uk Kim { 297a88e22b7SJung-uk Kim {ACPI_DMT_SPACEID, ACPI_GAS_OFFSET (SpaceId), "Space ID", 0}, 298a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitWidth), "Bit Width", 0}, 299a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitOffset), "Bit Offset", 0}, 3005a77b11bSJung-uk Kim {ACPI_DMT_ACCWIDTH, ACPI_GAS_OFFSET (AccessWidth), "Encoded Access Width", 0}, 301a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GAS_OFFSET (Address), "Address", 0}, 302a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3031a39cfb0SJung-uk Kim }; 3041a39cfb0SJung-uk Kim 3051a39cfb0SJung-uk Kim 3061a39cfb0SJung-uk Kim /******************************************************************************* 3071a39cfb0SJung-uk Kim * 3081a39cfb0SJung-uk Kim * RSDP - Root System Description Pointer (Signature is "RSD PTR ") 3091a39cfb0SJung-uk Kim * 3101a39cfb0SJung-uk Kim ******************************************************************************/ 3111a39cfb0SJung-uk Kim 3121a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[] = 3131a39cfb0SJung-uk Kim { 314a88e22b7SJung-uk Kim {ACPI_DMT_NAME8, ACPI_RSDP_OFFSET (Signature[0]), "Signature", 0}, 315a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Checksum), "Checksum", 0}, 316a88e22b7SJung-uk Kim {ACPI_DMT_NAME6, ACPI_RSDP_OFFSET (OemId[0]), "Oem ID", 0}, 317a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Revision), "Revision", 0}, 318a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (RsdtPhysicalAddress), "RSDT Address", 0}, 319a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3201a39cfb0SJung-uk Kim }; 3211a39cfb0SJung-uk Kim 3221a39cfb0SJung-uk Kim /* ACPI 2.0+ Extensions */ 3231a39cfb0SJung-uk Kim 3241a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[] = 3251a39cfb0SJung-uk Kim { 326a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (Length), "Length", DT_LENGTH}, 327a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_RSDP_OFFSET (XsdtPhysicalAddress), "XSDT Address", 0}, 328a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (ExtendedChecksum), "Extended Checksum", 0}, 329a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_RSDP_OFFSET (Reserved[0]), "Reserved", 0}, 330a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3311a39cfb0SJung-uk Kim }; 3321a39cfb0SJung-uk Kim 3331a39cfb0SJung-uk Kim 3341a39cfb0SJung-uk Kim /******************************************************************************* 3351a39cfb0SJung-uk Kim * 3361a39cfb0SJung-uk Kim * FACS - Firmware ACPI Control Structure 3371a39cfb0SJung-uk Kim * 3381a39cfb0SJung-uk Kim ******************************************************************************/ 3391a39cfb0SJung-uk Kim 3401a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[] = 3411a39cfb0SJung-uk Kim { 342a88e22b7SJung-uk Kim {ACPI_DMT_NAME4, ACPI_FACS_OFFSET (Signature[0]), "Signature", 0}, 343a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Length), "Length", DT_LENGTH}, 344a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (HardwareSignature), "Hardware Signature", 0}, 345a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (FirmwareWakingVector), "32 Firmware Waking Vector", 0}, 346a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (GlobalLock), "Global Lock", 0}, 347a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 348a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (Flags,0), "S4BIOS Support Present", 0}, 349a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FACS_FLAG_OFFSET (Flags,0), "64-bit Wake Supported (V2)", 0}, 350a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FACS_OFFSET (XFirmwareWakingVector), "64 Firmware Waking Vector", 0}, 351a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FACS_OFFSET (Version), "Version", 0}, 352a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved[0]), "Reserved", 0}, 353a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (OspmFlags), "OspmFlags (decoded below)", DT_FLAG}, 354a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (OspmFlags,0), "64-bit Wake Env Required (V2)", 0}, 355a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 3561a39cfb0SJung-uk Kim }; 3571a39cfb0SJung-uk Kim 3581a39cfb0SJung-uk Kim 3591a39cfb0SJung-uk Kim /******************************************************************************* 3601a39cfb0SJung-uk Kim * 3611a39cfb0SJung-uk Kim * FADT - Fixed ACPI Description Table (Signature is FACP) 3621a39cfb0SJung-uk Kim * 3631a39cfb0SJung-uk Kim ******************************************************************************/ 3641a39cfb0SJung-uk Kim 365a9f12690SJung-uk Kim /* ACPI 1.0 FADT (Version 1) */ 366a9f12690SJung-uk Kim 3671a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] = 3681a39cfb0SJung-uk Kim { 369a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address", 0}, 370a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", DT_NON_ZERO}, 371a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model", 0}, 372a88e22b7SJung-uk Kim {ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile", 0}, 373a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt", 0}, 374a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (SmiCommand), "SMI Command Port", 0}, 375a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiEnable), "ACPI Enable Value", 0}, 376a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiDisable), "ACPI Disable Value", 0}, 377a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (S4BiosRequest), "S4BIOS Command", 0}, 378a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PstateControl), "P-State Control", 0}, 379a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aEventBlock), "PM1A Event Block Address", 0}, 380a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bEventBlock), "PM1B Event Block Address", 0}, 381a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aControlBlock), "PM1A Control Block Address", 0}, 382a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bControlBlock), "PM1B Control Block Address", 0}, 383a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm2ControlBlock), "PM2 Control Block Address", 0}, 384a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (PmTimerBlock), "PM Timer Block Address", 0}, 385a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe0Block), "GPE0 Block Address", 0}, 386a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe1Block), "GPE1 Block Address", 0}, 387a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1EventLength), "PM1 Event Block Length", 0}, 388a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1ControlLength), "PM1 Control Block Length", 0}, 389a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm2ControlLength), "PM2 Control Block Length", 0}, 390a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PmTimerLength), "PM Timer Block Length", 0}, 391a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe0BlockLength), "GPE0 Block Length", 0}, 392a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1BlockLength), "GPE1 Block Length", 0}, 393a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1Base), "GPE1 Base Offset", 0}, 394a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (CstControl), "_CST Support", 0}, 395a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C2Latency), "C2 Latency", 0}, 396a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C3Latency), "C3 Latency", 0}, 397a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushSize), "CPU Cache Size", 0}, 398a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushStride), "Cache Flush Stride", 0}, 399a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyOffset), "Duty Cycle Offset", 0}, 400a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyWidth), "Duty Cycle Width", 0}, 401a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DayAlarm), "RTC Day Alarm Index", 0}, 402a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MonthAlarm), "RTC Month Alarm Index", 0}, 403a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Century), "RTC Century Index", 0}, 404a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (BootFlags), "Boot Flags (decoded below)", DT_FLAG}, 405a9f12690SJung-uk Kim 406a9f12690SJung-uk Kim /* Boot Architecture Flags byte 0 */ 407a9f12690SJung-uk Kim 408a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "Legacy Devices Supported (V2)", 0}, 409a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "8042 Present on ports 60/64 (V2)", 0}, 410a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "VGA Not Present (V4)", 0}, 411a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "MSI Not Supported (V4)", 0}, 412a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "PCIe ASPM Not Supported (V4)", 0}, 413ec3fc72fSJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "CMOS RTC Not Present (V5)", 0}, 414a9f12690SJung-uk Kim 415a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Reserved), "Reserved", 0}, 416a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 4171a39cfb0SJung-uk Kim 4181a39cfb0SJung-uk Kim /* Flags byte 0 */ 4191a39cfb0SJung-uk Kim 420a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD instruction is operational (V1)", 0}, 421a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD flushes all caches (V1)", 0}, 422a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,0), "All CPUs support C1 (V1)", 0}, 423a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,0), "C2 works on MP system (V1)", 0}, 424a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Power Button (V1)", 0}, 425a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Sleep Button (V1)", 0}, 426a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC wake not in fixed reg space (V1)", 0}, 427a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC can wake system from S4 (V1)", 0}, 4281a39cfb0SJung-uk Kim 4291a39cfb0SJung-uk Kim /* Flags byte 1 */ 4301a39cfb0SJung-uk Kim 431a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,1), "32-bit PM Timer (V1)", 0}, 432a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,1), "Docking Supported (V1)", 0}, 433a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,1), "Reset Register Supported (V2)", 0}, 434a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,1), "Sealed Case (V3)", 0}, 435a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,1), "Headless - No Video (V3)", 0}, 436a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use native instr after SLP_TYPx (V3)", 0}, 437a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,1), "PCIEXP_WAK Bits Supported (V4)", 0}, 438a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use Platform Timer (V4)", 0}, 4391a39cfb0SJung-uk Kim 4401a39cfb0SJung-uk Kim /* Flags byte 2 */ 4411a39cfb0SJung-uk Kim 442a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,2), "RTC_STS valid on S4 wake (V4)", 0}, 443a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,2), "Remote Power-on capable (V4)", 0}, 444a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Cluster Model (V4)", 0}, 445a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Physical Destination Mode (V4)", 0}, 4463f0275a0SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,2), "Hardware Reduced (V5)", 0}, 447ec3fc72fSJung-uk Kim {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,2), "Low Power S0 Idle (V5)", 0}, 448a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 449a9f12690SJung-uk Kim }; 4501a39cfb0SJung-uk Kim 451a9f12690SJung-uk Kim /* ACPI 1.0 MS Extensions (FADT version 2) */ 452a9f12690SJung-uk Kim 453a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[] = 454a9f12690SJung-uk Kim { 455a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, 456a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, 457*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (ArmBootFlags), "Reserved", 0}, 458*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MinorRevision), "Reserved", 0}, 459a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 460a9f12690SJung-uk Kim }; 461a9f12690SJung-uk Kim 462*313a0c13SJung-uk Kim /* ACPI 2.0+ Extensions (FADT version 3, 4, and 5) */ 463a9f12690SJung-uk Kim 464a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[] = 465a9f12690SJung-uk Kim { 466a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, 467a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, 468*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (ArmBootFlags), "ARM Flags (decoded below)", DT_FLAG}, 469*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0), "PSCI Compliant", 0}, 470*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET(ArmBootFlags,0), "Must use HVC for PSCI", 0}, 471*313a0c13SJung-uk Kim ACPI_DMT_NEW_LINE, 472*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MinorRevision), "FADT Minor Revision", 0}, 473a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XFacs), "FACS Address", 0}, 474a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XDsdt), "DSDT Address", 0}, 475a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aEventBlock), "PM1A Event Block", 0}, 476a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bEventBlock), "PM1B Event Block", 0}, 477a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aControlBlock), "PM1A Control Block", 0}, 478a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bControlBlock), "PM1B Control Block", 0}, 479a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm2ControlBlock), "PM2 Control Block", 0}, 480a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPmTimerBlock), "PM Timer Block", 0}, 481a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe0Block), "GPE0 Block", 0}, 482a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe1Block), "GPE1 Block", 0}, 483a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 4841a39cfb0SJung-uk Kim }; 4851a39cfb0SJung-uk Kim 4863f0275a0SJung-uk Kim /* ACPI 5.0 Extensions (FADT version 5) */ 4873f0275a0SJung-uk Kim 4883f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[] = 4893f0275a0SJung-uk Kim { 490ec3fc72fSJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepControl), "Sleep Control Register", 0}, 491ec3fc72fSJung-uk Kim {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepStatus), "Sleep Status Register", 0}, 4923f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 4933f0275a0SJung-uk Kim }; 4943f0275a0SJung-uk Kim 4951a39cfb0SJung-uk Kim 4961a39cfb0SJung-uk Kim /* 4971a39cfb0SJung-uk Kim * Remaining tables are not consumed directly by the ACPICA subsystem 4981a39cfb0SJung-uk Kim */ 4991a39cfb0SJung-uk Kim 5001a39cfb0SJung-uk Kim /******************************************************************************* 5011a39cfb0SJung-uk Kim * 5021a39cfb0SJung-uk Kim * ASF - Alert Standard Format table (Signature "ASF!") 5031a39cfb0SJung-uk Kim * 5041a39cfb0SJung-uk Kim ******************************************************************************/ 5051a39cfb0SJung-uk Kim 506a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 5071a39cfb0SJung-uk Kim 5081a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[] = 5091a39cfb0SJung-uk Kim { 510a88e22b7SJung-uk Kim {ACPI_DMT_ASF, ACPI_ASF0_OFFSET (Header.Type), "Subtable Type", 0}, 511a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Header.Reserved), "Reserved", 0}, 512a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (Header.Length), "Length", DT_LENGTH}, 513a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5141a39cfb0SJung-uk Kim }; 5151a39cfb0SJung-uk Kim 5161a39cfb0SJung-uk Kim /* 0: ASF Information */ 5171a39cfb0SJung-uk Kim 5181a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[] = 5191a39cfb0SJung-uk Kim { 520a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Reset Value", 0}, 521a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinPollInterval), "Minimum Polling Interval", 0}, 522a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (SystemId), "System ID", 0}, 523a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (MfgId), "Manufacturer ID", 0}, 524a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Flags), "Flags", 0}, 525a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_ASF0_OFFSET (Reserved2[0]), "Reserved", 0}, 526a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5271a39cfb0SJung-uk Kim }; 5281a39cfb0SJung-uk Kim 5291a39cfb0SJung-uk Kim /* 1: ASF Alerts */ 5301a39cfb0SJung-uk Kim 5311a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[] = 5321a39cfb0SJung-uk Kim { 533a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (AssertMask), "AssertMask", 0}, 534a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DeassertMask), "DeassertMask", 0}, 535a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (Alerts), "Alert Count", 0}, 536a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DataLength), "Alert Data Length", 0}, 537a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5381a39cfb0SJung-uk Kim }; 5391a39cfb0SJung-uk Kim 5401a39cfb0SJung-uk Kim /* 1a: ASF Alert data */ 5411a39cfb0SJung-uk Kim 5421a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[] = 5431a39cfb0SJung-uk Kim { 544a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Address), "Address", 0}, 545a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Command), "Command", 0}, 546a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Mask), "Mask", 0}, 547a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Value), "Value", 0}, 548a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorType), "SensorType", 0}, 549a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Type), "Type", 0}, 550a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Offset), "Offset", 0}, 551a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SourceType), "SourceType", 0}, 552a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Severity), "Severity", 0}, 553a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorNumber), "SensorNumber", 0}, 554a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Entity), "Entity", 0}, 555a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Instance), "Instance", 0}, 556a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5571a39cfb0SJung-uk Kim }; 5581a39cfb0SJung-uk Kim 5591a39cfb0SJung-uk Kim /* 2: ASF Remote Control */ 5601a39cfb0SJung-uk Kim 5611a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[] = 5621a39cfb0SJung-uk Kim { 563a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (Controls), "Control Count", 0}, 564a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (DataLength), "Control Data Length", 0}, 565a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF2_OFFSET (Reserved2), "Reserved", 0}, 566a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5671a39cfb0SJung-uk Kim }; 5681a39cfb0SJung-uk Kim 5691a39cfb0SJung-uk Kim /* 2a: ASF Control data */ 5701a39cfb0SJung-uk Kim 5711a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[] = 5721a39cfb0SJung-uk Kim { 573a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Function), "Function", 0}, 574a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Address), "Address", 0}, 575a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Command), "Command", 0}, 576a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Value), "Value", 0}, 577a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5781a39cfb0SJung-uk Kim }; 5791a39cfb0SJung-uk Kim 5801a39cfb0SJung-uk Kim /* 3: ASF RMCP Boot Options */ 5811a39cfb0SJung-uk Kim 5821a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[] = 5831a39cfb0SJung-uk Kim { 5840b94ba42SJung-uk Kim {ACPI_DMT_BUF7, ACPI_ASF3_OFFSET (Capabilities[0]), "Capabilities", 0}, 585a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (CompletionCode), "Completion Code", 0}, 586a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ASF3_OFFSET (EnterpriseId), "Enterprise ID", 0}, 587a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (Command), "Command", 0}, 588a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (Parameter), "Parameter", 0}, 589a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (BootOptions), "Boot Options", 0}, 590a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (OemParameters), "Oem Parameters", 0}, 591a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 5921a39cfb0SJung-uk Kim }; 5931a39cfb0SJung-uk Kim 5941a39cfb0SJung-uk Kim /* 4: ASF Address */ 5951a39cfb0SJung-uk Kim 5961a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[] = 5971a39cfb0SJung-uk Kim { 598a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (EpromAddress), "Eprom Address", 0}, 599a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (Devices), "Device Count", DT_COUNT}, 600a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 6011a39cfb0SJung-uk Kim }; 6021a39cfb0SJung-uk Kim 6031a39cfb0SJung-uk Kim 6041a39cfb0SJung-uk Kim /******************************************************************************* 6051a39cfb0SJung-uk Kim * 606a9f12690SJung-uk Kim * BERT - Boot Error Record table 607a9f12690SJung-uk Kim * 608a9f12690SJung-uk Kim ******************************************************************************/ 609a9f12690SJung-uk Kim 610a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBert[] = 611a9f12690SJung-uk Kim { 612a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BERT_OFFSET (RegionLength), "Boot Error Region Length", 0}, 613a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_BERT_OFFSET (Address), "Boot Error Region Address", 0}, 614a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 615a9f12690SJung-uk Kim }; 616a9f12690SJung-uk Kim 617a9f12690SJung-uk Kim 618a9f12690SJung-uk Kim /******************************************************************************* 619a9f12690SJung-uk Kim * 6203f0275a0SJung-uk Kim * BGRT - Boot Graphics Resource Table (ACPI 5.0) 6213f0275a0SJung-uk Kim * 6223f0275a0SJung-uk Kim ******************************************************************************/ 6233f0275a0SJung-uk Kim 6243f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[] = 6253f0275a0SJung-uk Kim { 6263f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_BGRT_OFFSET (Version), "Version", 0}, 6273f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BGRT_OFFSET (Status), "Status", 0}, 6283f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BGRT_OFFSET (ImageType), "Image Type", 0}, 6293f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_BGRT_OFFSET (ImageAddress), "Image Address", 0}, 6303f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BGRT_OFFSET (ImageOffsetX), "Image OffsetX", 0}, 6313f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_BGRT_OFFSET (ImageOffsetY), "Image OffsetY", 0}, 6323f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 6333f0275a0SJung-uk Kim }; 6343f0275a0SJung-uk Kim 6353f0275a0SJung-uk Kim 6363f0275a0SJung-uk Kim /******************************************************************************* 6373f0275a0SJung-uk Kim * 6381a39cfb0SJung-uk Kim * BOOT - Simple Boot Flag Table 6391a39cfb0SJung-uk Kim * 6401a39cfb0SJung-uk Kim ******************************************************************************/ 6411a39cfb0SJung-uk Kim 6421a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[] = 6431a39cfb0SJung-uk Kim { 644a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_BOOT_OFFSET (CmosIndex), "Boot Register Index", 0}, 645a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_BOOT_OFFSET (Reserved[0]), "Reserved", 0}, 646a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 6471a39cfb0SJung-uk Kim }; 6481a39cfb0SJung-uk Kim 6491a39cfb0SJung-uk Kim 6501a39cfb0SJung-uk Kim /******************************************************************************* 6511a39cfb0SJung-uk Kim * 6521a39cfb0SJung-uk Kim * CPEP - Corrected Platform Error Polling table 6531a39cfb0SJung-uk Kim * 6541a39cfb0SJung-uk Kim ******************************************************************************/ 6551a39cfb0SJung-uk Kim 6561a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[] = 6571a39cfb0SJung-uk Kim { 658a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_CPEP_OFFSET (Reserved), "Reserved", 0}, 659a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 6601a39cfb0SJung-uk Kim }; 6611a39cfb0SJung-uk Kim 6621a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[] = 6631a39cfb0SJung-uk Kim { 664a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Type), "Subtable Type", 0}, 665a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Length), "Length", DT_LENGTH}, 666a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Id), "Processor ID", 0}, 667a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Eid), "Processor EID", 0}, 668a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CPEP0_OFFSET (Interval), "Polling Interval", 0}, 669a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 6701a39cfb0SJung-uk Kim }; 6711a39cfb0SJung-uk Kim 6721a39cfb0SJung-uk Kim 6731a39cfb0SJung-uk Kim /******************************************************************************* 6741a39cfb0SJung-uk Kim * 6751df130f1SJung-uk Kim * CSRT - Core System Resource Table 6761df130f1SJung-uk Kim * 6771df130f1SJung-uk Kim ******************************************************************************/ 6781df130f1SJung-uk Kim 6791df130f1SJung-uk Kim /* Main table consists only of the standard ACPI table header */ 6801df130f1SJung-uk Kim 6811df130f1SJung-uk Kim /* Resource Group subtable */ 6821df130f1SJung-uk Kim 6831df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[] = 6841df130f1SJung-uk Kim { 6851df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (Length), "Length", 0}, 6861df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (VendorId), "Vendor ID", 0}, 6871df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (SubvendorId), "Subvendor ID", 0}, 6881df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (DeviceId), "Device ID", 0}, 6891df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (SubdeviceId), "Subdevice ID", 0}, 6901df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Revision), "Revision", 0}, 6911df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Reserved), "Reserved", 0}, 692efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (SharedInfoLength), "Shared Info Length", 0}, 6931df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 6941df130f1SJung-uk Kim }; 6951df130f1SJung-uk Kim 696efcc2a30SJung-uk Kim /* Shared Info subtable */ 6971df130f1SJung-uk Kim 6981df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[] = 6991df130f1SJung-uk Kim { 700efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (MajorVersion), "Major Version", 0}, 701efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (MinorVersion), "Minor Version", 0}, 702efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MmioBaseLow), "MMIO Base Address Low", 0}, 703efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MmioBaseHigh), "MMIO Base Address High", 0}, 704efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (GsiInterrupt), "GSI Interrupt", 0}, 705efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (InterruptPolarity), "Interrupt Polarity", 0}, 706efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (InterruptMode), "Interrupt Mode", 0}, 707efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (NumChannels), "Num Channels", 0}, 708efcc2a30SJung-uk Kim {ACPI_DMT_UINT8, ACPI_CSRT1_OFFSET (DmaAddressWidth), "DMA Address Width", 0}, 709efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (BaseRequestLine), "Base Request Line", 0}, 710efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (NumHandshakeSignals), "Num Handshake Signals", 0}, 711efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (MaxBlockSize), "Max Block Size", 0}, 712efcc2a30SJung-uk Kim ACPI_DMT_TERMINATOR 713efcc2a30SJung-uk Kim }; 714efcc2a30SJung-uk Kim 715efcc2a30SJung-uk Kim 716efcc2a30SJung-uk Kim /* Resource Descriptor subtable */ 717efcc2a30SJung-uk Kim 718efcc2a30SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[] = 719efcc2a30SJung-uk Kim { 720efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT2_OFFSET (Length), "Length", 0}, 721efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT2_OFFSET (Type), "Type", 0}, 722efcc2a30SJung-uk Kim {ACPI_DMT_UINT16, ACPI_CSRT2_OFFSET (Subtype), "Subtype", 0}, 723efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_CSRT2_OFFSET (Uid), "UID", 0}, 7241df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7251df130f1SJung-uk Kim }; 7261df130f1SJung-uk Kim 7271df130f1SJung-uk Kim 7281df130f1SJung-uk Kim /******************************************************************************* 7291df130f1SJung-uk Kim * 7301df130f1SJung-uk Kim * DBG2 - Debug Port Table 2 7311df130f1SJung-uk Kim * 7321df130f1SJung-uk Kim ******************************************************************************/ 7331df130f1SJung-uk Kim 7341df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[] = 7351df130f1SJung-uk Kim { 7361df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoOffset), "Info Offset", 0}, 7371df130f1SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoCount), "Info Count", 0}, 7381df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7391df130f1SJung-uk Kim }; 7401df130f1SJung-uk Kim 7411df130f1SJung-uk Kim /* Debug Device Information Subtable */ 7421df130f1SJung-uk Kim 7431df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[] = 7441df130f1SJung-uk Kim { 7451df130f1SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (Revision), "Revision", 0}, 746*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Length), "Length", DT_LENGTH}, 7471df130f1SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (RegisterCount), "Register Count", 0}, 7481df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathLength), "Namepath Length", 0}, 7491df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathOffset), "Namepath Offset", 0}, 750*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataLength), "OEM Data Length", DT_DESCRIBES_OPTIONAL}, 751*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataOffset), "OEM Data Offset", DT_DESCRIBES_OPTIONAL}, 7521df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortType), "Port Type", 0}, 7531df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortSubtype), "Port Subtype", 0}, 7541df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Reserved), "Reserved", 0}, 7551df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (BaseAddressOffset), "Base Address Offset", 0}, 7561df130f1SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (AddressSizeOffset), "Address Size Offset", 0}, 7571df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7581df130f1SJung-uk Kim }; 7591df130f1SJung-uk Kim 7601df130f1SJung-uk Kim /* Variable-length data for the subtable */ 7611df130f1SJung-uk Kim 7621df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[] = 7631df130f1SJung-uk Kim { 7641df130f1SJung-uk Kim {ACPI_DMT_GAS, 0, "Base Address Register", 0}, 7651df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7661df130f1SJung-uk Kim }; 7671df130f1SJung-uk Kim 7681df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[] = 7691df130f1SJung-uk Kim { 7701df130f1SJung-uk Kim {ACPI_DMT_UINT32, 0, "Address Size", 0}, 7711df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7721df130f1SJung-uk Kim }; 7731df130f1SJung-uk Kim 7741df130f1SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[] = 7751df130f1SJung-uk Kim { 7761df130f1SJung-uk Kim {ACPI_DMT_STRING, 0, "Namepath", 0}, 7771df130f1SJung-uk Kim ACPI_DMT_TERMINATOR 7781df130f1SJung-uk Kim }; 7791df130f1SJung-uk Kim 780*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[] = 781*313a0c13SJung-uk Kim { 782*313a0c13SJung-uk Kim {ACPI_DMT_BUFFER, 0, "OEM Data", DT_OPTIONAL}, 783*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 784*313a0c13SJung-uk Kim }; 785*313a0c13SJung-uk Kim 7861df130f1SJung-uk Kim 7871df130f1SJung-uk Kim /******************************************************************************* 7881df130f1SJung-uk Kim * 7891a39cfb0SJung-uk Kim * DBGP - Debug Port 7901a39cfb0SJung-uk Kim * 7911a39cfb0SJung-uk Kim ******************************************************************************/ 7921a39cfb0SJung-uk Kim 7931a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[] = 7941a39cfb0SJung-uk Kim { 795a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DBGP_OFFSET (Type), "Interface Type", 0}, 796a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_DBGP_OFFSET (Reserved[0]), "Reserved", 0}, 797a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_DBGP_OFFSET (DebugPort), "Debug Port Register", 0}, 798a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 7991a39cfb0SJung-uk Kim }; 8001a39cfb0SJung-uk Kim 8011a39cfb0SJung-uk Kim 8021a39cfb0SJung-uk Kim /******************************************************************************* 8031a39cfb0SJung-uk Kim * 8041a39cfb0SJung-uk Kim * DMAR - DMA Remapping table 8051a39cfb0SJung-uk Kim * 8061a39cfb0SJung-uk Kim ******************************************************************************/ 8071a39cfb0SJung-uk Kim 8081a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[] = 8091a39cfb0SJung-uk Kim { 810a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Width), "Host Address Width", 0}, 811a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Flags), "Flags", 0}, 8128d744e47SJung-uk Kim {ACPI_DMT_BUF10, ACPI_DMAR_OFFSET (Reserved[0]), "Reserved", 0}, 813a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8141a39cfb0SJung-uk Kim }; 8151a39cfb0SJung-uk Kim 816a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 8171a39cfb0SJung-uk Kim 8181a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[] = 8191a39cfb0SJung-uk Kim { 820a88e22b7SJung-uk Kim {ACPI_DMT_DMAR, ACPI_DMAR0_OFFSET (Header.Type), "Subtable Type", 0}, 821a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Header.Length), "Length", DT_LENGTH}, 822a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8231a39cfb0SJung-uk Kim }; 8241a39cfb0SJung-uk Kim 8251a39cfb0SJung-uk Kim /* Common device scope entry */ 8261a39cfb0SJung-uk Kim 8271a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[] = 8281a39cfb0SJung-uk Kim { 829*313a0c13SJung-uk Kim {ACPI_DMT_DMAR_SCOPE, ACPI_DMARS_OFFSET (EntryType), "Device Scope Type", 0}, 830a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Length), "Entry Length", DT_LENGTH}, 831a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMARS_OFFSET (Reserved), "Reserved", 0}, 832a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EnumerationId), "Enumeration ID", 0}, 833a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Bus), "PCI Bus Number", 0}, 834a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8351a39cfb0SJung-uk Kim }; 8361a39cfb0SJung-uk Kim 837a9f12690SJung-uk Kim /* DMAR Subtables */ 8381a39cfb0SJung-uk Kim 8391a39cfb0SJung-uk Kim /* 0: Hardware Unit Definition */ 8401a39cfb0SJung-uk Kim 8411a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[] = 8421a39cfb0SJung-uk Kim { 843a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Flags), "Flags", 0}, 844a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Reserved), "Reserved", 0}, 845a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Segment), "PCI Segment Number", 0}, 846a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR0_OFFSET (Address), "Register Base Address", 0}, 847a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8481a39cfb0SJung-uk Kim }; 8491a39cfb0SJung-uk Kim 850a9f12690SJung-uk Kim /* 1: Reserved Memory Definition */ 8511a39cfb0SJung-uk Kim 8521a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[] = 8531a39cfb0SJung-uk Kim { 854a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Reserved), "Reserved", 0}, 855a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Segment), "PCI Segment Number", 0}, 856a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (BaseAddress), "Base Address", 0}, 857a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (EndAddress), "End Address (limit)", 0}, 858a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 8591a39cfb0SJung-uk Kim }; 8601a39cfb0SJung-uk Kim 861a9f12690SJung-uk Kim /* 2: Root Port ATS Capability Definition */ 862a9f12690SJung-uk Kim 863a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[] = 864a9f12690SJung-uk Kim { 865a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Flags), "Flags", 0}, 866a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Reserved), "Reserved", 0}, 867a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_DMAR2_OFFSET (Segment), "PCI Segment Number", 0}, 868a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 869a9f12690SJung-uk Kim }; 870a9f12690SJung-uk Kim 871d6dd1baeSJung-uk Kim /* 3: Remapping Hardware Static Affinity Structure */ 872d6dd1baeSJung-uk Kim 873d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[] = 874d6dd1baeSJung-uk Kim { 875a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (Reserved), "Reserved", 0}, 876a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_DMAR3_OFFSET (BaseAddress), "Base Address", 0}, 877a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (ProximityDomain), "Proximity Domain", 0}, 878a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 879d6dd1baeSJung-uk Kim }; 880d6dd1baeSJung-uk Kim 881*313a0c13SJung-uk Kim /* 4: ACPI Namespace Device Declaration Structure */ 882*313a0c13SJung-uk Kim 883*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] = 884*313a0c13SJung-uk Kim { 885*313a0c13SJung-uk Kim {ACPI_DMT_UINT24, ACPI_DMAR4_OFFSET (Reserved[0]), "Reserved", 0}, 886*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_DMAR4_OFFSET (DeviceNumber), "Device Number", 0}, 887*313a0c13SJung-uk Kim {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (DeviceName[0]), "Device Name", 0}, 888*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 889*313a0c13SJung-uk Kim }; 890*313a0c13SJung-uk Kim 8911a39cfb0SJung-uk Kim 8921a39cfb0SJung-uk Kim /******************************************************************************* 8931a39cfb0SJung-uk Kim * 8943f0275a0SJung-uk Kim * DRTM - Dynamic Root of Trust for Measurement table 8953f0275a0SJung-uk Kim * 8963f0275a0SJung-uk Kim ******************************************************************************/ 8973f0275a0SJung-uk Kim 8983f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[] = 8993f0275a0SJung-uk Kim { 9003f0275a0SJung-uk Kim 9013f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 9023f0275a0SJung-uk Kim }; 9033f0275a0SJung-uk Kim 9043f0275a0SJung-uk Kim 9053f0275a0SJung-uk Kim /******************************************************************************* 9063f0275a0SJung-uk Kim * 9071a39cfb0SJung-uk Kim * ECDT - Embedded Controller Boot Resources Table 9081a39cfb0SJung-uk Kim * 9091a39cfb0SJung-uk Kim ******************************************************************************/ 9101a39cfb0SJung-uk Kim 9111a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[] = 9121a39cfb0SJung-uk Kim { 913a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Control), "Command/Status Register", 0}, 914a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Data), "Data Register", 0}, 915a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ECDT_OFFSET (Uid), "UID", 0}, 916a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ECDT_OFFSET (Gpe), "GPE Number", 0}, 917a88e22b7SJung-uk Kim {ACPI_DMT_STRING, ACPI_ECDT_OFFSET (Id[0]), "Namepath", 0}, 918a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 9191a39cfb0SJung-uk Kim }; 9201a39cfb0SJung-uk Kim 9211a39cfb0SJung-uk Kim 9221a39cfb0SJung-uk Kim /******************************************************************************* 9231a39cfb0SJung-uk Kim * 924a9f12690SJung-uk Kim * EINJ - Error Injection table 925a9f12690SJung-uk Kim * 926a9f12690SJung-uk Kim ******************************************************************************/ 927a9f12690SJung-uk Kim 928a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[] = 929a9f12690SJung-uk Kim { 930a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (HeaderLength), "Injection Header Length", 0}, 931a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ_OFFSET (Flags), "Flags", 0}, 932a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_EINJ_OFFSET (Reserved[0]), "Reserved", 0}, 933a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Entries), "Injection Entry Count", 0}, 934a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 935a9f12690SJung-uk Kim }; 936a9f12690SJung-uk Kim 937a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[] = 938a9f12690SJung-uk Kim { 939a88e22b7SJung-uk Kim {ACPI_DMT_EINJACT, ACPI_EINJ0_OFFSET (Action), "Action", 0}, 940a88e22b7SJung-uk Kim {ACPI_DMT_EINJINST, ACPI_EINJ0_OFFSET (Instruction), "Instruction", 0}, 941a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 942a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_EINJ0_FLAG_OFFSET (Flags,0), "Preserve Register Bits", 0}, 943a88e22b7SJung-uk Kim 944a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Reserved), "Reserved", 0}, 945a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_EINJ0_OFFSET (RegisterRegion), "Register Region", 0}, 946a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Value), "Value", 0}, 947a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Mask), "Mask", 0}, 948a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 949a9f12690SJung-uk Kim }; 950a9f12690SJung-uk Kim 951a9f12690SJung-uk Kim 952a9f12690SJung-uk Kim /******************************************************************************* 953a9f12690SJung-uk Kim * 954a9f12690SJung-uk Kim * ERST - Error Record Serialization table 955a9f12690SJung-uk Kim * 956a9f12690SJung-uk Kim ******************************************************************************/ 957a9f12690SJung-uk Kim 958a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoErst[] = 959a9f12690SJung-uk Kim { 960a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (HeaderLength), "Serialization Header Length", 0}, 961a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (Reserved), "Reserved", 0}, 962a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (Entries), "Instruction Entry Count", 0}, 963a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 964a88e22b7SJung-uk Kim }; 965a88e22b7SJung-uk Kim 966a88e22b7SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[] = 967a88e22b7SJung-uk Kim { 968a88e22b7SJung-uk Kim {ACPI_DMT_ERSTACT, ACPI_ERST0_OFFSET (Action), "Action", 0}, 969a88e22b7SJung-uk Kim {ACPI_DMT_ERSTINST, ACPI_ERST0_OFFSET (Instruction), "Instruction", 0}, 970a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ERST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 971a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_ERST0_FLAG_OFFSET (Flags,0), "Preserve Register Bits", 0}, 972a88e22b7SJung-uk Kim 973a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_ERST0_OFFSET (Reserved), "Reserved", 0}, 974a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_ERST0_OFFSET (RegisterRegion), "Register Region", 0}, 975a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_ERST0_OFFSET (Value), "Value", 0}, 976a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_ERST0_OFFSET (Mask), "Mask", 0}, 977a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 978a9f12690SJung-uk Kim }; 979a9f12690SJung-uk Kim 980a9f12690SJung-uk Kim 981a9f12690SJung-uk Kim /******************************************************************************* 982a9f12690SJung-uk Kim * 9833f0275a0SJung-uk Kim * FPDT - Firmware Performance Data Table (ACPI 5.0) 9843f0275a0SJung-uk Kim * 9853f0275a0SJung-uk Kim ******************************************************************************/ 9863f0275a0SJung-uk Kim 9873f0275a0SJung-uk Kim /* Main table consists of only the standard ACPI header - subtables follow */ 9883f0275a0SJung-uk Kim 9893f0275a0SJung-uk Kim /* FPDT subtable header */ 9903f0275a0SJung-uk Kim 9913f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[] = 9923f0275a0SJung-uk Kim { 9933f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_FPDTH_OFFSET (Type), "Subtable Type", 0}, 9943f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FPDTH_OFFSET (Length), "Length", DT_LENGTH}, 9953f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_FPDTH_OFFSET (Revision), "Revision", 0}, 9963f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 9973f0275a0SJung-uk Kim }; 9983f0275a0SJung-uk Kim 9993f0275a0SJung-uk Kim /* 0: Firmware Basic Boot Performance Record */ 10003f0275a0SJung-uk Kim 10013f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[] = 10023f0275a0SJung-uk Kim { 10033f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FPDT0_OFFSET (Reserved), "Reserved", 0}, 10043f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ResetEnd), "Reset End", 0}, 10053f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (LoadStart), "Load Image Start", 0}, 10063f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (StartupStart), "Start Image Start", 0}, 10073f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ExitServicesEntry), "Exit Services Entry", 0}, 10083f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT0_OFFSET (ExitServicesExit), "Exit Services Exit", 0}, 10093f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 10103f0275a0SJung-uk Kim }; 10113f0275a0SJung-uk Kim 10123f0275a0SJung-uk Kim /* 1: S3 Performance Table Pointer Record */ 10133f0275a0SJung-uk Kim 10143f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[] = 10153f0275a0SJung-uk Kim { 10163f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_FPDT1_OFFSET (Reserved), "Reserved", 0}, 10173f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_FPDT1_OFFSET (Address), "S3PT Address", 0}, 10183f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 10193f0275a0SJung-uk Kim }; 10203f0275a0SJung-uk Kim 10213f0275a0SJung-uk Kim 10223f0275a0SJung-uk Kim /******************************************************************************* 10233f0275a0SJung-uk Kim * 10243f0275a0SJung-uk Kim * GTDT - Generic Timer Description Table 10253f0275a0SJung-uk Kim * 10263f0275a0SJung-uk Kim ******************************************************************************/ 10273f0275a0SJung-uk Kim 10283f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[] = 10293f0275a0SJung-uk Kim { 1030*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT_OFFSET (CounterBlockAddresss), "Counter Block Address", 0}, 1031*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (Reserved), "Reserved", 0}, 10323f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1033*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (SecureEl1Interrupt), "Secure EL1 Interrupt", 0}, 1034*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (SecureEl1Flags), "EL1 Flags (decoded below)", DT_FLAG}, 1035*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Trigger Mode", 0}, 1036*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Polarity", 0}, 1037*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0), "Always On", 0}, 10383f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1039*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl1Interrupt), "Non-Secure EL1 Interrupt", 0}, 1040*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl1Flags), "NEL1 Flags (decoded below)", DT_FLAG}, 1041*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Trigger Mode", 0}, 1042*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Polarity", 0}, 1043*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Always On", 0}, 10443f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 10453f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (VirtualTimerInterrupt), "Virtual Timer Interrupt", 0}, 10463f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (VirtualTimerFlags), "VT Flags (decoded below)", DT_FLAG}, 10473f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Trigger Mode", 0}, 10483f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Polarity", 0}, 1049*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Always On", 0}, 10503f0275a0SJung-uk Kim ACPI_DMT_NEW_LINE, 1051*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl2Interrupt), "Non-Secure EL2 Interrupt", 0}, 1052*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (NonSecureEl2Flags), "NEL2 Flags (decoded below)", DT_FLAG}, 1053*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Trigger Mode", 0}, 1054*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Polarity", 0}, 1055*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Always On", 0}, 1056*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT_OFFSET (CounterReadBlockAddress), "Counter Read Block Address", 0}, 1057*313a0c13SJung-uk Kim ACPI_DMT_NEW_LINE, 1058*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (PlatformTimerCount), "Platform Timer Count", 0}, 1059*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT_OFFSET (PlatformTimerOffset), "Platform Timer Offset", 0}, 1060*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1061*313a0c13SJung-uk Kim }; 1062*313a0c13SJung-uk Kim 1063*313a0c13SJung-uk Kim /* GTDT Subtable header (one per Subtable) */ 1064*313a0c13SJung-uk Kim 1065*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[] = 1066*313a0c13SJung-uk Kim { 1067*313a0c13SJung-uk Kim {ACPI_DMT_GTDT, ACPI_GTDTH_OFFSET (Type), "Subtable Type", 0}, 1068*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_GTDTH_OFFSET (Length), "Length", DT_LENGTH}, 1069*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1070*313a0c13SJung-uk Kim }; 1071*313a0c13SJung-uk Kim 1072*313a0c13SJung-uk Kim /* GTDT Subtables */ 1073*313a0c13SJung-uk Kim 1074*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[] = 1075*313a0c13SJung-uk Kim { 1076*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GTDT0_OFFSET (Reserved), "Reserved", 0}, 1077*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0_OFFSET (BlockAddress), "Block Address", 0}, 1078*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0_OFFSET (TimerCount), "Timer Count", 0}, 1079*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0_OFFSET (TimerOffset), "Timer Offset", 0}, 1080*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1081*313a0c13SJung-uk Kim }; 1082*313a0c13SJung-uk Kim 1083*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[] = 1084*313a0c13SJung-uk Kim { 1085*313a0c13SJung-uk Kim {ACPI_DMT_UINT8 , ACPI_GTDT0a_OFFSET (FrameNumber), "Frame Number", 0}, 1086*313a0c13SJung-uk Kim {ACPI_DMT_UINT24, ACPI_GTDT0a_OFFSET (Reserved[0]), "Reserved", 0}, 1087*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0a_OFFSET (BaseAddress), "Base Address", 0}, 1088*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT0a_OFFSET (El0BaseAddress), "EL0 Base Address", 0}, 1089*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (TimerInterrupt), "Timer Interrupt", 0}, 1090*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (TimerFlags), "Timer Flags (decoded below)", 0}, 1091*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0), "Trigger Mode", 0}, 1092*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0), "Polarity", 0}, 1093*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (VirtualTimerInterrupt), "Virtual Timer Interrupt", 0}, 1094*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (VirtualTimerFlags), "Virtual Timer Flags (decoded below)", 0}, 1095*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0), "Trigger Mode", 0}, 1096*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0), "Polarity", 0}, 1097*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT0a_OFFSET (CommonFlags), "Common Flags (decoded below)", 0}, 1098*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0), "Secure", 0}, 1099*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0), "Always On", 0}, 1100*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1101*313a0c13SJung-uk Kim }; 1102*313a0c13SJung-uk Kim 1103*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[] = 1104*313a0c13SJung-uk Kim { 1105*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_GTDT1_OFFSET (Reserved), "Reserved", 0}, 1106*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT1_OFFSET (RefreshFrameAddress), "Refresh Frame Address", 0}, 1107*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_GTDT1_OFFSET (ControlFrameAddress), "Control Frame Address", 0}, 1108*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT1_OFFSET (TimerInterrupt), "Timer Interrupt", 0}, 1109*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_GTDT1_OFFSET (TimerFlags), "Timer Flags (decoded below)", DT_FLAG}, 1110*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Trigger Mode", 0}, 1111*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Polarity", 0}, 1112*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0), "Security", 0}, 11133f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 11143f0275a0SJung-uk Kim }; 11153f0275a0SJung-uk Kim 11163f0275a0SJung-uk Kim 11173f0275a0SJung-uk Kim /******************************************************************************* 11183f0275a0SJung-uk Kim * 1119a9f12690SJung-uk Kim * HEST - Hardware Error Source table 1120a9f12690SJung-uk Kim * 1121a9f12690SJung-uk Kim ******************************************************************************/ 1122a9f12690SJung-uk Kim 1123a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest[] = 1124a9f12690SJung-uk Kim { 1125a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST_OFFSET (ErrorSourceCount), "Error Source Count", 0}, 1126a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1127a9f12690SJung-uk Kim }; 1128a9f12690SJung-uk Kim 1129d6dd1baeSJung-uk Kim /* Common HEST structures for subtables */ 1130d6dd1baeSJung-uk Kim 1131d6dd1baeSJung-uk Kim #define ACPI_DM_HEST_HEADER \ 1132a88e22b7SJung-uk Kim {ACPI_DMT_HEST, ACPI_HEST0_OFFSET (Header.Type), "Subtable Type", 0}, \ 1133a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Header.SourceId), "Source Id", 0} 1134d6dd1baeSJung-uk Kim 1135d6dd1baeSJung-uk Kim #define ACPI_DM_HEST_AER \ 1136a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved1), "Reserved", 0}, \ 1137a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Flags), "Flags (decoded below)", DT_FLAG}, \ 1138a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST6_FLAG_OFFSET (Aer.Flags,0), "Firmware First", 0}, \ 1139a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Enabled), "Enabled", 0}, \ 1140a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.RecordsToPreallocate), "Records To Preallocate", 0}, \ 1141a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.MaxSectionsPerRecord), "Max Sections Per Record", 0}, \ 1142a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.Bus), "Bus", 0}, \ 1143a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Device), "Device", 0}, \ 1144a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Function), "Function", 0}, \ 1145a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.DeviceControl), "DeviceControl", 0}, \ 1146a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved2), "Reserved", 0}, \ 1147a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableMask), "Uncorrectable Mask", 0}, \ 1148a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableSeverity), "Uncorrectable Severity", 0}, \ 1149a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.CorrectableMask), "Correctable Mask", 0}, \ 1150a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.AdvancedCapabilities), "Advanced Capabilities", 0} 1151d6dd1baeSJung-uk Kim 1152d6dd1baeSJung-uk Kim 1153a9f12690SJung-uk Kim /* HEST Subtables */ 1154a9f12690SJung-uk Kim 1155d6dd1baeSJung-uk Kim /* 0: IA32 Machine Check Exception */ 1156a9f12690SJung-uk Kim 1157a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[] = 1158a9f12690SJung-uk Kim { 1159d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1160a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Reserved1), "Reserved1", 0}, 1161a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1162a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST0_FLAG_OFFSET (Flags,0), "Firmware First", 0}, 1163a88e22b7SJung-uk Kim 1164a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Enabled), "Enabled", 0}, 1165a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1166a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1167a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalCapabilityData), "Global Capability Data", 0}, 1168a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalControlData), "Global Control Data", 0}, 1169a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (NumHardwareBanks), "Num Hardware Banks", 0}, 1170a88e22b7SJung-uk Kim {ACPI_DMT_UINT56, ACPI_HEST0_OFFSET (Reserved3[0]), "Reserved2", 0}, 1171a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1172a9f12690SJung-uk Kim }; 1173a9f12690SJung-uk Kim 1174d6dd1baeSJung-uk Kim /* 1: IA32 Corrected Machine Check */ 1175a9f12690SJung-uk Kim 1176a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[] = 1177a9f12690SJung-uk Kim { 1178d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1179a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST1_OFFSET (Reserved1), "Reserved1", 0}, 1180a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1181a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HEST1_FLAG_OFFSET (Flags,0), "Firmware First", 0}, 1182a88e22b7SJung-uk Kim 1183a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Enabled), "Enabled", 0}, 1184a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1185a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1186a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST1_OFFSET (Notify), "Notify", 0}, 1187a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (NumHardwareBanks), "Num Hardware Banks", 0}, 1188a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_HEST1_OFFSET (Reserved2[0]), "Reserved2", 0}, 1189a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1190a9f12690SJung-uk Kim }; 1191a9f12690SJung-uk Kim 1192d6dd1baeSJung-uk Kim /* 2: IA32 Non-Maskable Interrupt */ 1193a9f12690SJung-uk Kim 1194d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[] = 1195a9f12690SJung-uk Kim { 1196d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1197a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (Reserved), "Reserved", 0}, 1198a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1199a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1200a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxRawDataLength), "Max Raw Data Length", 0}, 1201a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1202a9f12690SJung-uk Kim }; 1203a9f12690SJung-uk Kim 1204a9f12690SJung-uk Kim /* 6: PCI Express Root Port AER */ 1205a9f12690SJung-uk Kim 1206a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[] = 1207a9f12690SJung-uk Kim { 1208d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1209d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1210a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (RootErrorCommand), "Root Error Command", 0}, 1211a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1212a9f12690SJung-uk Kim }; 1213a9f12690SJung-uk Kim 1214a9f12690SJung-uk Kim /* 7: PCI Express AER (AER Endpoint) */ 1215a9f12690SJung-uk Kim 1216a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[] = 1217a9f12690SJung-uk Kim { 1218d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1219d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1220a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1221a9f12690SJung-uk Kim }; 1222a9f12690SJung-uk Kim 1223a9f12690SJung-uk Kim /* 8: PCI Express/PCI-X Bridge AER */ 1224a9f12690SJung-uk Kim 1225a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[] = 1226a9f12690SJung-uk Kim { 1227d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1228d6dd1baeSJung-uk Kim ACPI_DM_HEST_AER, 1229a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (UncorrectableMask2), "2nd Uncorrectable Mask", 0}, 1230a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (UncorrectableSeverity2), "2nd Uncorrectable Severity", 0}, 1231a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST8_OFFSET (AdvancedCapabilities2), "2nd Advanced Capabilities", 0}, 1232a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1233a9f12690SJung-uk Kim }; 1234a9f12690SJung-uk Kim 1235a9f12690SJung-uk Kim /* 9: Generic Hardware Error Source */ 1236a9f12690SJung-uk Kim 1237a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[] = 1238a9f12690SJung-uk Kim { 1239d6dd1baeSJung-uk Kim ACPI_DM_HEST_HEADER, 1240a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HEST9_OFFSET (RelatedSourceId), "Related Source Id", 0}, 1241a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST9_OFFSET (Reserved), "Reserved", 0}, 1242a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HEST9_OFFSET (Enabled), "Enabled", 0}, 1243a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (RecordsToPreallocate), "Records To Preallocate", 0}, 1244a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record", 0}, 1245a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (MaxRawDataLength), "Max Raw Data Length", 0}, 1246a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_HEST9_OFFSET (ErrorStatusAddress), "Error Status Address", 0}, 1247a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTFY, ACPI_HEST9_OFFSET (Notify), "Notify", 0}, 1248a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HEST9_OFFSET (ErrorBlockLength), "Error Status Block Length", 0}, 1249a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1250a9f12690SJung-uk Kim }; 1251a9f12690SJung-uk Kim 1252d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[] = 1253a9f12690SJung-uk Kim { 1254a88e22b7SJung-uk Kim {ACPI_DMT_HESTNTYP, ACPI_HESTN_OFFSET (Type), "Notify Type", 0}, 1255a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTN_OFFSET (Length), "Notify Length", DT_LENGTH}, 1256a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HESTN_OFFSET (ConfigWriteEnable), "Configuration Write Enable", 0}, 1257a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollInterval), "PollInterval", 0}, 1258a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (Vector), "Vector", 0}, 1259a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollingThresholdValue), "Polling Threshold Value", 0}, 1260a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (PollingThresholdWindow), "Polling Threshold Window", 0}, 1261a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (ErrorThresholdValue), "Error Threshold Value", 0}, 1262a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTN_OFFSET (ErrorThresholdWindow), "Error Threshold Window", 0}, 1263a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1264a9f12690SJung-uk Kim }; 1265a9f12690SJung-uk Kim 1266a9f12690SJung-uk Kim 1267d6dd1baeSJung-uk Kim /* 1268d6dd1baeSJung-uk Kim * IA32 Error Bank(s) - Follows the ACPI_HEST_IA_MACHINE_CHECK and 1269d6dd1baeSJung-uk Kim * ACPI_HEST_IA_CORRECTED structures. 1270d6dd1baeSJung-uk Kim */ 1271d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[] = 1272d6dd1baeSJung-uk Kim { 1273a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (BankNumber), "Bank Number", 0}, 1274a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (ClearStatusOnInit), "Clear Status On Init", 0}, 1275a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (StatusFormat), "Status Format", 0}, 1276a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HESTB_OFFSET (Reserved), "Reserved", 0}, 1277a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (ControlRegister), "Control Register", 0}, 1278a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_HESTB_OFFSET (ControlData), "Control Data", 0}, 1279a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (StatusRegister), "Status Register", 0}, 1280a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (AddressRegister), "Address Register", 0}, 1281a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HESTB_OFFSET (MiscRegister), "Misc Register", 0}, 1282a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1283d6dd1baeSJung-uk Kim }; 1284d6dd1baeSJung-uk Kim 1285d6dd1baeSJung-uk Kim 1286a9f12690SJung-uk Kim /******************************************************************************* 1287a9f12690SJung-uk Kim * 12881a39cfb0SJung-uk Kim * HPET - High Precision Event Timer table 12891a39cfb0SJung-uk Kim * 12901a39cfb0SJung-uk Kim ******************************************************************************/ 12911a39cfb0SJung-uk Kim 12921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[] = 12931a39cfb0SJung-uk Kim { 1294a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_HPET_OFFSET (Id), "Hardware Block ID", 0}, 1295a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_HPET_OFFSET (Address), "Timer Block Register", 0}, 1296a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HPET_OFFSET (Sequence), "Sequence Number", 0}, 1297a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_HPET_OFFSET (MinimumTick), "Minimum Clock Ticks", 0}, 1298a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_HPET_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1299a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_HPET_FLAG_OFFSET (Flags,0), "4K Page Protect", 0}, 1300a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_HPET_FLAG_OFFSET (Flags,0), "64K Page Protect", 0}, 1301a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1302d6dd1baeSJung-uk Kim }; 1303d6dd1baeSJung-uk Kim 1304d6dd1baeSJung-uk Kim 1305d6dd1baeSJung-uk Kim /******************************************************************************* 1306d6dd1baeSJung-uk Kim * 1307d6dd1baeSJung-uk Kim * IVRS - I/O Virtualization Reporting Structure 1308d6dd1baeSJung-uk Kim * 1309d6dd1baeSJung-uk Kim ******************************************************************************/ 1310d6dd1baeSJung-uk Kim 1311d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[] = 1312d6dd1baeSJung-uk Kim { 1313a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS_OFFSET (Info), "Virtualization Info", 0}, 1314a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS_OFFSET (Reserved), "Reserved", 0}, 1315a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1316d6dd1baeSJung-uk Kim }; 1317d6dd1baeSJung-uk Kim 1318d6dd1baeSJung-uk Kim /* Common Subtable header (one per Subtable) */ 1319d6dd1baeSJung-uk Kim 1320d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[] = 1321d6dd1baeSJung-uk Kim { 1322a88e22b7SJung-uk Kim {ACPI_DMT_IVRS, ACPI_IVRSH_OFFSET (Type), "Subtable Type", 0}, 1323a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSH_OFFSET (Flags), "Flags", 0}, 1324a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSH_OFFSET (Length), "Length", DT_LENGTH}, 1325a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSH_OFFSET (DeviceId), "DeviceId", 0}, 1326a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1327d6dd1baeSJung-uk Kim }; 1328d6dd1baeSJung-uk Kim 1329d6dd1baeSJung-uk Kim /* IVRS subtables */ 1330d6dd1baeSJung-uk Kim 1331d6dd1baeSJung-uk Kim /* 0x10: I/O Virtualization Hardware Definition (IVHD) Block */ 1332d6dd1baeSJung-uk Kim 1333d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[] = 1334d6dd1baeSJung-uk Kim { 1335a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (CapabilityOffset), "Capability Offset", 0}, 1336a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS0_OFFSET (BaseAddress), "Base Address", 0}, 1337a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (PciSegmentGroup), "PCI Segment Group", 0}, 1338a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS0_OFFSET (Info), "Virtualization Info", 0}, 1339a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS0_OFFSET (Reserved), "Reserved", 0}, 1340a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1341d6dd1baeSJung-uk Kim }; 1342d6dd1baeSJung-uk Kim 1343d6dd1baeSJung-uk Kim /* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition (IVMD) Block */ 1344d6dd1baeSJung-uk Kim 1345d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[] = 1346d6dd1baeSJung-uk Kim { 1347a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS1_OFFSET (AuxData), "Auxiliary Data", 0}, 1348a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (Reserved), "Reserved", 0}, 1349a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (StartAddress), "Start Address", 0}, 1350a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_IVRS1_OFFSET (MemoryLength), "Memory Length", 0}, 1351a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1352d6dd1baeSJung-uk Kim }; 1353d6dd1baeSJung-uk Kim 1354d6dd1baeSJung-uk Kim /* Device entry header for IVHD block */ 1355d6dd1baeSJung-uk Kim 1356d6dd1baeSJung-uk Kim #define ACPI_DMT_IVRS_DE_HEADER \ 1357a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSD_OFFSET (Type), "Entry Type", 0}, \ 1358a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRSD_OFFSET (Id), "Device ID", 0}, \ 1359a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRSD_OFFSET (DataSetting), "Data Setting", 0} 1360d6dd1baeSJung-uk Kim 1361d6dd1baeSJung-uk Kim /* 4-byte device entry */ 1362d6dd1baeSJung-uk Kim 1363d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[] = 1364d6dd1baeSJung-uk Kim { 1365d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1366a88e22b7SJung-uk Kim {ACPI_DMT_EXIT, 0, NULL, 0}, 1367d6dd1baeSJung-uk Kim }; 1368d6dd1baeSJung-uk Kim 1369d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1370d6dd1baeSJung-uk Kim 1371d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[] = 1372d6dd1baeSJung-uk Kim { 1373d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1374a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8A_OFFSET (Reserved1), "Reserved", 0}, 1375a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS8A_OFFSET (UsedId), "Source Used Device ID", 0}, 1376a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8A_OFFSET (Reserved2), "Reserved", 0}, 1377a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1378d6dd1baeSJung-uk Kim }; 1379d6dd1baeSJung-uk Kim 1380d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1381d6dd1baeSJung-uk Kim 1382d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[] = 1383d6dd1baeSJung-uk Kim { 1384d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1385a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_IVRS8B_OFFSET (ExtendedData), "Extended Data", 0}, 1386a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1387d6dd1baeSJung-uk Kim }; 1388d6dd1baeSJung-uk Kim 1389d6dd1baeSJung-uk Kim /* 8-byte device entry */ 1390d6dd1baeSJung-uk Kim 1391d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[] = 1392d6dd1baeSJung-uk Kim { 1393d6dd1baeSJung-uk Kim ACPI_DMT_IVRS_DE_HEADER, 1394a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8C_OFFSET (Handle), "Handle", 0}, 1395a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_IVRS8C_OFFSET (UsedId), "Source Used Device ID", 0}, 1396a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_IVRS8C_OFFSET (Variety), "Variety", 0}, 1397a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 13981a39cfb0SJung-uk Kim }; 13991a39cfb0SJung-uk Kim 14001a39cfb0SJung-uk Kim 14011a39cfb0SJung-uk Kim /******************************************************************************* 14021a39cfb0SJung-uk Kim * 1403*313a0c13SJung-uk Kim * LPIT - Low Power Idle Table 1404*313a0c13SJung-uk Kim * 1405*313a0c13SJung-uk Kim ******************************************************************************/ 1406*313a0c13SJung-uk Kim 1407*313a0c13SJung-uk Kim /* Main table consists only of the standard ACPI table header */ 1408*313a0c13SJung-uk Kim 1409*313a0c13SJung-uk Kim /* Common Subtable header (one per Subtable) */ 1410*313a0c13SJung-uk Kim 1411*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[] = 1412*313a0c13SJung-uk Kim { 1413*313a0c13SJung-uk Kim {ACPI_DMT_LPIT, ACPI_LPITH_OFFSET (Type), "Subtable Type", 0}, 1414*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPITH_OFFSET (Length), "Length", DT_LENGTH}, 1415*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_LPITH_OFFSET (UniqueId), "Unique ID", 0}, 1416*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_LPITH_OFFSET (Reserved), "Reserved", 0}, 1417*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPITH_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1418*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_LPITH_FLAG_OFFSET (Flags, 0), "State Disabled", 0}, 1419*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_LPITH_FLAG_OFFSET (Flags, 0), "No Counter", 0}, 1420*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1421*313a0c13SJung-uk Kim }; 1422*313a0c13SJung-uk Kim 1423*313a0c13SJung-uk Kim /* LPIT Subtables */ 1424*313a0c13SJung-uk Kim 1425*313a0c13SJung-uk Kim /* 0: Native C-state */ 1426*313a0c13SJung-uk Kim 1427*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[] = 1428*313a0c13SJung-uk Kim { 1429*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT0_OFFSET (EntryTrigger), "Entry Trigger", 0}, 1430*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT0_OFFSET (Residency), "Residency", 0}, 1431*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT0_OFFSET (Latency), "Latency", 0}, 1432*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT0_OFFSET (ResidencyCounter), "Residency Counter", 0}, 1433*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_LPIT0_OFFSET (CounterFrequency), "Counter Frequency", 0}, 1434*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1435*313a0c13SJung-uk Kim }; 1436*313a0c13SJung-uk Kim 1437*313a0c13SJung-uk Kim /* 1: Simple I/O */ 1438*313a0c13SJung-uk Kim 1439*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[] = 1440*313a0c13SJung-uk Kim { 1441*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT1_OFFSET (EntryTrigger), "Entry Trigger", 0}, 1442*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT1_OFFSET (TriggerAction), "Trigger Action", 0}, 1443*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_LPIT1_OFFSET (TriggerValue), "Trigger Value", 0}, 1444*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_LPIT1_OFFSET (TriggerMask), "Trigger Mask", 0}, 1445*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT1_OFFSET (MinimumIdleState), "Minimum Idle State", 0}, 1446*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT1_OFFSET (Residency), "Residency", 0}, 1447*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_LPIT1_OFFSET (Latency), "Latency", 0}, 1448*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_LPIT1_OFFSET (ResidencyCounter), "Residency Counter", 0}, 1449*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_LPIT1_OFFSET (CounterFrequency), "Counter Frequency", 0}, 1450*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1451*313a0c13SJung-uk Kim }; 1452*313a0c13SJung-uk Kim 1453*313a0c13SJung-uk Kim 1454*313a0c13SJung-uk Kim /******************************************************************************* 1455*313a0c13SJung-uk Kim * 14561a39cfb0SJung-uk Kim * MADT - Multiple APIC Description Table and subtables 14571a39cfb0SJung-uk Kim * 14581a39cfb0SJung-uk Kim ******************************************************************************/ 14591a39cfb0SJung-uk Kim 14601a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[] = 14611a39cfb0SJung-uk Kim { 1462a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT_OFFSET (Address), "Local Apic Address", 0}, 1463a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1464a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT_FLAG_OFFSET (Flags,0), "PC-AT Compatibility", 0}, 1465a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 14661a39cfb0SJung-uk Kim }; 14671a39cfb0SJung-uk Kim 1468a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 14691a39cfb0SJung-uk Kim 14701a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[] = 14711a39cfb0SJung-uk Kim { 1472a88e22b7SJung-uk Kim {ACPI_DMT_MADT, ACPI_MADTH_OFFSET (Type), "Subtable Type", 0}, 1473a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADTH_OFFSET (Length), "Length", DT_LENGTH}, 1474a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 14751a39cfb0SJung-uk Kim }; 14761a39cfb0SJung-uk Kim 1477a9f12690SJung-uk Kim /* MADT Subtables */ 14781a39cfb0SJung-uk Kim 14791a39cfb0SJung-uk Kim /* 0: processor APIC */ 14801a39cfb0SJung-uk Kim 14811a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[] = 14821a39cfb0SJung-uk Kim { 1483a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT0_OFFSET (ProcessorId), "Processor ID", 0}, 1484a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT0_OFFSET (Id), "Local Apic ID", 0}, 1485a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT0_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1486a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT0_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1487a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 14881a39cfb0SJung-uk Kim }; 14891a39cfb0SJung-uk Kim 14901a39cfb0SJung-uk Kim /* 1: IO APIC */ 14911a39cfb0SJung-uk Kim 14921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[] = 14931a39cfb0SJung-uk Kim { 1494a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT1_OFFSET (Id), "I/O Apic ID", 0}, 1495a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT1_OFFSET (Reserved), "Reserved", 0}, 1496a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT1_OFFSET (Address), "Address", 0}, 1497a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT1_OFFSET (GlobalIrqBase), "Interrupt", 0}, 1498a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 14991a39cfb0SJung-uk Kim }; 15001a39cfb0SJung-uk Kim 15011a39cfb0SJung-uk Kim /* 2: Interrupt Override */ 15021a39cfb0SJung-uk Kim 15031a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[] = 15041a39cfb0SJung-uk Kim { 1505a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT2_OFFSET (Bus), "Bus", 0}, 1506a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT2_OFFSET (SourceIrq), "Source", 0}, 1507a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT2_OFFSET (GlobalIrq), "Interrupt", 0}, 1508a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT2_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1509a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT2_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1510a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT2_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1511a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15121a39cfb0SJung-uk Kim }; 15131a39cfb0SJung-uk Kim 15141a39cfb0SJung-uk Kim /* 3: NMI Sources */ 15151a39cfb0SJung-uk Kim 15161a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[] = 15171a39cfb0SJung-uk Kim { 1518a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT3_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1519a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT3_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1520a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT3_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1521a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT3_OFFSET (GlobalIrq), "Interrupt", 0}, 1522a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15231a39cfb0SJung-uk Kim }; 15241a39cfb0SJung-uk Kim 15251a39cfb0SJung-uk Kim /* 4: Local APIC NMI */ 15261a39cfb0SJung-uk Kim 15271a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[] = 15281a39cfb0SJung-uk Kim { 1529a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT4_OFFSET (ProcessorId), "Processor ID", 0}, 1530a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT4_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1531a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT4_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1532a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT4_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1533a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT4_OFFSET (Lint), "Interrupt Input LINT", 0}, 1534a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15351a39cfb0SJung-uk Kim }; 15361a39cfb0SJung-uk Kim 15371a39cfb0SJung-uk Kim /* 5: Address Override */ 15381a39cfb0SJung-uk Kim 15391a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[] = 15401a39cfb0SJung-uk Kim { 1541a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT5_OFFSET (Reserved), "Reserved", 0}, 1542a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT5_OFFSET (Address), "APIC Address", 0}, 1543a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15441a39cfb0SJung-uk Kim }; 15451a39cfb0SJung-uk Kim 15461a39cfb0SJung-uk Kim /* 6: I/O Sapic */ 15471a39cfb0SJung-uk Kim 15481a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[] = 15491a39cfb0SJung-uk Kim { 1550a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT6_OFFSET (Id), "I/O Sapic ID", 0}, 1551a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT6_OFFSET (Reserved), "Reserved", 0}, 1552a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT6_OFFSET (GlobalIrqBase), "Interrupt Base", 0}, 1553a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT6_OFFSET (Address), "Address", 0}, 1554a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15551a39cfb0SJung-uk Kim }; 15561a39cfb0SJung-uk Kim 15571a39cfb0SJung-uk Kim /* 7: Local Sapic */ 15581a39cfb0SJung-uk Kim 15591a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[] = 15601a39cfb0SJung-uk Kim { 1561a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (ProcessorId), "Processor ID", 0}, 1562a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (Id), "Local Sapic ID", 0}, 1563a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT7_OFFSET (Eid), "Local Sapic EID", 0}, 1564a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT7_OFFSET (Reserved[0]), "Reserved", 0}, 1565a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT7_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1566a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT7_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1567a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT7_OFFSET (Uid), "Processor UID", 0}, 1568a88e22b7SJung-uk Kim {ACPI_DMT_STRING, ACPI_MADT7_OFFSET (UidString[0]), "Processor UID String", 0}, 1569a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15701a39cfb0SJung-uk Kim }; 15711a39cfb0SJung-uk Kim 15721a39cfb0SJung-uk Kim /* 8: Platform Interrupt Source */ 15731a39cfb0SJung-uk Kim 15741a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[] = 15751a39cfb0SJung-uk Kim { 1576a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT8_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1577a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT8_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1578a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT8_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1579a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Type), "InterruptType", 0}, 1580a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Id), "Processor ID", 0}, 1581a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (Eid), "Processor EID", 0}, 1582a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT8_OFFSET (IoSapicVector), "I/O Sapic Vector", 0}, 1583a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT8_OFFSET (GlobalIrq), "Interrupt", 0}, 1584a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT8_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1585a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT8_OFFSET (Flags), "CPEI Override", 0}, 1586a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 15871a39cfb0SJung-uk Kim }; 15881a39cfb0SJung-uk Kim 1589d6dd1baeSJung-uk Kim /* 9: Processor Local X2_APIC (ACPI 4.0) */ 1590a9f12690SJung-uk Kim 1591a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[] = 1592a9f12690SJung-uk Kim { 1593a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT9_OFFSET (Reserved), "Reserved", 0}, 1594a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (LocalApicId), "Processor x2Apic ID", 0}, 1595a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (LapicFlags), "Flags (decoded below)", DT_FLAG}, 1596a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT9_FLAG_OFFSET (LapicFlags,0), "Processor Enabled", 0}, 1597a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT9_OFFSET (Uid), "Processor UID", 0}, 1598a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1599a9f12690SJung-uk Kim }; 1600a9f12690SJung-uk Kim 1601d6dd1baeSJung-uk Kim /* 10: Local X2_APIC NMI (ACPI 4.0) */ 1602a9f12690SJung-uk Kim 1603a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[] = 1604a9f12690SJung-uk Kim { 1605a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT10_OFFSET (IntiFlags), "Flags (decoded below)", DT_FLAG}, 1606a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS0, ACPI_MADT10_FLAG_OFFSET (IntiFlags,0), "Polarity", 0}, 1607a88e22b7SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_MADT10_FLAG_OFFSET (IntiFlags,0), "Trigger Mode", 0}, 1608a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT10_OFFSET (Uid), "Processor UID", 0}, 1609a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MADT10_OFFSET (Lint), "Interrupt Input LINT", 0}, 1610a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MADT10_OFFSET (Reserved[0]), "Reserved", 0}, 1611a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1612a9f12690SJung-uk Kim }; 1613a9f12690SJung-uk Kim 16143f0275a0SJung-uk Kim /* 11: Generic Interrupt Controller (ACPI 5.0) */ 16153f0275a0SJung-uk Kim 16163f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[] = 16173f0275a0SJung-uk Kim { 16183f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (Reserved), "Reserved", 0}, 1619*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (CpuInterfaceNumber), "CPU Interface Number", 0}, 16203f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (Uid), "Processor UID", 0}, 16213f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 16223f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Processor Enabled", 0}, 1623*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Performance Interrupt Trigger Mode", 0}, 1624*313a0c13SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MADT11_FLAG_OFFSET (Flags,0), "Virtual GIC Interrupt Trigger Mode", 0}, 16253f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (ParkingVersion), "Parking Protocol Version", 0}, 16263f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (PerformanceInterrupt), "Performance Interrupt", 0}, 16273f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (ParkedAddress), "Parked Address", 0}, 16283f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (BaseAddress), "Base Address", 0}, 1629*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GicvBaseAddress), "Virtual GIC Base Address", 0}, 1630*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GichBaseAddress), "Hypervisor GIC Base Address", 0}, 1631*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT11_OFFSET (VgicInterrupt), "Virtual GIC Interrupt", 0}, 1632*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (GicrBaseAddress), "Redistributor Base Address", 0}, 1633*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT11_OFFSET (ArmMpidr), "ARM MPIDR", 0}, 16343f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 16353f0275a0SJung-uk Kim }; 16363f0275a0SJung-uk Kim 16373f0275a0SJung-uk Kim /* 12: Generic Interrupt Distributor (ACPI 5.0) */ 16383f0275a0SJung-uk Kim 16393f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[] = 16403f0275a0SJung-uk Kim { 16413f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT12_OFFSET (Reserved), "Reserved", 0}, 16423f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT12_OFFSET (GicId), "Local GIC Hardware ID", 0}, 16433f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT12_OFFSET (BaseAddress), "Base Address", 0}, 16443f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT12_OFFSET (GlobalIrqBase), "Interrupt Base", 0}, 16453f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT12_OFFSET (Reserved2), "Reserved", 0}, 16463f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 16473f0275a0SJung-uk Kim }; 16483f0275a0SJung-uk Kim 1649*313a0c13SJung-uk Kim /* 13: Generic MSI Frame (ACPI 5.1) */ 1650*313a0c13SJung-uk Kim 1651*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[] = 1652*313a0c13SJung-uk Kim { 1653*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (Reserved), "Reserved", 0}, 1654*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT13_OFFSET (MsiFrameId), "MSI Frame ID", 0}, 1655*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT13_OFFSET (BaseAddress), "Base Address", 0}, 1656*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT13_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 1657*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MADT13_FLAG_OFFSET (Flags,0), "Select SPI", 0}, 1658*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (SpiCount), "SPI Count", 0}, 1659*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT13_OFFSET (SpiBase), "SPI Base", 0}, 1660*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1661*313a0c13SJung-uk Kim }; 1662*313a0c13SJung-uk Kim 1663*313a0c13SJung-uk Kim /* 14: Generic Redistributor (ACPI 5.1) */ 1664*313a0c13SJung-uk Kim 1665*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[] = 1666*313a0c13SJung-uk Kim { 1667*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MADT14_OFFSET (Reserved), "Reserved", 0}, 1668*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MADT14_OFFSET (BaseAddress), "Base Address", 0}, 1669*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MADT14_OFFSET (Length), "Length", 0}, 1670*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1671*313a0c13SJung-uk Kim }; 1672*313a0c13SJung-uk Kim 16731a39cfb0SJung-uk Kim 16741a39cfb0SJung-uk Kim /******************************************************************************* 16751a39cfb0SJung-uk Kim * 1676a9f12690SJung-uk Kim * MCFG - PCI Memory Mapped Configuration table and Subtable 16771a39cfb0SJung-uk Kim * 16781a39cfb0SJung-uk Kim ******************************************************************************/ 16791a39cfb0SJung-uk Kim 16801a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[] = 16811a39cfb0SJung-uk Kim { 1682a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCFG_OFFSET (Reserved[0]), "Reserved", 0}, 1683a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 16841a39cfb0SJung-uk Kim }; 16851a39cfb0SJung-uk Kim 16861a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[] = 16871a39cfb0SJung-uk Kim { 1688a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCFG0_OFFSET (Address), "Base Address", 0}, 1689a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MCFG0_OFFSET (PciSegment), "Segment Group Number", 0}, 1690a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCFG0_OFFSET (StartBusNumber), "Start Bus Number", 0}, 1691a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCFG0_OFFSET (EndBusNumber), "End Bus Number", 0}, 1692a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MCFG0_OFFSET (Reserved), "Reserved", 0}, 1693a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 16941a39cfb0SJung-uk Kim }; 16951a39cfb0SJung-uk Kim 16961a39cfb0SJung-uk Kim 16971a39cfb0SJung-uk Kim /******************************************************************************* 16981a39cfb0SJung-uk Kim * 1699ca3cf4faSJung-uk Kim * MCHI - Management Controller Host Interface table 1700ca3cf4faSJung-uk Kim * 1701ca3cf4faSJung-uk Kim ******************************************************************************/ 1702ca3cf4faSJung-uk Kim 1703ca3cf4faSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[] = 1704ca3cf4faSJung-uk Kim { 1705a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (InterfaceType), "Interface Type", 0}, 1706a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (Protocol), "Protocol", 0}, 1707a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MCHI_OFFSET (ProtocolData), "Protocol Data", 0}, 1708a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (InterruptType), "Interrupt Type", 0}, 1709a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (Gpe), "Gpe", 0}, 1710a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciDeviceFlag), "Pci Device Flag", 0}, 1711a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MCHI_OFFSET (GlobalInterrupt), "Global Interrupt", 0}, 1712a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_MCHI_OFFSET (ControlRegister), "Control Register", 0}, 1713a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciSegment), "Pci Segment", 0}, 1714a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciBus), "Pci Bus", 0}, 1715a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciDevice), "Pci Device", 0}, 1716a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MCHI_OFFSET (PciFunction), "Pci Function", 0}, 1717a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1718ca3cf4faSJung-uk Kim }; 1719ca3cf4faSJung-uk Kim 1720ca3cf4faSJung-uk Kim 1721ca3cf4faSJung-uk Kim /******************************************************************************* 1722ca3cf4faSJung-uk Kim * 17233f0275a0SJung-uk Kim * MPST - Memory Power State Table 17243f0275a0SJung-uk Kim * 17253f0275a0SJung-uk Kim ******************************************************************************/ 17263f0275a0SJung-uk Kim 17273f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[] = 17283f0275a0SJung-uk Kim { 17293f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST_OFFSET (ChannelId), "Channel ID", 0}, 17308ef1a331SJung-uk Kim {ACPI_DMT_UINT24, ACPI_MPST_OFFSET (Reserved1[0]), "Reserved", 0}, 17313f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST_OFFSET (PowerNodeCount), "Power Node Count", 0}, 17328ef1a331SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST_OFFSET (Reserved2), "Reserved", 0}, 17333f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17343f0275a0SJung-uk Kim }; 17353f0275a0SJung-uk Kim 17363f0275a0SJung-uk Kim /* MPST subtables */ 17373f0275a0SJung-uk Kim 17383f0275a0SJung-uk Kim /* 0: Memory Power Node Structure */ 17393f0275a0SJung-uk Kim 17403f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[] = 17413f0275a0SJung-uk Kim { 17423f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 17433f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Node Enabled", 0}, 17443f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Power Managed", 0}, 17453f0275a0SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MPST0_FLAG_OFFSET (Flags,0), "Hot Plug Capable", 0}, 17463f0275a0SJung-uk Kim 17473f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (Reserved1), "Reserved", 0}, 17483f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST0_OFFSET (NodeId), "Node ID", 0}, 17498ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (Length), "Length", 0}, 17503f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeAddress), "Range Address", 0}, 17513f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeLength), "Range Length", 0}, 17528ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPowerStates), "Num Power States", 0}, 17538ef1a331SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPhysicalComponents), "Num Physical Components", 0}, 17543f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17553f0275a0SJung-uk Kim }; 17563f0275a0SJung-uk Kim 17573f0275a0SJung-uk Kim /* 0A: Sub-subtable - Memory Power State Structure (follows Memory Power Node above) */ 17583f0275a0SJung-uk Kim 17593f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[] = 17603f0275a0SJung-uk Kim { 17613f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0A_OFFSET (PowerState), "Power State", 0}, 17623f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST0A_OFFSET (InfoIndex), "InfoIndex", 0}, 17633f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17643f0275a0SJung-uk Kim }; 17653f0275a0SJung-uk Kim 17663f0275a0SJung-uk Kim /* 0B: Sub-subtable - Physical Component ID Structure (follows Memory Power State(s) above) */ 17673f0275a0SJung-uk Kim 17683f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[] = 17693f0275a0SJung-uk Kim { 17703f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST0B_OFFSET (ComponentId), "Component Id", 0}, 17713f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17723f0275a0SJung-uk Kim }; 17733f0275a0SJung-uk Kim 17743f0275a0SJung-uk Kim /* 01: Power Characteristics Count (follows all Power Node(s) above) */ 17753f0275a0SJung-uk Kim 17763f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[] = 17773f0275a0SJung-uk Kim { 17783f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (CharacteristicsCount), "Characteristics Count", 0}, 17798ef1a331SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (Reserved), "Reserved", 0}, 17803f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17813f0275a0SJung-uk Kim }; 17823f0275a0SJung-uk Kim 17833f0275a0SJung-uk Kim /* 02: Memory Power State Characteristics Structure */ 17843f0275a0SJung-uk Kim 17853f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[] = 17863f0275a0SJung-uk Kim { 17878ef1a331SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (StructureId), "Structure ID", 0}, 17883f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 17893f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Memory Preserved", 0}, 17903f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Auto Entry", 0}, 17913f0275a0SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Auto Exit", 0}, 17923f0275a0SJung-uk Kim 17933f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_MPST2_OFFSET (Reserved1), "Reserved", 0}, 17943f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST2_OFFSET (AveragePower), "Average Power", 0}, 17953f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MPST2_OFFSET (PowerSaving), "Power Saving", 0}, 17963f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST2_OFFSET (ExitLatency), "Exit Latency", 0}, 17973f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MPST2_OFFSET (Reserved2), "Reserved", 0}, 17983f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 17993f0275a0SJung-uk Kim }; 18003f0275a0SJung-uk Kim 18013f0275a0SJung-uk Kim 18023f0275a0SJung-uk Kim /******************************************************************************* 18033f0275a0SJung-uk Kim * 1804d6dd1baeSJung-uk Kim * MSCT - Maximum System Characteristics Table (ACPI 4.0) 1805d6dd1baeSJung-uk Kim * 1806d6dd1baeSJung-uk Kim ******************************************************************************/ 1807d6dd1baeSJung-uk Kim 1808d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[] = 1809d6dd1baeSJung-uk Kim { 1810a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (ProximityOffset), "Proximity Offset", 0}, 1811a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (MaxProximityDomains), "Max Proximity Domains", 0}, 1812a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT_OFFSET (MaxClockDomains), "Max Clock Domains", 0}, 1813a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MSCT_OFFSET (MaxAddress), "Max Physical Address", 0}, 1814a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1815d6dd1baeSJung-uk Kim }; 1816d6dd1baeSJung-uk Kim 1817d6dd1baeSJung-uk Kim /* Subtable - Maximum Proximity Domain Information. Version 1 */ 1818d6dd1baeSJung-uk Kim 1819d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[] = 1820d6dd1baeSJung-uk Kim { 1821a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MSCT0_OFFSET (Revision), "Revision", 0}, 1822a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_MSCT0_OFFSET (Length), "Length", DT_LENGTH}, 1823a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (RangeStart), "Domain Range Start", 0}, 1824a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (RangeEnd), "Domain Range End", 0}, 1825a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_MSCT0_OFFSET (ProcessorCapacity), "Processor Capacity", 0}, 1826a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_MSCT0_OFFSET (MemoryCapacity), "Memory Capacity", 0}, 1827a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 1828d6dd1baeSJung-uk Kim }; 1829d6dd1baeSJung-uk Kim 1830d6dd1baeSJung-uk Kim 1831d6dd1baeSJung-uk Kim /******************************************************************************* 1832d6dd1baeSJung-uk Kim * 18339c48c75eSJung-uk Kim * MTMR - MID Timer Table 18349c48c75eSJung-uk Kim * 18359c48c75eSJung-uk Kim ******************************************************************************/ 18369c48c75eSJung-uk Kim 18379c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[] = 18389c48c75eSJung-uk Kim { 18399c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 18409c48c75eSJung-uk Kim }; 18419c48c75eSJung-uk Kim 18429c48c75eSJung-uk Kim /* MTMR Subtables - MTMR Entry */ 18439c48c75eSJung-uk Kim 18449c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[] = 18459c48c75eSJung-uk Kim { 18469c48c75eSJung-uk Kim {ACPI_DMT_GAS, ACPI_MTMR0_OFFSET (PhysicalAddress), "PhysicalAddress", 0}, 18479c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Frequency), "Frequency", 0}, 18489c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Irq), "IRQ", 0}, 18499c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 18509c48c75eSJung-uk Kim }; 18519c48c75eSJung-uk Kim 18529c48c75eSJung-uk Kim 18539c48c75eSJung-uk Kim /******************************************************************************* 18549c48c75eSJung-uk Kim * 18553f0275a0SJung-uk Kim * PCCT - Platform Communications Channel Table (ACPI 5.0) 18563f0275a0SJung-uk Kim * 18573f0275a0SJung-uk Kim ******************************************************************************/ 18583f0275a0SJung-uk Kim 18593f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[] = 18603f0275a0SJung-uk Kim { 18613f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 18623f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT_FLAG_OFFSET (Flags,0), "Doorbell", 0}, 1863*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT_OFFSET (Reserved), "Reserved", 0}, 18643f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 18653f0275a0SJung-uk Kim }; 18663f0275a0SJung-uk Kim 18673f0275a0SJung-uk Kim /* PCCT subtables */ 18683f0275a0SJung-uk Kim 1869*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[] = 1870*313a0c13SJung-uk Kim { 1871*313a0c13SJung-uk Kim {ACPI_DMT_PCCT, ACPI_PCCT0_OFFSET (Header.Type), "Subtable Type", 0}, 1872*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT0_OFFSET (Header.Length), "Length", DT_LENGTH}, 1873*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1874*313a0c13SJung-uk Kim }; 1875*313a0c13SJung-uk Kim 18763f0275a0SJung-uk Kim /* 0: Generic Communications Subspace */ 18773f0275a0SJung-uk Kim 18783f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[] = 18793f0275a0SJung-uk Kim { 18803f0275a0SJung-uk Kim {ACPI_DMT_UINT48, ACPI_PCCT0_OFFSET (Reserved[0]), "Reserved", 0}, 18813f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (BaseAddress), "Base Address", 0}, 18823f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (Length), "Address Length", 0}, 18833f0275a0SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT0_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 18843f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (PreserveMask), "Preserve Mask", 0}, 18853f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT0_OFFSET (WriteMask), "Write Mask", 0}, 1886*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT0_OFFSET (Latency), "Command Latency", 0}, 1887*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT0_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 1888*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PCCT0_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 1889*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 1890*313a0c13SJung-uk Kim }; 1891*313a0c13SJung-uk Kim 1892*313a0c13SJung-uk Kim /* 1: HW-reduced Communications Subspace (ACPI 5.1) */ 1893*313a0c13SJung-uk Kim 1894*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[] = 1895*313a0c13SJung-uk Kim { 1896*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (DoorbellInterrupt), "Doorbell Interrupt", 0}, 1897*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT1_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, 1898*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PCCT1_FLAG_OFFSET (Flags,0), "Polarity", 0}, 1899*313a0c13SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PCCT1_FLAG_OFFSET (Flags,0), "Mode", 0}, 1900*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PCCT1_OFFSET (Reserved), "Reserved", 0}, 1901*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (BaseAddress), "Base Address", 0}, 1902*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (Length), "Address Length", 0}, 1903*313a0c13SJung-uk Kim {ACPI_DMT_GAS, ACPI_PCCT1_OFFSET (DoorbellRegister), "Doorbell Register", 0}, 1904*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (PreserveMask), "Preserve Mask", 0}, 1905*313a0c13SJung-uk Kim {ACPI_DMT_UINT64, ACPI_PCCT1_OFFSET (WriteMask), "Write Mask", 0}, 1906*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (Latency), "Command Latency", 0}, 1907*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PCCT1_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, 1908*313a0c13SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PCCT1_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, 19093f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19103f0275a0SJung-uk Kim }; 19113f0275a0SJung-uk Kim 19123f0275a0SJung-uk Kim 19133f0275a0SJung-uk Kim /******************************************************************************* 19143f0275a0SJung-uk Kim * 19153f0275a0SJung-uk Kim * PMTT - Platform Memory Topology Table 19163f0275a0SJung-uk Kim * 19173f0275a0SJung-uk Kim ******************************************************************************/ 19183f0275a0SJung-uk Kim 19193f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[] = 19203f0275a0SJung-uk Kim { 19213f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT_OFFSET (Reserved), "Reserved", 0}, 19223f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19233f0275a0SJung-uk Kim }; 19243f0275a0SJung-uk Kim 19253f0275a0SJung-uk Kim /* Common Subtable header (one per Subtable) */ 19263f0275a0SJung-uk Kim 19273f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[] = 19283f0275a0SJung-uk Kim { 19293f0275a0SJung-uk Kim {ACPI_DMT_PMTT, ACPI_PMTTH_OFFSET (Type), "Subtable Type", 0}, 19303f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_PMTTH_OFFSET (Reserved1), "Reserved", 0}, 19313f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Length), "Length", DT_LENGTH}, 19323f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 19333f0275a0SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Top-level Device", 0}, 19343f0275a0SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Physical Element", 0}, 19353f0275a0SJung-uk Kim {ACPI_DMT_FLAGS2, ACPI_PMTTH_FLAG_OFFSET (Flags,0), "Memory Type", 0}, 19363f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTTH_OFFSET (Reserved2), "Reserved", 0}, 19373f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19383f0275a0SJung-uk Kim }; 19393f0275a0SJung-uk Kim 19403f0275a0SJung-uk Kim /* PMTT Subtables */ 19413f0275a0SJung-uk Kim 19423f0275a0SJung-uk Kim /* 0: Socket */ 19433f0275a0SJung-uk Kim 19443f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[] = 19453f0275a0SJung-uk Kim { 19463f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT0_OFFSET (SocketId), "Socket ID", 0}, 19473f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT0_OFFSET (Reserved), "Reserved", 0}, 19483f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19493f0275a0SJung-uk Kim }; 19503f0275a0SJung-uk Kim 19513f0275a0SJung-uk Kim /* 1: Memory Controller */ 19523f0275a0SJung-uk Kim 19533f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[] = 19543f0275a0SJung-uk Kim { 19553f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (ReadLatency), "Read Latency", 0}, 19563f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (WriteLatency), "Write Latency", 0}, 19573f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (ReadBandwidth), "Read Bandwidth", 0}, 19583f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1_OFFSET (WriteBandwidth), "Write Bandwidth", 0}, 19593f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (AccessWidth), "Access Width", 0}, 19603f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (Alignment), "Alignment", 0}, 19613f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (Reserved), "Reserved", 0}, 19623f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT1_OFFSET (DomainCount), "Domain Count", 0}, 19633f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19643f0275a0SJung-uk Kim }; 19653f0275a0SJung-uk Kim 19663f0275a0SJung-uk Kim /* 1a: Proximity Domain */ 19673f0275a0SJung-uk Kim 19683f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[] = 19693f0275a0SJung-uk Kim { 19703f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT1A_OFFSET (ProximityDomain), "Proximity Domain", 0}, 19713f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19723f0275a0SJung-uk Kim }; 19733f0275a0SJung-uk Kim 19743f0275a0SJung-uk Kim /* 2: Physical Component */ 19753f0275a0SJung-uk Kim 19763f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[] = 19773f0275a0SJung-uk Kim { 19783f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT2_OFFSET (ComponentId), "Component ID", 0}, 19793f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_PMTT2_OFFSET (Reserved), "Reserved", 0}, 19803f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT2_OFFSET (MemorySize), "Memory Size", 0}, 19813f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_PMTT2_OFFSET (BiosHandle), "Bios Handle", 0}, 19823f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19833f0275a0SJung-uk Kim }; 19843f0275a0SJung-uk Kim 19853f0275a0SJung-uk Kim 19863f0275a0SJung-uk Kim /******************************************************************************* 19873f0275a0SJung-uk Kim * 19883f0275a0SJung-uk Kim * S3PT - S3 Performance Table 19893f0275a0SJung-uk Kim * 19903f0275a0SJung-uk Kim ******************************************************************************/ 19913f0275a0SJung-uk Kim 19923f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[] = 19933f0275a0SJung-uk Kim { 19943f0275a0SJung-uk Kim {ACPI_DMT_SIG, ACPI_S3PT_OFFSET (Signature[0]), "Signature", 0}, 19953f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_S3PT_OFFSET (Length), "Length", DT_LENGTH}, 19963f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 19973f0275a0SJung-uk Kim }; 19983f0275a0SJung-uk Kim 19993f0275a0SJung-uk Kim /* S3PT subtable header */ 20003f0275a0SJung-uk Kim 20013f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[] = 20023f0275a0SJung-uk Kim { 20033f0275a0SJung-uk Kim {ACPI_DMT_UINT16, ACPI_S3PTH_OFFSET (Type), "Type", 0}, 20043f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_S3PTH_OFFSET (Length), "Length", DT_LENGTH}, 20053f0275a0SJung-uk Kim {ACPI_DMT_UINT8, ACPI_S3PTH_OFFSET (Revision), "Revision", 0}, 20063f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20073f0275a0SJung-uk Kim }; 20083f0275a0SJung-uk Kim 20093f0275a0SJung-uk Kim /* 0: Basic S3 Resume Performance Record */ 20103f0275a0SJung-uk Kim 20113f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[] = 20123f0275a0SJung-uk Kim { 20133f0275a0SJung-uk Kim {ACPI_DMT_UINT32, ACPI_S3PT0_OFFSET (ResumeCount), "Resume Count", 0}, 20143f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT0_OFFSET (FullResume), "Full Resume", 0}, 20153f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT0_OFFSET (AverageResume), "Average Resume", 0}, 20163f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20173f0275a0SJung-uk Kim }; 20183f0275a0SJung-uk Kim 20193f0275a0SJung-uk Kim /* 1: Basic S3 Suspend Performance Record */ 20203f0275a0SJung-uk Kim 20213f0275a0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[] = 20223f0275a0SJung-uk Kim { 20233f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT1_OFFSET (SuspendStart), "Suspend Start", 0}, 20243f0275a0SJung-uk Kim {ACPI_DMT_UINT64, ACPI_S3PT1_OFFSET (SuspendEnd), "Suspend End", 0}, 20253f0275a0SJung-uk Kim ACPI_DMT_TERMINATOR 20263f0275a0SJung-uk Kim }; 20273f0275a0SJung-uk Kim 20283f0275a0SJung-uk Kim 20293f0275a0SJung-uk Kim /******************************************************************************* 20303f0275a0SJung-uk Kim * 20311a39cfb0SJung-uk Kim * SBST - Smart Battery Specification Table 20321a39cfb0SJung-uk Kim * 20331a39cfb0SJung-uk Kim ******************************************************************************/ 20341a39cfb0SJung-uk Kim 20351a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[] = 20361a39cfb0SJung-uk Kim { 2037a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (WarningLevel), "Warning Level", 0}, 2038a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (LowLevel), "Low Level", 0}, 2039a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SBST_OFFSET (CriticalLevel), "Critical Level", 0}, 2040a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 20411a39cfb0SJung-uk Kim }; 20421a39cfb0SJung-uk Kim 20431a39cfb0SJung-uk Kim 20441a39cfb0SJung-uk Kim /******************************************************************************* 20451a39cfb0SJung-uk Kim * 2046dcbce41eSJung-uk Kim * SLIC - Software Licensing Description Table. There is no common table, just 2047dcbce41eSJung-uk Kim * the standard ACPI header and then subtables. 2048a9f12690SJung-uk Kim * 2049a9f12690SJung-uk Kim ******************************************************************************/ 2050a9f12690SJung-uk Kim 2051dcbce41eSJung-uk Kim /* Common Subtable header (one per Subtable) */ 2052dcbce41eSJung-uk Kim 2053dcbce41eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlicHdr[] = 2054a9f12690SJung-uk Kim { 2055dcbce41eSJung-uk Kim {ACPI_DMT_SLIC, ACPI_SLICH_OFFSET (Type), "Subtable Type", 0}, 2056dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLICH_OFFSET (Length), "Length", DT_LENGTH}, 2057dcbce41eSJung-uk Kim ACPI_DMT_TERMINATOR 2058dcbce41eSJung-uk Kim }; 2059dcbce41eSJung-uk Kim 2060dcbce41eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlic0[] = 2061dcbce41eSJung-uk Kim { 2062dcbce41eSJung-uk Kim {ACPI_DMT_UINT8, ACPI_SLIC0_OFFSET (KeyType), "Key Type", 0}, 2063dcbce41eSJung-uk Kim {ACPI_DMT_UINT8, ACPI_SLIC0_OFFSET (Version), "Version", 0}, 2064dcbce41eSJung-uk Kim {ACPI_DMT_UINT16, ACPI_SLIC0_OFFSET (Reserved), "Reserved", 0}, 2065dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLIC0_OFFSET (Algorithm), "Algorithm", 0}, 2066dcbce41eSJung-uk Kim {ACPI_DMT_NAME4, ACPI_SLIC0_OFFSET (Magic), "Magic", 0}, 2067dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLIC0_OFFSET (BitLength), "BitLength", 0}, 2068dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLIC0_OFFSET (Exponent), "Exponent", 0}, 2069dcbce41eSJung-uk Kim {ACPI_DMT_BUF128, ACPI_SLIC0_OFFSET (Modulus[0]), "Modulus", 0}, 2070dcbce41eSJung-uk Kim ACPI_DMT_TERMINATOR 2071dcbce41eSJung-uk Kim }; 2072dcbce41eSJung-uk Kim 2073dcbce41eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlic1[] = 2074dcbce41eSJung-uk Kim { 2075dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLIC1_OFFSET (Version), "Version", 0}, 2076dcbce41eSJung-uk Kim {ACPI_DMT_NAME6, ACPI_SLIC1_OFFSET (OemId[0]), "Oem ID", 0}, 2077dcbce41eSJung-uk Kim {ACPI_DMT_NAME8, ACPI_SLIC1_OFFSET (OemTableId[0]), "Oem Table ID", 0}, 2078dcbce41eSJung-uk Kim {ACPI_DMT_NAME8, ACPI_SLIC1_OFFSET (WindowsFlag[0]), "Windows Flag", 0}, 2079dcbce41eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_SLIC1_OFFSET (SlicVersion), "SLIC Version", 0}, 2080dcbce41eSJung-uk Kim {ACPI_DMT_BUF16, ACPI_SLIC1_OFFSET (Reserved[0]), "Reserved", 0}, 2081dcbce41eSJung-uk Kim {ACPI_DMT_BUF128, ACPI_SLIC1_OFFSET (Signature[0]), "Signature", 0}, 2082a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2083a9f12690SJung-uk Kim }; 2084a9f12690SJung-uk Kim 2085a9f12690SJung-uk Kim 2086a9f12690SJung-uk Kim /******************************************************************************* 2087a9f12690SJung-uk Kim * 20881a39cfb0SJung-uk Kim * SLIT - System Locality Information Table 20891a39cfb0SJung-uk Kim * 20901a39cfb0SJung-uk Kim ******************************************************************************/ 20911a39cfb0SJung-uk Kim 20921a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[] = 20931a39cfb0SJung-uk Kim { 2094a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SLIT_OFFSET (LocalityCount), "Localities", 0}, 2095a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 20961a39cfb0SJung-uk Kim }; 20971a39cfb0SJung-uk Kim 20981a39cfb0SJung-uk Kim 20991a39cfb0SJung-uk Kim /******************************************************************************* 21001a39cfb0SJung-uk Kim * 21011a39cfb0SJung-uk Kim * SPCR - Serial Port Console Redirection table 21021a39cfb0SJung-uk Kim * 21031a39cfb0SJung-uk Kim ******************************************************************************/ 21041a39cfb0SJung-uk Kim 21051a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[] = 21061a39cfb0SJung-uk Kim { 2107a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (InterfaceType), "Interface Type", 0}, 2108a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_SPCR_OFFSET (Reserved[0]), "Reserved", 0}, 2109a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_SPCR_OFFSET (SerialPort), "Serial Port Register", 0}, 2110a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (InterruptType), "Interrupt Type", 0}, 2111a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PcInterrupt), "PCAT-compatible IRQ", 0}, 2112a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (Interrupt), "Interrupt", 0}, 2113a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (BaudRate), "Baud Rate", 0}, 2114a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (Parity), "Parity", 0}, 2115a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (StopBits), "Stop Bits", 0}, 2116a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (FlowControl), "Flow Control", 0}, 2117a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (TerminalType), "Terminal Type", 0}, 2118a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (Reserved2), "Reserved", 0}, 2119a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPCR_OFFSET (PciDeviceId), "PCI Device ID", 0}, 2120a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPCR_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 2121a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciBus), "PCI Bus", 0}, 2122a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciDevice), "PCI Device", 0}, 2123a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciFunction), "PCI Function", 0}, 2124a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (PciFlags), "PCI Flags", 0}, 2125a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPCR_OFFSET (PciSegment), "PCI Segment", 0}, 2126a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPCR_OFFSET (Reserved2), "Reserved", 0}, 2127a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 21281a39cfb0SJung-uk Kim }; 21291a39cfb0SJung-uk Kim 21301a39cfb0SJung-uk Kim 21311a39cfb0SJung-uk Kim /******************************************************************************* 21321a39cfb0SJung-uk Kim * 21331a39cfb0SJung-uk Kim * SPMI - Server Platform Management Interface table 21341a39cfb0SJung-uk Kim * 21351a39cfb0SJung-uk Kim ******************************************************************************/ 21361a39cfb0SJung-uk Kim 21371a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[] = 21381a39cfb0SJung-uk Kim { 2139a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (InterfaceType), "Interface Type", 0}, 2140*313a0c13SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved), "Reserved", DT_NON_ZERO}, /* Value must be 1 */ 2141a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SPMI_OFFSET (SpecRevision), "IPMI Spec Version", 0}, 2142a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (InterruptType), "Interrupt Type", 0}, 2143a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (GpeNumber), "GPE Number", 0}, 2144a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved1), "Reserved", 0}, 2145a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciDeviceFlag), "PCI Device Flag", 0}, 2146a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SPMI_OFFSET (Interrupt), "Interrupt", 0}, 2147a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_SPMI_OFFSET (IpmiRegister), "IPMI Register", 0}, 2148a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciSegment), "PCI Segment", 0}, 2149a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciBus), "PCI Bus", 0}, 2150a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciDevice), "PCI Device", 0}, 2151a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (PciFunction), "PCI Function", 0}, 2152a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SPMI_OFFSET (Reserved2), "Reserved", 0}, 2153a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 21541a39cfb0SJung-uk Kim }; 21551a39cfb0SJung-uk Kim 21561a39cfb0SJung-uk Kim 21571a39cfb0SJung-uk Kim /******************************************************************************* 21581a39cfb0SJung-uk Kim * 2159a9f12690SJung-uk Kim * SRAT - System Resource Affinity Table and Subtables 21601a39cfb0SJung-uk Kim * 21611a39cfb0SJung-uk Kim ******************************************************************************/ 21621a39cfb0SJung-uk Kim 21631a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[] = 21641a39cfb0SJung-uk Kim { 2165a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT_OFFSET (TableRevision), "Table Revision", 0}, 2166a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT_OFFSET (Reserved), "Reserved", 0}, 2167a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 21681a39cfb0SJung-uk Kim }; 21691a39cfb0SJung-uk Kim 2170a9f12690SJung-uk Kim /* Common Subtable header (one per Subtable) */ 2171a9f12690SJung-uk Kim 2172a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[] = 2173a9f12690SJung-uk Kim { 2174a88e22b7SJung-uk Kim {ACPI_DMT_SRAT, ACPI_SRATH_OFFSET (Type), "Subtable Type", 0}, 2175a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRATH_OFFSET (Length), "Length", DT_LENGTH}, 2176a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2177a9f12690SJung-uk Kim }; 2178a9f12690SJung-uk Kim 2179a9f12690SJung-uk Kim /* SRAT Subtables */ 2180a9f12690SJung-uk Kim 2181a9f12690SJung-uk Kim /* 0: Processor Local APIC/SAPIC Affinity */ 2182a9f12690SJung-uk Kim 21831a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[] = 21841a39cfb0SJung-uk Kim { 2185a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (ProximityDomainLo), "Proximity Domain Low(8)", 0}, 2186a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (ApicId), "Apic ID", 0}, 2187a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT0_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2188a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT0_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2189a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_SRAT0_OFFSET (LocalSapicEid), "Local Sapic EID", 0}, 2190a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_SRAT0_OFFSET (ProximityDomainHi[0]), "Proximity Domain High(24)", 0}, 2191*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT0_OFFSET (ClockDomain), "Clock Domain", 0}, 2192a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 21931a39cfb0SJung-uk Kim }; 21941a39cfb0SJung-uk Kim 2195a9f12690SJung-uk Kim /* 1: Memory Affinity */ 2196a9f12690SJung-uk Kim 21971a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[] = 21981a39cfb0SJung-uk Kim { 2199a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2200a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SRAT1_OFFSET (Reserved), "Reserved1", 0}, 2201a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (BaseAddress), "Base Address", 0}, 2202a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (Length), "Address Length", 0}, 2203a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (Reserved1), "Reserved2", 0}, 2204a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT1_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2205a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2206a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Hot Pluggable", 0}, 2207a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_SRAT1_FLAG_OFFSET (Flags,0), "Non-Volatile", 0}, 2208a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_SRAT1_OFFSET (Reserved2), "Reserved3", 0}, 2209a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2210a9f12690SJung-uk Kim }; 2211a9f12690SJung-uk Kim 2212d6dd1baeSJung-uk Kim /* 2: Processor Local X2_APIC Affinity (ACPI 4.0) */ 2213a9f12690SJung-uk Kim 2214a9f12690SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[] = 2215a9f12690SJung-uk Kim { 2216a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_SRAT2_OFFSET (Reserved), "Reserved1", 0}, 2217a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2218a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ApicId), "Apic ID", 0}, 2219a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2220a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT2_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2221a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (ClockDomain), "Clock Domain", 0}, 2222a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT2_OFFSET (Reserved2), "Reserved2", 0}, 2223a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 22241a39cfb0SJung-uk Kim }; 22251a39cfb0SJung-uk Kim 2226*313a0c13SJung-uk Kim /* : GICC Affinity (ACPI 5.1) */ 2227*313a0c13SJung-uk Kim 2228*313a0c13SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[] = 2229*313a0c13SJung-uk Kim { 2230*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (ProximityDomain), "Proximity Domain", 0}, 2231*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (AcpiProcessorUid), "Acpi Processor UID", 0}, 2232*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2233*313a0c13SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_SRAT3_FLAG_OFFSET (Flags,0), "Enabled", 0}, 2234*313a0c13SJung-uk Kim {ACPI_DMT_UINT32, ACPI_SRAT3_OFFSET (ClockDomain), "Clock Domain", 0}, 2235*313a0c13SJung-uk Kim ACPI_DMT_TERMINATOR 2236*313a0c13SJung-uk Kim }; 2237*313a0c13SJung-uk Kim 22381a39cfb0SJung-uk Kim 22391a39cfb0SJung-uk Kim /******************************************************************************* 22401a39cfb0SJung-uk Kim * 22411a39cfb0SJung-uk Kim * TCPA - Trusted Computing Platform Alliance table 22421a39cfb0SJung-uk Kim * 22431a39cfb0SJung-uk Kim ******************************************************************************/ 22441a39cfb0SJung-uk Kim 22451a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[] = 22461a39cfb0SJung-uk Kim { 2247a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_TCPA_OFFSET (Reserved), "Reserved", 0}, 2248a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TCPA_OFFSET (MaxLogLength), "Max Event Log Length", 0}, 2249a88e22b7SJung-uk Kim {ACPI_DMT_UINT64, ACPI_TCPA_OFFSET (LogAddress), "Event Log Address", 0}, 2250a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 22511a39cfb0SJung-uk Kim }; 22521a39cfb0SJung-uk Kim 22531a39cfb0SJung-uk Kim 22541a39cfb0SJung-uk Kim /******************************************************************************* 22551a39cfb0SJung-uk Kim * 2256efcc2a30SJung-uk Kim * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table 2257efcc2a30SJung-uk Kim * 2258efcc2a30SJung-uk Kim ******************************************************************************/ 2259efcc2a30SJung-uk Kim 2260efcc2a30SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[] = 2261efcc2a30SJung-uk Kim { 2262efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TPM2_OFFSET (Flags), "Flags", 0}, 2263efcc2a30SJung-uk Kim {ACPI_DMT_UINT64, ACPI_TPM2_OFFSET (ControlAddress), "Control Address", 0}, 2264efcc2a30SJung-uk Kim {ACPI_DMT_UINT32, ACPI_TPM2_OFFSET (StartMethod), "Start Method", 0}, 2265efcc2a30SJung-uk Kim ACPI_DMT_TERMINATOR 2266efcc2a30SJung-uk Kim }; 2267efcc2a30SJung-uk Kim 2268efcc2a30SJung-uk Kim 2269efcc2a30SJung-uk Kim /******************************************************************************* 2270efcc2a30SJung-uk Kim * 2271d6dd1baeSJung-uk Kim * UEFI - UEFI Boot optimization Table 2272d6dd1baeSJung-uk Kim * 2273d6dd1baeSJung-uk Kim ******************************************************************************/ 2274d6dd1baeSJung-uk Kim 2275d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[] = 2276d6dd1baeSJung-uk Kim { 2277d244b227SJung-uk Kim {ACPI_DMT_UUID, ACPI_UEFI_OFFSET (Identifier[0]), "UUID Identifier", 0}, 2278a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_UEFI_OFFSET (DataOffset), "Data Offset", 0}, 2279a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2280d6dd1baeSJung-uk Kim }; 2281d6dd1baeSJung-uk Kim 2282d6dd1baeSJung-uk Kim 2283d6dd1baeSJung-uk Kim /******************************************************************************* 2284d6dd1baeSJung-uk Kim * 22859c48c75eSJung-uk Kim * VRTC - Virtual Real Time Clock Table 22869c48c75eSJung-uk Kim * 22879c48c75eSJung-uk Kim ******************************************************************************/ 22889c48c75eSJung-uk Kim 22899c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[] = 22909c48c75eSJung-uk Kim { 22919c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 22929c48c75eSJung-uk Kim }; 22939c48c75eSJung-uk Kim 22949c48c75eSJung-uk Kim /* VRTC Subtables - VRTC Entry */ 22959c48c75eSJung-uk Kim 22969c48c75eSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[] = 22979c48c75eSJung-uk Kim { 22989c48c75eSJung-uk Kim {ACPI_DMT_GAS, ACPI_VRTC0_OFFSET (PhysicalAddress), "PhysicalAddress", 0}, 22999c48c75eSJung-uk Kim {ACPI_DMT_UINT32, ACPI_VRTC0_OFFSET (Irq), "IRQ", 0}, 23009c48c75eSJung-uk Kim ACPI_DMT_TERMINATOR 23019c48c75eSJung-uk Kim }; 23029c48c75eSJung-uk Kim 23039c48c75eSJung-uk Kim 23049c48c75eSJung-uk Kim /******************************************************************************* 23059c48c75eSJung-uk Kim * 2306d6dd1baeSJung-uk Kim * WAET - Windows ACPI Emulated devices Table 2307d6dd1baeSJung-uk Kim * 2308d6dd1baeSJung-uk Kim ******************************************************************************/ 2309d6dd1baeSJung-uk Kim 2310d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[] = 2311d6dd1baeSJung-uk Kim { 2312a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WAET_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2313a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WAET_OFFSET (Flags), "RTC needs no INT ack", 0}, 2314a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WAET_OFFSET (Flags), "PM timer, one read only", 0}, 2315a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2316d6dd1baeSJung-uk Kim }; 2317d6dd1baeSJung-uk Kim 2318d6dd1baeSJung-uk Kim 2319d6dd1baeSJung-uk Kim /******************************************************************************* 2320d6dd1baeSJung-uk Kim * 2321d6dd1baeSJung-uk Kim * WDAT - Watchdog Action Table 2322d6dd1baeSJung-uk Kim * 2323d6dd1baeSJung-uk Kim ******************************************************************************/ 2324d6dd1baeSJung-uk Kim 2325d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[] = 2326d6dd1baeSJung-uk Kim { 2327a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (HeaderLength), "Header Length", DT_LENGTH}, 2328a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDAT_OFFSET (PciSegment), "PCI Segment", 0}, 2329a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciBus), "PCI Bus", 0}, 2330a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciDevice), "PCI Device", 0}, 2331a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (PciFunction), "PCI Function", 0}, 2332a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_WDAT_OFFSET (Reserved[0]), "Reserved", 0}, 2333a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (TimerPeriod), "Timer Period", 0}, 2334a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (MaxCount), "Max Count", 0}, 2335a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (MinCount), "Min Count", 0}, 2336a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, 2337a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDAT_OFFSET (Flags), "Enabled", 0}, 2338a88e22b7SJung-uk Kim {ACPI_DMT_FLAG7, ACPI_WDAT_OFFSET (Flags), "Stopped When Asleep", 0}, 2339a88e22b7SJung-uk Kim {ACPI_DMT_UINT24, ACPI_WDAT_OFFSET (Reserved2[0]), "Reserved", 0}, 2340a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT_OFFSET (Entries), "Watchdog Entry Count", 0}, 2341a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2342d6dd1baeSJung-uk Kim }; 2343d6dd1baeSJung-uk Kim 2344d6dd1baeSJung-uk Kim /* WDAT Subtables - Watchdog Instruction Entries */ 2345d6dd1baeSJung-uk Kim 2346d6dd1baeSJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[] = 2347d6dd1baeSJung-uk Kim { 2348a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT0_OFFSET (Action), "Watchdog Action", 0}, 2349a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDAT0_OFFSET (Instruction), "Instruction", 0}, 2350a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDAT0_OFFSET (Reserved), "Reserved", 0}, 2351a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDAT0_OFFSET (RegisterRegion), "Register Region", 0}, 2352a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT0_OFFSET (Value), "Value", 0}, 2353a88e22b7SJung-uk Kim {ACPI_DMT_UINT32, ACPI_WDAT0_OFFSET (Mask), "Register Mask", 0}, 2354a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2355a88e22b7SJung-uk Kim }; 2356a88e22b7SJung-uk Kim 2357a88e22b7SJung-uk Kim 2358a88e22b7SJung-uk Kim /******************************************************************************* 2359a88e22b7SJung-uk Kim * 2360a88e22b7SJung-uk Kim * WDDT - Watchdog Description Table 2361a88e22b7SJung-uk Kim * 2362a88e22b7SJung-uk Kim ******************************************************************************/ 2363a88e22b7SJung-uk Kim 2364a88e22b7SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[] = 2365a88e22b7SJung-uk Kim { 2366a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (SpecVersion), "Specification Version", 0}, 2367a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (TableVersion), "Table Version", 0}, 2368a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 2369a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDDT_OFFSET (Address), "Timer Register", 0}, 2370a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (MaxCount), "Max Count", 0}, 2371a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (MinCount), "Min Count", 0}, 2372a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Period), "Period", 0}, 2373a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Status), "Status (decoded below)", 0}, 2374a88e22b7SJung-uk Kim 2375a88e22b7SJung-uk Kim /* Status Flags byte 0 */ 2376a88e22b7SJung-uk Kim 2377a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDDT_FLAG_OFFSET (Status,0), "Available", 0}, 2378a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WDDT_FLAG_OFFSET (Status,0), "Active", 0}, 2379a88e22b7SJung-uk Kim {ACPI_DMT_FLAG2, ACPI_WDDT_FLAG_OFFSET (Status,0), "OS Owns", 0}, 2380a88e22b7SJung-uk Kim 2381a88e22b7SJung-uk Kim /* Status Flags byte 1 */ 2382a88e22b7SJung-uk Kim 2383a88e22b7SJung-uk Kim {ACPI_DMT_FLAG3, ACPI_WDDT_FLAG_OFFSET (Status,1), "User Reset", 0}, 2384a88e22b7SJung-uk Kim {ACPI_DMT_FLAG4, ACPI_WDDT_FLAG_OFFSET (Status,1), "Timeout Reset", 0}, 2385a88e22b7SJung-uk Kim {ACPI_DMT_FLAG5, ACPI_WDDT_FLAG_OFFSET (Status,1), "Power Fail Reset", 0}, 2386a88e22b7SJung-uk Kim {ACPI_DMT_FLAG6, ACPI_WDDT_FLAG_OFFSET (Status,1), "Unknown Reset", 0}, 2387a88e22b7SJung-uk Kim 2388a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDDT_OFFSET (Capability), "Capability (decoded below)", 0}, 2389a88e22b7SJung-uk Kim 2390a88e22b7SJung-uk Kim /* Capability Flags byte 0 */ 2391a88e22b7SJung-uk Kim 2392a88e22b7SJung-uk Kim {ACPI_DMT_FLAG0, ACPI_WDDT_FLAG_OFFSET (Capability,0), "Auto Reset", 0}, 2393a88e22b7SJung-uk Kim {ACPI_DMT_FLAG1, ACPI_WDDT_FLAG_OFFSET (Capability,0), "Timeout Alert", 0}, 2394a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 2395d6dd1baeSJung-uk Kim }; 2396d6dd1baeSJung-uk Kim 2397d6dd1baeSJung-uk Kim 2398d6dd1baeSJung-uk Kim /******************************************************************************* 2399d6dd1baeSJung-uk Kim * 24001a39cfb0SJung-uk Kim * WDRT - Watchdog Resource Table 24011a39cfb0SJung-uk Kim * 24021a39cfb0SJung-uk Kim ******************************************************************************/ 24031a39cfb0SJung-uk Kim 24041a39cfb0SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[] = 24051a39cfb0SJung-uk Kim { 2406a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDRT_OFFSET (ControlRegister), "Control Register", 0}, 2407a88e22b7SJung-uk Kim {ACPI_DMT_GAS, ACPI_WDRT_OFFSET (CountRegister), "Count Register", 0}, 2408a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (PciDeviceId), "PCI Device ID", 0}, 2409a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (PciVendorId), "PCI Vendor ID", 0}, 2410a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciBus), "PCI Bus", 0}, 2411a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciDevice), "PCI Device", 0}, 2412a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciFunction), "PCI Function", 0}, 2413a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (PciSegment), "PCI Segment", 0}, 2414a88e22b7SJung-uk Kim {ACPI_DMT_UINT16, ACPI_WDRT_OFFSET (MaxCount), "Max Count", 0}, 2415a88e22b7SJung-uk Kim {ACPI_DMT_UINT8, ACPI_WDRT_OFFSET (Units), "Counter Units", 0}, 2416a88e22b7SJung-uk Kim ACPI_DMT_TERMINATOR 24171a39cfb0SJung-uk Kim }; 2418d244b227SJung-uk Kim 24193f0275a0SJung-uk Kim /*! [Begin] no source code translation */ 24203f0275a0SJung-uk Kim 2421d244b227SJung-uk Kim /* 24223f0275a0SJung-uk Kim * Generic types (used in UEFI and custom tables) 2423d244b227SJung-uk Kim * 2424d244b227SJung-uk Kim * Examples: 2425d244b227SJung-uk Kim * 2426d244b227SJung-uk Kim * Buffer : cc 04 ff bb 2427d244b227SJung-uk Kim * UINT8 : 11 2428d244b227SJung-uk Kim * UINT16 : 1122 2429d244b227SJung-uk Kim * UINT24 : 112233 2430d244b227SJung-uk Kim * UINT32 : 11223344 2431d244b227SJung-uk Kim * UINT56 : 11223344556677 2432d244b227SJung-uk Kim * UINT64 : 1122334455667788 2433d244b227SJung-uk Kim * 2434d244b227SJung-uk Kim * String : "This is string" 2435d244b227SJung-uk Kim * Unicode : "This string encoded to Unicode" 2436d244b227SJung-uk Kim * 2437d244b227SJung-uk Kim * GUID : 11223344-5566-7788-99aa-bbccddeeff00 2438d244b227SJung-uk Kim * DevicePath : "\PciRoot(0)\Pci(0x1f,1)\Usb(0,0)" 2439d244b227SJung-uk Kim */ 2440d244b227SJung-uk Kim 2441d244b227SJung-uk Kim #define ACPI_DM_GENERIC_ENTRY(FieldType, FieldName) \ 2442d244b227SJung-uk Kim {{FieldType, 0, FieldName, 0}, ACPI_DMT_TERMINATOR} 2443d244b227SJung-uk Kim 2444d244b227SJung-uk Kim ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2] = 2445d244b227SJung-uk Kim { 2446d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT8, "UINT8"), 2447d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT16, "UINT16"), 2448d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT24, "UINT24"), 2449d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT32, "UINT32"), 24503f0275a0SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT40, "UINT40"), 24513f0275a0SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT48, "UINT48"), 2452d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT56, "UINT56"), 2453d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UINT64, "UINT64"), 2454d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING, "String"), 2455d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UNICODE, "Unicode"), 2456d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_BUFFER, "Buffer"), 2457d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_UUID, "GUID"), 2458d244b227SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_STRING, "DevicePath"), 24590b94ba42SJung-uk Kim ACPI_DM_GENERIC_ENTRY (ACPI_DMT_LABEL, "Label"), 2460d244b227SJung-uk Kim {ACPI_DMT_TERMINATOR} 2461d244b227SJung-uk Kim }; 24623f0275a0SJung-uk Kim /*! [End] no source code translation !*/ 2463