xref: /dflybsd-src/sys/contrib/dev/acpica/source/common/dmtbinfo1.c (revision 0672a19b343a7dc4779f259e126307624463026c)
17bcb6cafSSascha Wildner /******************************************************************************
27bcb6cafSSascha Wildner  *
37bcb6cafSSascha Wildner  * Module Name: dmtbinfo1 - Table info for non-AML tables
47bcb6cafSSascha Wildner  *
57bcb6cafSSascha Wildner  *****************************************************************************/
67bcb6cafSSascha Wildner 
77bcb6cafSSascha Wildner /******************************************************************************
87bcb6cafSSascha Wildner  *
97bcb6cafSSascha Wildner  * 1. Copyright Notice
107bcb6cafSSascha Wildner  *
11383048acSSascha Wildner  * Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
127bcb6cafSSascha Wildner  * All rights reserved.
137bcb6cafSSascha Wildner  *
147bcb6cafSSascha Wildner  * 2. License
157bcb6cafSSascha Wildner  *
167bcb6cafSSascha Wildner  * 2.1. This is your license from Intel Corp. under its intellectual property
177bcb6cafSSascha Wildner  * rights. You may have additional license terms from the party that provided
187bcb6cafSSascha Wildner  * you this software, covering your right to use that party's intellectual
197bcb6cafSSascha Wildner  * property rights.
207bcb6cafSSascha Wildner  *
217bcb6cafSSascha Wildner  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
227bcb6cafSSascha Wildner  * copy of the source code appearing in this file ("Covered Code") an
237bcb6cafSSascha Wildner  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
247bcb6cafSSascha Wildner  * base code distributed originally by Intel ("Original Intel Code") to copy,
257bcb6cafSSascha Wildner  * make derivatives, distribute, use and display any portion of the Covered
267bcb6cafSSascha Wildner  * Code in any form, with the right to sublicense such rights; and
277bcb6cafSSascha Wildner  *
287bcb6cafSSascha Wildner  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
297bcb6cafSSascha Wildner  * license (with the right to sublicense), under only those claims of Intel
307bcb6cafSSascha Wildner  * patents that are infringed by the Original Intel Code, to make, use, sell,
317bcb6cafSSascha Wildner  * offer to sell, and import the Covered Code and derivative works thereof
327bcb6cafSSascha Wildner  * solely to the minimum extent necessary to exercise the above copyright
337bcb6cafSSascha Wildner  * license, and in no event shall the patent license extend to any additions
347bcb6cafSSascha Wildner  * to or modifications of the Original Intel Code. No other license or right
357bcb6cafSSascha Wildner  * is granted directly or by implication, estoppel or otherwise;
367bcb6cafSSascha Wildner  *
377bcb6cafSSascha Wildner  * The above copyright and patent license is granted only if the following
387bcb6cafSSascha Wildner  * conditions are met:
397bcb6cafSSascha Wildner  *
407bcb6cafSSascha Wildner  * 3. Conditions
417bcb6cafSSascha Wildner  *
427bcb6cafSSascha Wildner  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
437bcb6cafSSascha Wildner  * Redistribution of source code of any substantial portion of the Covered
447bcb6cafSSascha Wildner  * Code or modification with rights to further distribute source must include
457bcb6cafSSascha Wildner  * the above Copyright Notice, the above License, this list of Conditions,
467bcb6cafSSascha Wildner  * and the following Disclaimer and Export Compliance provision. In addition,
477bcb6cafSSascha Wildner  * Licensee must cause all Covered Code to which Licensee contributes to
487bcb6cafSSascha Wildner  * contain a file documenting the changes Licensee made to create that Covered
497bcb6cafSSascha Wildner  * Code and the date of any change. Licensee must include in that file the
507bcb6cafSSascha Wildner  * documentation of any changes made by any predecessor Licensee. Licensee
517bcb6cafSSascha Wildner  * must include a prominent statement that the modification is derived,
527bcb6cafSSascha Wildner  * directly or indirectly, from Original Intel Code.
537bcb6cafSSascha Wildner  *
547bcb6cafSSascha Wildner  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
557bcb6cafSSascha Wildner  * Redistribution of source code of any substantial portion of the Covered
567bcb6cafSSascha Wildner  * Code or modification without rights to further distribute source must
577bcb6cafSSascha Wildner  * include the following Disclaimer and Export Compliance provision in the
587bcb6cafSSascha Wildner  * documentation and/or other materials provided with distribution. In
597bcb6cafSSascha Wildner  * addition, Licensee may not authorize further sublicense of source of any
607bcb6cafSSascha Wildner  * portion of the Covered Code, and must include terms to the effect that the
617bcb6cafSSascha Wildner  * license from Licensee to its licensee is limited to the intellectual
627bcb6cafSSascha Wildner  * property embodied in the software Licensee provides to its licensee, and
637bcb6cafSSascha Wildner  * not to intellectual property embodied in modifications its licensee may
647bcb6cafSSascha Wildner  * make.
657bcb6cafSSascha Wildner  *
667bcb6cafSSascha Wildner  * 3.3. Redistribution of Executable. Redistribution in executable form of any
677bcb6cafSSascha Wildner  * substantial portion of the Covered Code or modification must reproduce the
687bcb6cafSSascha Wildner  * above Copyright Notice, and the following Disclaimer and Export Compliance
697bcb6cafSSascha Wildner  * provision in the documentation and/or other materials provided with the
707bcb6cafSSascha Wildner  * distribution.
717bcb6cafSSascha Wildner  *
727bcb6cafSSascha Wildner  * 3.4. Intel retains all right, title, and interest in and to the Original
737bcb6cafSSascha Wildner  * Intel Code.
747bcb6cafSSascha Wildner  *
757bcb6cafSSascha Wildner  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
767bcb6cafSSascha Wildner  * Intel shall be used in advertising or otherwise to promote the sale, use or
777bcb6cafSSascha Wildner  * other dealings in products derived from or relating to the Covered Code
787bcb6cafSSascha Wildner  * without prior written authorization from Intel.
797bcb6cafSSascha Wildner  *
807bcb6cafSSascha Wildner  * 4. Disclaimer and Export Compliance
817bcb6cafSSascha Wildner  *
827bcb6cafSSascha Wildner  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
837bcb6cafSSascha Wildner  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
847bcb6cafSSascha Wildner  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
857bcb6cafSSascha Wildner  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
867bcb6cafSSascha Wildner  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
877bcb6cafSSascha Wildner  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
887bcb6cafSSascha Wildner  * PARTICULAR PURPOSE.
897bcb6cafSSascha Wildner  *
907bcb6cafSSascha Wildner  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
917bcb6cafSSascha Wildner  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
927bcb6cafSSascha Wildner  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
937bcb6cafSSascha Wildner  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
947bcb6cafSSascha Wildner  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
957bcb6cafSSascha Wildner  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
967bcb6cafSSascha Wildner  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
977bcb6cafSSascha Wildner  * LIMITED REMEDY.
987bcb6cafSSascha Wildner  *
997bcb6cafSSascha Wildner  * 4.3. Licensee shall not export, either directly or indirectly, any of this
1007bcb6cafSSascha Wildner  * software or system incorporating such software without first obtaining any
1017bcb6cafSSascha Wildner  * required license or other approval from the U. S. Department of Commerce or
1027bcb6cafSSascha Wildner  * any other agency or department of the United States Government. In the
1037bcb6cafSSascha Wildner  * event Licensee exports any such software from the United States or
1047bcb6cafSSascha Wildner  * re-exports any such software from a foreign destination, Licensee shall
1057bcb6cafSSascha Wildner  * ensure that the distribution and export/re-export of the software is in
1067bcb6cafSSascha Wildner  * compliance with all laws, regulations, orders, or other restrictions of the
1077bcb6cafSSascha Wildner  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
1087bcb6cafSSascha Wildner  * any of its subsidiaries will export/re-export any technical data, process,
1097bcb6cafSSascha Wildner  * software, or service, directly or indirectly, to any country for which the
1107bcb6cafSSascha Wildner  * United States government or any agency thereof requires an export license,
1117bcb6cafSSascha Wildner  * other governmental approval, or letter of assurance, without first obtaining
1127bcb6cafSSascha Wildner  * such license, approval or letter.
1137bcb6cafSSascha Wildner  *
1147bcb6cafSSascha Wildner  *****************************************************************************
1157bcb6cafSSascha Wildner  *
1167bcb6cafSSascha Wildner  * Alternatively, you may choose to be licensed under the terms of the
1177bcb6cafSSascha Wildner  * following license:
1187bcb6cafSSascha Wildner  *
1197bcb6cafSSascha Wildner  * Redistribution and use in source and binary forms, with or without
1207bcb6cafSSascha Wildner  * modification, are permitted provided that the following conditions
1217bcb6cafSSascha Wildner  * are met:
1227bcb6cafSSascha Wildner  * 1. Redistributions of source code must retain the above copyright
1237bcb6cafSSascha Wildner  *    notice, this list of conditions, and the following disclaimer,
1247bcb6cafSSascha Wildner  *    without modification.
1257bcb6cafSSascha Wildner  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1267bcb6cafSSascha Wildner  *    substantially similar to the "NO WARRANTY" disclaimer below
1277bcb6cafSSascha Wildner  *    ("Disclaimer") and any redistribution must be conditioned upon
1287bcb6cafSSascha Wildner  *    including a substantially similar Disclaimer requirement for further
1297bcb6cafSSascha Wildner  *    binary redistribution.
1307bcb6cafSSascha Wildner  * 3. Neither the names of the above-listed copyright holders nor the names
1317bcb6cafSSascha Wildner  *    of any contributors may be used to endorse or promote products derived
1327bcb6cafSSascha Wildner  *    from this software without specific prior written permission.
1337bcb6cafSSascha Wildner  *
1347bcb6cafSSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1357bcb6cafSSascha Wildner  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1367bcb6cafSSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1377bcb6cafSSascha Wildner  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1387bcb6cafSSascha Wildner  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1397bcb6cafSSascha Wildner  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1407bcb6cafSSascha Wildner  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1417bcb6cafSSascha Wildner  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1427bcb6cafSSascha Wildner  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1437bcb6cafSSascha Wildner  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1447bcb6cafSSascha Wildner  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1457bcb6cafSSascha Wildner  *
1467bcb6cafSSascha Wildner  * Alternatively, you may choose to be licensed under the terms of the
1477bcb6cafSSascha Wildner  * GNU General Public License ("GPL") version 2 as published by the Free
1487bcb6cafSSascha Wildner  * Software Foundation.
1497bcb6cafSSascha Wildner  *
1507bcb6cafSSascha Wildner  *****************************************************************************/
1517bcb6cafSSascha Wildner 
1527bcb6cafSSascha Wildner #include "acpi.h"
1537bcb6cafSSascha Wildner #include "accommon.h"
1547bcb6cafSSascha Wildner #include "acdisasm.h"
1557bcb6cafSSascha Wildner #include "actbinfo.h"
1567bcb6cafSSascha Wildner 
1577bcb6cafSSascha Wildner /* This module used for application-level code only */
1587bcb6cafSSascha Wildner 
1597bcb6cafSSascha Wildner #define _COMPONENT          ACPI_CA_DISASSEMBLER
1607bcb6cafSSascha Wildner         ACPI_MODULE_NAME    ("dmtbinfo1")
1617bcb6cafSSascha Wildner 
1627bcb6cafSSascha Wildner /*
1637bcb6cafSSascha Wildner  * How to add a new table:
1647bcb6cafSSascha Wildner  *
1657bcb6cafSSascha Wildner  * - Add the C table definition to the actbl1.h or actbl2.h header.
1667bcb6cafSSascha Wildner  * - Add ACPI_xxxx_OFFSET macro(s) for the table (and subtables) to list below.
1677bcb6cafSSascha Wildner  * - Define the table in this file (for the disassembler). If any
1687bcb6cafSSascha Wildner  *   new data types are required (ACPI_DMT_*), see below.
1697bcb6cafSSascha Wildner  * - Add an external declaration for the new table definition (AcpiDmTableInfo*)
1707bcb6cafSSascha Wildner  *     in acdisam.h
1717bcb6cafSSascha Wildner  * - Add new table definition to the dispatch table in dmtable.c (AcpiDmTableData)
1727bcb6cafSSascha Wildner  *     If a simple table (with no subtables), no disassembly code is needed.
1737bcb6cafSSascha Wildner  *     Otherwise, create the AcpiDmDump* function for to disassemble the table
1747bcb6cafSSascha Wildner  *     and add it to the dmtbdump.c file.
1757bcb6cafSSascha Wildner  * - Add an external declaration for the new AcpiDmDump* function in acdisasm.h
1767bcb6cafSSascha Wildner  * - Add the new AcpiDmDump* function to the dispatch table in dmtable.c
1777bcb6cafSSascha Wildner  * - Create a template for the new table
1787bcb6cafSSascha Wildner  * - Add data table compiler support
1797bcb6cafSSascha Wildner  *
1807bcb6cafSSascha Wildner  * How to add a new data type (ACPI_DMT_*):
1817bcb6cafSSascha Wildner  *
1827bcb6cafSSascha Wildner  * - Add new type at the end of the ACPI_DMT list in acdisasm.h
1837bcb6cafSSascha Wildner  * - Add length and implementation cases in dmtable.c  (disassembler)
1847bcb6cafSSascha Wildner  * - Add type and length cases in dtutils.c (DT compiler)
1857bcb6cafSSascha Wildner  */
1867bcb6cafSSascha Wildner 
1877bcb6cafSSascha Wildner /*
1887bcb6cafSSascha Wildner  * ACPI Table Information, used to dump formatted ACPI tables
1897bcb6cafSSascha Wildner  *
1907bcb6cafSSascha Wildner  * Each entry is of the form:  <Field Type, Field Offset, Field Name>
1917bcb6cafSSascha Wildner  */
1927bcb6cafSSascha Wildner 
1937bcb6cafSSascha Wildner 
1947bcb6cafSSascha Wildner /*******************************************************************************
1957bcb6cafSSascha Wildner  *
196*0672a19bSSascha Wildner  * AEST - ARM Error Source table. Conforms to:
197*0672a19bSSascha Wildner  * ACPI for the Armv8 RAS Extensions 1.1 Platform Design Document Sep 2020
198*0672a19bSSascha Wildner  *
199*0672a19bSSascha Wildner  ******************************************************************************/
200*0672a19bSSascha Wildner 
201*0672a19bSSascha Wildner /* Common Subtable header (one per Subtable) */
202*0672a19bSSascha Wildner 
203*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestHdr[] =
204*0672a19bSSascha Wildner {
205*0672a19bSSascha Wildner     {ACPI_DMT_AEST,     ACPI_AESTH_OFFSET (Type),                   "Subtable Type", 0},
206*0672a19bSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_AESTH_OFFSET (Length),                 "Length", DT_LENGTH},
207*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AESTH_OFFSET (Reserved),               "Reserved", 0},
208*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AESTH_OFFSET (NodeSpecificOffset),     "Node Specific Offset", 0},
209*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AESTH_OFFSET (NodeInterfaceOffset),    "Node Interface Offset", 0},
210*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AESTH_OFFSET (NodeInterruptOffset),    "Node Interrupt Array Offset", 0},
211*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AESTH_OFFSET (NodeInterruptCount),     "Node Interrupt Array Count", 0},
212*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AESTH_OFFSET (TimestampRate),          "Timestamp Rate", 0},
213*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AESTH_OFFSET (Reserved1),              "Reserved", 0},
214*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AESTH_OFFSET (ErrorInjectionRate),     "Error Injection Rate", 0},
215*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
216*0672a19bSSascha Wildner };
217*0672a19bSSascha Wildner 
218*0672a19bSSascha Wildner /*
219*0672a19bSSascha Wildner  * AEST subtables (nodes)
220*0672a19bSSascha Wildner  */
221*0672a19bSSascha Wildner 
222*0672a19bSSascha Wildner /* 0: Processor Error */
223*0672a19bSSascha Wildner 
224*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestProcError[] =
225*0672a19bSSascha Wildner {
226*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0_OFFSET (ProcessorId),            "Processor ID", 0},
227*0672a19bSSascha Wildner     {ACPI_DMT_AEST_RES, ACPI_AEST0_OFFSET (ResourceType),           "Resource Type", 0},
228*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AEST0_OFFSET (Reserved),               "Reserved", 0},
229*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AEST0_OFFSET (Flags),                  "Flags (decoded Below)", 0},
230*0672a19bSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_AEST0_FLAG_OFFSET (Flags, 0),          "Global", 0},
231*0672a19bSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_AEST0_FLAG_OFFSET (Flags, 0),          "Shared", 0},
232*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AEST0_OFFSET (Revision),               "Revision", 0},
233*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AEST0_OFFSET (ProcessorAffinity),      "Processor Affinity Structure", 0},
234*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
235*0672a19bSSascha Wildner };
236*0672a19bSSascha Wildner 
237*0672a19bSSascha Wildner /* 0RT: Processor Cache Resource */
238*0672a19bSSascha Wildner 
239*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestCacheRsrc[] =
240*0672a19bSSascha Wildner {
241*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0A_OFFSET (CacheReference),        "Cache Reference", 0},
242*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0A_OFFSET (Reserved),              "Reserved", 0},
243*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
244*0672a19bSSascha Wildner };
245*0672a19bSSascha Wildner 
246*0672a19bSSascha Wildner /* 1RT: ProcessorTLB Resource */
247*0672a19bSSascha Wildner 
248*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestTlbRsrc[] =
249*0672a19bSSascha Wildner {
250*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0B_OFFSET (TlbLevel),              "TLB Level", 0},
251*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0B_OFFSET (Reserved),              "Reserved", 0},
252*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
253*0672a19bSSascha Wildner };
254*0672a19bSSascha Wildner 
255*0672a19bSSascha Wildner /* 2RT: Processor Generic Resource */
256*0672a19bSSascha Wildner 
257*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestGenRsrc[] =
258*0672a19bSSascha Wildner {
259*0672a19bSSascha Wildner     {ACPI_DMT_RAW_BUFFER, 0,                                        "Resource", 0},
260*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
261*0672a19bSSascha Wildner };
262*0672a19bSSascha Wildner 
263*0672a19bSSascha Wildner /* 1: Memory Error */
264*0672a19bSSascha Wildner 
265*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestMemError[] =
266*0672a19bSSascha Wildner {
267*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST1_OFFSET (SratProximityDomain),    "Srat Proximity Domain", 0},
268*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
269*0672a19bSSascha Wildner };
270*0672a19bSSascha Wildner 
271*0672a19bSSascha Wildner /* 2: Smmu Error */
272*0672a19bSSascha Wildner 
273*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestSmmuError[] =
274*0672a19bSSascha Wildner {
275*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST2_OFFSET (IortNodeReference),      "Iort Node Reference", 0},
276*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST2_OFFSET (SubcomponentReference),  "Subcomponent Reference", 0},
277*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
278*0672a19bSSascha Wildner };
279*0672a19bSSascha Wildner 
280*0672a19bSSascha Wildner /* 3: Vendor Defined */
281*0672a19bSSascha Wildner 
282*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestVendorError[] =
283*0672a19bSSascha Wildner {
284*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST3_OFFSET (AcpiHid),                "ACPI HID", 0},
285*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST3_OFFSET (AcpiUid),                "ACPI UID", 0},
286*0672a19bSSascha Wildner     {ACPI_DMT_BUF16,    ACPI_AEST3_OFFSET (VendorSpecificData),     "Vendor Specific Data", 0},
287*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
288*0672a19bSSascha Wildner };
289*0672a19bSSascha Wildner 
290*0672a19bSSascha Wildner /* 4: Gic Error */
291*0672a19bSSascha Wildner 
292*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestGicError[] =
293*0672a19bSSascha Wildner {
294*0672a19bSSascha Wildner     {ACPI_DMT_AEST_GIC, ACPI_AEST4_OFFSET (InterfaceType),          "GIC Interface Type", 0},
295*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST4_OFFSET (InstanceId),             "Instance ID", 0},
296*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
297*0672a19bSSascha Wildner };
298*0672a19bSSascha Wildner 
299*0672a19bSSascha Wildner /* AestXface: Node Interface Structure */
300*0672a19bSSascha Wildner 
301*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestXface[] =
302*0672a19bSSascha Wildner {
303*0672a19bSSascha Wildner     {ACPI_DMT_AEST_XFACE, ACPI_AEST0D_OFFSET (Type),                "Interface Type", 0},
304*0672a19bSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_AEST0D_OFFSET (Reserved[0]),           "Reserved", 0},
305*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0D_OFFSET (Flags),                 "Flags (decoded below)", 0},
306*0672a19bSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_AEST0D_FLAG_OFFSET (Flags, 0),         "Shared Interface", 0},
307*0672a19bSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_AEST0D_FLAG_OFFSET (Flags, 0),         "Clear MISCx Registers", 0},
308*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AEST0D_OFFSET (Address),               "Address", 0},
309*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0D_OFFSET (ErrorRecordIndex),      "Error Record Index", 0},
310*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0D_OFFSET (ErrorRecordCount),      "Error Record Count", 0},
311*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AEST0D_OFFSET (ErrorRecordImplemented),"Error Record Implemented", 0},
312*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AEST0D_OFFSET (ErrorStatusReporting),  "Error Status Reporting", 0},
313*0672a19bSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_AEST0D_OFFSET (AddressingMode),        "Addressing Mode", 0},
314*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
315*0672a19bSSascha Wildner };
316*0672a19bSSascha Wildner 
317*0672a19bSSascha Wildner /* AestXrupt: Node Interrupt Structure */
318*0672a19bSSascha Wildner 
319*0672a19bSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAestXrupt[] =
320*0672a19bSSascha Wildner {
321*0672a19bSSascha Wildner     {ACPI_DMT_AEST_XRUPT, ACPI_AEST0E_OFFSET (Type),                "Interrupt Type", 0},
322*0672a19bSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_AEST0E_OFFSET (Reserved),              "Reserved", 0},
323*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AEST0E_OFFSET (Flags),                 "Flags (decoded below)", 0},
324*0672a19bSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_AEST0E_FLAG_OFFSET (Flags, 0),         "Level Triggered", 0},
325*0672a19bSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_AEST0E_OFFSET (Gsiv),                  "Gsiv", 0},
326*0672a19bSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_AEST0E_OFFSET (IortId),                "IortId", 0},
327*0672a19bSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_AEST0E_OFFSET (Reserved1[0]),          "Reserved", 0},
328*0672a19bSSascha Wildner     ACPI_DMT_TERMINATOR
329*0672a19bSSascha Wildner };
330*0672a19bSSascha Wildner 
331*0672a19bSSascha Wildner 
332*0672a19bSSascha Wildner /*******************************************************************************
333*0672a19bSSascha Wildner  *
3347bcb6cafSSascha Wildner  * ASF - Alert Standard Format table (Signature "ASF!")
3357bcb6cafSSascha Wildner  *
3367bcb6cafSSascha Wildner  ******************************************************************************/
3377bcb6cafSSascha Wildner 
3387bcb6cafSSascha Wildner /* Common Subtable header (one per Subtable) */
3397bcb6cafSSascha Wildner 
3407bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsfHdr[] =
3417bcb6cafSSascha Wildner {
3427bcb6cafSSascha Wildner     {ACPI_DMT_ASF,      ACPI_ASF0_OFFSET (Header.Type),             "Subtable Type", 0},
3437bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF0_OFFSET (Header.Reserved),         "Reserved", 0},
3447bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF0_OFFSET (Header.Length),           "Length", DT_LENGTH},
3457bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
3467bcb6cafSSascha Wildner };
3477bcb6cafSSascha Wildner 
3487bcb6cafSSascha Wildner /* 0: ASF Information */
3497bcb6cafSSascha Wildner 
3507bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf0[] =
3517bcb6cafSSascha Wildner {
3527bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF0_OFFSET (MinResetValue),           "Minimum Reset Value", 0},
3537bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF0_OFFSET (MinPollInterval),         "Minimum Polling Interval", 0},
3547bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF0_OFFSET (SystemId),                "System ID", 0},
3557bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ASF0_OFFSET (MfgId),                   "Manufacturer ID", 0},
3567bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF0_OFFSET (Flags),                   "Flags", 0},
3577bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_ASF0_OFFSET (Reserved2[0]),            "Reserved", 0},
3587bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
3597bcb6cafSSascha Wildner };
3607bcb6cafSSascha Wildner 
3617bcb6cafSSascha Wildner /* 1: ASF Alerts */
3627bcb6cafSSascha Wildner 
3637bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf1[] =
3647bcb6cafSSascha Wildner {
3657bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1_OFFSET (AssertMask),              "AssertMask", 0},
3667bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1_OFFSET (DeassertMask),            "DeassertMask", 0},
3677bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1_OFFSET (Alerts),                  "Alert Count", 0},
3687bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1_OFFSET (DataLength),              "Alert Data Length", 0},
3697bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
3707bcb6cafSSascha Wildner };
3717bcb6cafSSascha Wildner 
3727bcb6cafSSascha Wildner /* 1a: ASF Alert data */
3737bcb6cafSSascha Wildner 
3747bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf1a[] =
3757bcb6cafSSascha Wildner {
3767bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Address),                "Address", 0},
3777bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Command),                "Command", 0},
3787bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Mask),                   "Mask", 0},
3797bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Value),                  "Value", 0},
3807bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (SensorType),             "SensorType", 0},
3817bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Type),                   "Type", 0},
3827bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Offset),                 "Offset", 0},
3837bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (SourceType),             "SourceType", 0},
3847bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Severity),               "Severity", 0},
3857bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (SensorNumber),           "SensorNumber", 0},
3867bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Entity),                 "Entity", 0},
3877bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF1a_OFFSET (Instance),               "Instance", 0},
3887bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
3897bcb6cafSSascha Wildner };
3907bcb6cafSSascha Wildner 
3917bcb6cafSSascha Wildner /* 2: ASF Remote Control */
3927bcb6cafSSascha Wildner 
3937bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf2[] =
3947bcb6cafSSascha Wildner {
3957bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2_OFFSET (Controls),                "Control Count", 0},
3967bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2_OFFSET (DataLength),              "Control Data Length", 0},
3977bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF2_OFFSET (Reserved2),               "Reserved", 0},
3987bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
3997bcb6cafSSascha Wildner };
4007bcb6cafSSascha Wildner 
4017bcb6cafSSascha Wildner /* 2a: ASF Control data */
4027bcb6cafSSascha Wildner 
4037bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf2a[] =
4047bcb6cafSSascha Wildner {
4057bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2a_OFFSET (Function),               "Function", 0},
4067bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2a_OFFSET (Address),                "Address", 0},
4077bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2a_OFFSET (Command),                "Command", 0},
4087bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF2a_OFFSET (Value),                  "Value", 0},
4097bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4107bcb6cafSSascha Wildner };
4117bcb6cafSSascha Wildner 
4127bcb6cafSSascha Wildner /* 3: ASF RMCP Boot Options */
4137bcb6cafSSascha Wildner 
4147bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf3[] =
4157bcb6cafSSascha Wildner {
4167bcb6cafSSascha Wildner     {ACPI_DMT_BUF7,     ACPI_ASF3_OFFSET (Capabilities[0]),         "Capabilities", 0},
4177bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF3_OFFSET (CompletionCode),          "Completion Code", 0},
4187bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ASF3_OFFSET (EnterpriseId),            "Enterprise ID", 0},
4197bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF3_OFFSET (Command),                 "Command", 0},
4207bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF3_OFFSET (Parameter),               "Parameter", 0},
4217bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF3_OFFSET (BootOptions),             "Boot Options", 0},
4227bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_ASF3_OFFSET (OemParameters),           "Oem Parameters", 0},
4237bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4247bcb6cafSSascha Wildner };
4257bcb6cafSSascha Wildner 
4267bcb6cafSSascha Wildner /* 4: ASF Address */
4277bcb6cafSSascha Wildner 
4287bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf4[] =
4297bcb6cafSSascha Wildner {
4307bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF4_OFFSET (EpromAddress),            "Eprom Address", 0},
4317bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ASF4_OFFSET (Devices),                 "Device Count", DT_COUNT},
4327bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4337bcb6cafSSascha Wildner };
4347bcb6cafSSascha Wildner 
4357bcb6cafSSascha Wildner 
4367bcb6cafSSascha Wildner /*******************************************************************************
4377bcb6cafSSascha Wildner  *
4384898bea4SSascha Wildner  * BDAT -  BIOS Data ACPI Table
4394898bea4SSascha Wildner  *
4404898bea4SSascha Wildner  ******************************************************************************/
4414898bea4SSascha Wildner 
4424898bea4SSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoBdat[] =
4434898bea4SSascha Wildner {
4444898bea4SSascha Wildner     {ACPI_DMT_GAS,      ACPI_BDAT_OFFSET (Gas),                     "BDAT Generic Address", 0},
4454898bea4SSascha Wildner     ACPI_DMT_TERMINATOR
4464898bea4SSascha Wildner };
4474898bea4SSascha Wildner 
4484898bea4SSascha Wildner 
4494898bea4SSascha Wildner /*******************************************************************************
4504898bea4SSascha Wildner  *
4517bcb6cafSSascha Wildner  * BERT -  Boot Error Record table
4527bcb6cafSSascha Wildner  *
4537bcb6cafSSascha Wildner  ******************************************************************************/
4547bcb6cafSSascha Wildner 
4557bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoBert[] =
4567bcb6cafSSascha Wildner {
4577bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_BERT_OFFSET (RegionLength),            "Boot Error Region Length", 0},
4587bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_BERT_OFFSET (Address),                 "Boot Error Region Address", 0},
4597bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4607bcb6cafSSascha Wildner };
4617bcb6cafSSascha Wildner 
4627bcb6cafSSascha Wildner 
4637bcb6cafSSascha Wildner /*******************************************************************************
4647bcb6cafSSascha Wildner  *
4657bcb6cafSSascha Wildner  * BGRT -  Boot Graphics Resource Table (ACPI 5.0)
4667bcb6cafSSascha Wildner  *
4677bcb6cafSSascha Wildner  ******************************************************************************/
4687bcb6cafSSascha Wildner 
4697bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoBgrt[] =
4707bcb6cafSSascha Wildner {
4717bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_BGRT_OFFSET (Version),                 "Version", 0},
4727bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_BGRT_OFFSET (Status),                  "Status (decoded below)", DT_FLAG},
4737bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_BGRT_FLAG_OFFSET (Status, 0),          "Displayed", 0},
4747bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS1,   ACPI_BGRT_FLAG_OFFSET (Status, 0),          "Orientation Offset", 0},
4757bcb6cafSSascha Wildner 
4767bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_BGRT_OFFSET (ImageType),               "Image Type", 0},
4777bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_BGRT_OFFSET (ImageAddress),            "Image Address", 0},
4787bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_BGRT_OFFSET (ImageOffsetX),            "Image OffsetX", 0},
4797bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_BGRT_OFFSET (ImageOffsetY),            "Image OffsetY", 0},
4807bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4817bcb6cafSSascha Wildner };
4827bcb6cafSSascha Wildner 
4837bcb6cafSSascha Wildner 
4847bcb6cafSSascha Wildner /*******************************************************************************
4857bcb6cafSSascha Wildner  *
4867bcb6cafSSascha Wildner  * BOOT - Simple Boot Flag Table
4877bcb6cafSSascha Wildner  *
4887bcb6cafSSascha Wildner  ******************************************************************************/
4897bcb6cafSSascha Wildner 
4907bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoBoot[] =
4917bcb6cafSSascha Wildner {
4927bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_BOOT_OFFSET (CmosIndex),               "Boot Register Index", 0},
4937bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_BOOT_OFFSET (Reserved[0]),             "Reserved", 0},
4947bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
4957bcb6cafSSascha Wildner };
4967bcb6cafSSascha Wildner 
4977bcb6cafSSascha Wildner 
4987bcb6cafSSascha Wildner /*******************************************************************************
4997bcb6cafSSascha Wildner  *
50001d5d5dfSSascha Wildner  * CEDT - CXL Early Discovery Table
50101d5d5dfSSascha Wildner  *
50201d5d5dfSSascha Wildner  ******************************************************************************/
50301d5d5dfSSascha Wildner 
50401d5d5dfSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCedtHdr[] =
50501d5d5dfSSascha Wildner {
50601d5d5dfSSascha Wildner     {ACPI_DMT_CEDT,     ACPI_CEDT_OFFSET (Type),               "Subtable Type", 0},
50701d5d5dfSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CEDT_OFFSET (Reserved),           "Reserved", 0},
50801d5d5dfSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CEDT_OFFSET (Length),             "Length", DT_LENGTH},
50901d5d5dfSSascha Wildner     ACPI_DMT_TERMINATOR
51001d5d5dfSSascha Wildner };
51101d5d5dfSSascha Wildner 
51201d5d5dfSSascha Wildner /* 0: CXL Host Bridge Structure */
51301d5d5dfSSascha Wildner 
51401d5d5dfSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCedt0[] =
51501d5d5dfSSascha Wildner {
51601d5d5dfSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CEDT0_OFFSET (Uid),               "Associated host bridge", 0},
51701d5d5dfSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CEDT0_OFFSET (CxlVersion),        "Specification version", 0},
51801d5d5dfSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CEDT0_OFFSET (Reserved),          "Reserved", 0},
51901d5d5dfSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_CEDT0_OFFSET (Base),              "Register base", 0},
52001d5d5dfSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_CEDT0_OFFSET (Length),            "Register length", 0},
52101d5d5dfSSascha Wildner     ACPI_DMT_TERMINATOR
52201d5d5dfSSascha Wildner };
52301d5d5dfSSascha Wildner 
52401d5d5dfSSascha Wildner 
52501d5d5dfSSascha Wildner /*******************************************************************************
52601d5d5dfSSascha Wildner  *
5277bcb6cafSSascha Wildner  * CPEP - Corrected Platform Error Polling table
5287bcb6cafSSascha Wildner  *
5297bcb6cafSSascha Wildner  ******************************************************************************/
5307bcb6cafSSascha Wildner 
5317bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCpep[] =
5327bcb6cafSSascha Wildner {
5337bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_CPEP_OFFSET (Reserved),                "Reserved", 0},
5347bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
5357bcb6cafSSascha Wildner };
5367bcb6cafSSascha Wildner 
5377bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCpep0[] =
5387bcb6cafSSascha Wildner {
5397bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CPEP0_OFFSET (Header.Type),            "Subtable Type", 0},
5407bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CPEP0_OFFSET (Header.Length),          "Length", DT_LENGTH},
5417bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CPEP0_OFFSET (Id),                     "Processor ID", 0},
5427bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CPEP0_OFFSET (Eid),                    "Processor EID", 0},
5437bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CPEP0_OFFSET (Interval),               "Polling Interval", 0},
5447bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
5457bcb6cafSSascha Wildner };
5467bcb6cafSSascha Wildner 
5477bcb6cafSSascha Wildner 
5487bcb6cafSSascha Wildner /*******************************************************************************
5497bcb6cafSSascha Wildner  *
5507bcb6cafSSascha Wildner  * CSRT - Core System Resource Table
5517bcb6cafSSascha Wildner  *
5527bcb6cafSSascha Wildner  ******************************************************************************/
5537bcb6cafSSascha Wildner 
5547bcb6cafSSascha Wildner /* Main table consists only of the standard ACPI table header */
5557bcb6cafSSascha Wildner 
5567bcb6cafSSascha Wildner /* Resource Group subtable */
5577bcb6cafSSascha Wildner 
5587bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCsrt0[] =
5597bcb6cafSSascha Wildner {
5607bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT0_OFFSET (Length),                 "Length", DT_LENGTH},
5617bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT0_OFFSET (VendorId),               "Vendor ID", 0},
5627bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT0_OFFSET (SubvendorId),            "Subvendor ID", 0},
5637bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT0_OFFSET (DeviceId),               "Device ID", 0},
5647bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT0_OFFSET (SubdeviceId),            "Subdevice ID", 0},
5657bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT0_OFFSET (Revision),               "Revision", 0},
5667bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT0_OFFSET (Reserved),               "Reserved", 0},
5677bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT0_OFFSET (SharedInfoLength),       "Shared Info Length", 0},
5687bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
5697bcb6cafSSascha Wildner };
5707bcb6cafSSascha Wildner 
5717bcb6cafSSascha Wildner /* Shared Info subtable */
5727bcb6cafSSascha Wildner 
5737bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCsrt1[] =
5747bcb6cafSSascha Wildner {
5757bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT1_OFFSET (MajorVersion),           "Major Version", 0},
5767bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT1_OFFSET (MinorVersion),           "Minor Version", 0},
5777bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT1_OFFSET (MmioBaseLow),            "MMIO Base Address Low", 0},
5787bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT1_OFFSET (MmioBaseHigh),           "MMIO Base Address High", 0},
5797bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT1_OFFSET (GsiInterrupt),           "GSI Interrupt", 0},
5807bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CSRT1_OFFSET (InterruptPolarity),      "Interrupt Polarity", 0},
5817bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CSRT1_OFFSET (InterruptMode),          "Interrupt Mode", 0},
5827bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CSRT1_OFFSET (NumChannels),            "Num Channels", 0},
5837bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_CSRT1_OFFSET (DmaAddressWidth),        "DMA Address Width", 0},
5847bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT1_OFFSET (BaseRequestLine),        "Base Request Line", 0},
5857bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT1_OFFSET (NumHandshakeSignals),    "Num Handshake Signals", 0},
5867bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT1_OFFSET (MaxBlockSize),           "Max Block Size", 0},
5877bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
5887bcb6cafSSascha Wildner };
5897bcb6cafSSascha Wildner 
5907bcb6cafSSascha Wildner /* Resource Descriptor subtable */
5917bcb6cafSSascha Wildner 
5927bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCsrt2[] =
5937bcb6cafSSascha Wildner {
5947bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT2_OFFSET (Length),                 "Length", DT_LENGTH},
5957bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT2_OFFSET (Type),                   "Type", 0},
5967bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_CSRT2_OFFSET (Subtype),                "Subtype", 0},
5977bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_CSRT2_OFFSET (Uid),                    "UID", 0},
5987bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
5997bcb6cafSSascha Wildner };
6007bcb6cafSSascha Wildner 
6017bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoCsrt2a[] =
6027bcb6cafSSascha Wildner {
6037bcb6cafSSascha Wildner     {ACPI_DMT_RAW_BUFFER, 0,                                        "ResourceInfo", DT_OPTIONAL},
6047bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6057bcb6cafSSascha Wildner };
6067bcb6cafSSascha Wildner 
6077bcb6cafSSascha Wildner 
6087bcb6cafSSascha Wildner /*******************************************************************************
6097bcb6cafSSascha Wildner  *
6107bcb6cafSSascha Wildner  * DBG2 - Debug Port Table 2
6117bcb6cafSSascha Wildner  *
6127bcb6cafSSascha Wildner  ******************************************************************************/
6137bcb6cafSSascha Wildner 
6147bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2[] =
6157bcb6cafSSascha Wildner {
6167bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DBG2_OFFSET (InfoOffset),              "Info Offset", 0},
6177bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DBG2_OFFSET (InfoCount),               "Info Count", 0},
6187bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6197bcb6cafSSascha Wildner };
6207bcb6cafSSascha Wildner 
6217bcb6cafSSascha Wildner /* Debug Device Information Subtable */
6227bcb6cafSSascha Wildner 
6237bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2Device[] =
6247bcb6cafSSascha Wildner {
6257bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DBG20_OFFSET (Revision),               "Revision", 0},
6267bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (Length),                 "Length", DT_LENGTH},
6277bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DBG20_OFFSET (RegisterCount),          "Register Count", 0},
6287bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (NamepathLength),         "Namepath Length", 0},
6297bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (NamepathOffset),         "Namepath Offset", 0},
6307bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (OemDataLength),          "OEM Data Length", DT_DESCRIBES_OPTIONAL},
6317bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (OemDataOffset),          "OEM Data Offset", DT_DESCRIBES_OPTIONAL},
6327bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (PortType),               "Port Type", 0},
6337bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (PortSubtype),            "Port Subtype", 0},
6347bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (Reserved),               "Reserved", 0},
6357bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (BaseAddressOffset),      "Base Address Offset", 0},
6367bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DBG20_OFFSET (AddressSizeOffset),      "Address Size Offset", 0},
6377bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6387bcb6cafSSascha Wildner };
6397bcb6cafSSascha Wildner 
6407bcb6cafSSascha Wildner /* Variable-length data for the subtable */
6417bcb6cafSSascha Wildner 
6427bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2Addr[] =
6437bcb6cafSSascha Wildner {
6447bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      0,                                          "Base Address Register", 0},
6457bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6467bcb6cafSSascha Wildner };
6477bcb6cafSSascha Wildner 
6487bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2Size[] =
6497bcb6cafSSascha Wildner {
6507bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   0,                                          "Address Size", 0},
6517bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6527bcb6cafSSascha Wildner };
6537bcb6cafSSascha Wildner 
6547bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2Name[] =
6557bcb6cafSSascha Wildner {
6567bcb6cafSSascha Wildner     {ACPI_DMT_STRING,   0,                                          "Namepath", 0},
6577bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6587bcb6cafSSascha Wildner };
6597bcb6cafSSascha Wildner 
6607bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbg2OemData[] =
6617bcb6cafSSascha Wildner {
6627bcb6cafSSascha Wildner     {ACPI_DMT_RAW_BUFFER, 0,                                        "OEM Data", DT_OPTIONAL},
6637bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6647bcb6cafSSascha Wildner };
6657bcb6cafSSascha Wildner 
6667bcb6cafSSascha Wildner 
6677bcb6cafSSascha Wildner /*******************************************************************************
6687bcb6cafSSascha Wildner  *
6697bcb6cafSSascha Wildner  * DBGP - Debug Port
6707bcb6cafSSascha Wildner  *
6717bcb6cafSSascha Wildner  ******************************************************************************/
6727bcb6cafSSascha Wildner 
6737bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDbgp[] =
6747bcb6cafSSascha Wildner {
6757bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DBGP_OFFSET (Type),                    "Interface Type", 0},
6767bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_DBGP_OFFSET (Reserved[0]),             "Reserved", 0},
6777bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_DBGP_OFFSET (DebugPort),               "Debug Port Register", 0},
6787bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6797bcb6cafSSascha Wildner };
6807bcb6cafSSascha Wildner 
6817bcb6cafSSascha Wildner 
6827bcb6cafSSascha Wildner /*******************************************************************************
6837bcb6cafSSascha Wildner  *
6847bcb6cafSSascha Wildner  * DMAR - DMA Remapping table
6857bcb6cafSSascha Wildner  *
6867bcb6cafSSascha Wildner  ******************************************************************************/
6877bcb6cafSSascha Wildner 
6887bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar[] =
6897bcb6cafSSascha Wildner {
6907bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR_OFFSET (Width),                   "Host Address Width", 0},
6917bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR_OFFSET (Flags),                   "Flags", 0},
6927bcb6cafSSascha Wildner     {ACPI_DMT_BUF10,    ACPI_DMAR_OFFSET (Reserved[0]),             "Reserved", 0},
6937bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
6947bcb6cafSSascha Wildner };
6957bcb6cafSSascha Wildner 
6967bcb6cafSSascha Wildner /* Common Subtable header (one per Subtable) */
6977bcb6cafSSascha Wildner 
6987bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmarHdr[] =
6997bcb6cafSSascha Wildner {
7007bcb6cafSSascha Wildner     {ACPI_DMT_DMAR,     ACPI_DMAR0_OFFSET (Header.Type),            "Subtable Type", 0},
7017bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMAR0_OFFSET (Header.Length),          "Length", DT_LENGTH},
7027bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7037bcb6cafSSascha Wildner };
7047bcb6cafSSascha Wildner 
7057bcb6cafSSascha Wildner /* Common device scope entry */
7067bcb6cafSSascha Wildner 
7077bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmarScope[] =
7087bcb6cafSSascha Wildner {
7097bcb6cafSSascha Wildner     {ACPI_DMT_DMAR_SCOPE, ACPI_DMARS_OFFSET (EntryType),            "Device Scope Type", 0},
7107bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMARS_OFFSET (Length),                 "Entry Length", DT_LENGTH},
7117bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMARS_OFFSET (Reserved),               "Reserved", 0},
7127bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMARS_OFFSET (EnumerationId),          "Enumeration ID", 0},
7137bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMARS_OFFSET (Bus),                    "PCI Bus Number", 0},
7147bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7157bcb6cafSSascha Wildner };
7167bcb6cafSSascha Wildner 
7177bcb6cafSSascha Wildner /* DMAR Subtables */
7187bcb6cafSSascha Wildner 
7197bcb6cafSSascha Wildner /* 0: Hardware Unit Definition */
7207bcb6cafSSascha Wildner 
7217bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar0[] =
7227bcb6cafSSascha Wildner {
7237bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR0_OFFSET (Flags),                  "Flags", 0},
7247bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR0_OFFSET (Reserved),               "Reserved", 0},
7257bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMAR0_OFFSET (Segment),                "PCI Segment Number", 0},
7267bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DMAR0_OFFSET (Address),                "Register Base Address", 0},
7277bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7287bcb6cafSSascha Wildner };
7297bcb6cafSSascha Wildner 
7307bcb6cafSSascha Wildner /* 1: Reserved Memory Definition */
7317bcb6cafSSascha Wildner 
7327bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar1[] =
7337bcb6cafSSascha Wildner {
7347bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMAR1_OFFSET (Reserved),               "Reserved", 0},
7357bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMAR1_OFFSET (Segment),                "PCI Segment Number", 0},
7367bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DMAR1_OFFSET (BaseAddress),            "Base Address", 0},
7377bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DMAR1_OFFSET (EndAddress),             "End Address (limit)", 0},
7387bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7397bcb6cafSSascha Wildner };
7407bcb6cafSSascha Wildner 
7417bcb6cafSSascha Wildner /* 2: Root Port ATS Capability Definition */
7427bcb6cafSSascha Wildner 
7437bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar2[] =
7447bcb6cafSSascha Wildner {
7457bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR2_OFFSET (Flags),                  "Flags", 0},
7467bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR2_OFFSET (Reserved),               "Reserved", 0},
7477bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_DMAR2_OFFSET (Segment),                "PCI Segment Number", 0},
7487bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7497bcb6cafSSascha Wildner };
7507bcb6cafSSascha Wildner 
7517bcb6cafSSascha Wildner /* 3: Remapping Hardware Static Affinity Structure */
7527bcb6cafSSascha Wildner 
7537bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar3[] =
7547bcb6cafSSascha Wildner {
7557bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DMAR3_OFFSET (Reserved),               "Reserved", 0},
7567bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DMAR3_OFFSET (BaseAddress),            "Base Address", 0},
7577bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DMAR3_OFFSET (ProximityDomain),        "Proximity Domain", 0},
7587bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7597bcb6cafSSascha Wildner };
7607bcb6cafSSascha Wildner 
7617bcb6cafSSascha Wildner /* 4: ACPI Namespace Device Declaration Structure */
7627bcb6cafSSascha Wildner 
7637bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar4[] =
7647bcb6cafSSascha Wildner {
7657bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_DMAR4_OFFSET (Reserved[0]),            "Reserved", 0},
7667bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DMAR4_OFFSET (DeviceNumber),           "Device Number", 0},
7677bcb6cafSSascha Wildner     {ACPI_DMT_STRING,   ACPI_DMAR4_OFFSET (DeviceName[0]),          "Device Name", 0},
7687bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7697bcb6cafSSascha Wildner };
7707bcb6cafSSascha Wildner 
7717bcb6cafSSascha Wildner 
7727bcb6cafSSascha Wildner /*******************************************************************************
7737bcb6cafSSascha Wildner  *
7747bcb6cafSSascha Wildner  * DRTM - Dynamic Root of Trust for Measurement table
7757bcb6cafSSascha Wildner  *
7767bcb6cafSSascha Wildner  ******************************************************************************/
7777bcb6cafSSascha Wildner 
7787bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm[] =
7797bcb6cafSSascha Wildner {
7807bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (EntryBaseAddress),        "Entry Base Address", 0},
7817bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (EntryLength),             "Entry Length", 0},
7827bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM_OFFSET (EntryAddress32),          "Entry 32", 0},
7837bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (EntryAddress64),          "Entry 64", 0},
7847bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (ExitAddress),             "Exit Address", 0},
7857bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (LogAreaAddress),          "Log Area Start", 0},
7867bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM_OFFSET (LogAreaLength),           "Log Area Length", 0},
7877bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM_OFFSET (ArchDependentAddress),    "Arch Dependent Address", 0},
7887bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM_OFFSET (Flags),                   "Flags (decoded below)", 0},
7897bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_DRTM_FLAG_OFFSET (Flags, 0),           "Namespace in TCB", 0},
7907bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_DRTM_FLAG_OFFSET (Flags, 0),           "Gap Code on S3 Resume", 0},
7917bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_DRTM_FLAG_OFFSET (Flags, 0),           "Gap Code on DLME_Exit", 0},
7927bcb6cafSSascha Wildner     {ACPI_DMT_FLAG3,    ACPI_DRTM_FLAG_OFFSET (Flags, 0),           "PCR_Authorities Changed", 0},
7937bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
7947bcb6cafSSascha Wildner };
7957bcb6cafSSascha Wildner 
7967bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm0[] =
7977bcb6cafSSascha Wildner {
7987bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM0_OFFSET (ValidatedTableCount),    "Validated Table Count", DT_COUNT},
7997bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8007bcb6cafSSascha Wildner };
8017bcb6cafSSascha Wildner 
8027bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm0a[] =
8037bcb6cafSSascha Wildner {
8047bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   0,                                          "Table Address", DT_OPTIONAL},
8057bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8067bcb6cafSSascha Wildner };
8077bcb6cafSSascha Wildner 
8087bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm1[] =
8097bcb6cafSSascha Wildner {
8107bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM1_OFFSET (ResourceCount),          "Resource Count", DT_COUNT},
8117bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8127bcb6cafSSascha Wildner };
8137bcb6cafSSascha Wildner 
8147bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm1a[] =
8157bcb6cafSSascha Wildner {
8167bcb6cafSSascha Wildner     {ACPI_DMT_UINT56,   ACPI_DRTM1a_OFFSET (Size[0]),               "Size", DT_OPTIONAL},
8177bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_DRTM1a_OFFSET (Type),                  "Type", 0},
8187bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_DRTM1a_FLAG_OFFSET (Type, 0),          "Resource Type", 0},
8197bcb6cafSSascha Wildner     {ACPI_DMT_FLAG7,    ACPI_DRTM1a_FLAG_OFFSET (Type, 0),          "Protections", 0},
8207bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_DRTM1a_OFFSET (Address),               "Address", 0},
8217bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8227bcb6cafSSascha Wildner };
8237bcb6cafSSascha Wildner 
8247bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoDrtm2[] =
8257bcb6cafSSascha Wildner {
8267bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_DRTM2_OFFSET (DpsIdLength),            "DLME Platform Id Length", DT_COUNT},
8277bcb6cafSSascha Wildner     {ACPI_DMT_BUF16,    ACPI_DRTM2_OFFSET (DpsId),                  "DLME Platform Id", DT_COUNT},
8287bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8297bcb6cafSSascha Wildner };
8307bcb6cafSSascha Wildner 
8317bcb6cafSSascha Wildner 
8327bcb6cafSSascha Wildner /*******************************************************************************
8337bcb6cafSSascha Wildner  *
8347bcb6cafSSascha Wildner  * ECDT - Embedded Controller Boot Resources Table
8357bcb6cafSSascha Wildner  *
8367bcb6cafSSascha Wildner  ******************************************************************************/
8377bcb6cafSSascha Wildner 
8387bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoEcdt[] =
8397bcb6cafSSascha Wildner {
8407bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_ECDT_OFFSET (Control),                 "Command/Status Register", 0},
8417bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_ECDT_OFFSET (Data),                    "Data Register", 0},
8427bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ECDT_OFFSET (Uid),                     "UID", 0},
8437bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ECDT_OFFSET (Gpe),                     "GPE Number", 0},
8447bcb6cafSSascha Wildner     {ACPI_DMT_STRING,   ACPI_ECDT_OFFSET (Id[0]),                   "Namepath", 0},
8457bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8467bcb6cafSSascha Wildner };
8477bcb6cafSSascha Wildner 
8487bcb6cafSSascha Wildner 
8497bcb6cafSSascha Wildner /*******************************************************************************
8507bcb6cafSSascha Wildner  *
8517bcb6cafSSascha Wildner  * EINJ - Error Injection table
8527bcb6cafSSascha Wildner  *
8537bcb6cafSSascha Wildner  ******************************************************************************/
8547bcb6cafSSascha Wildner 
8557bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoEinj[] =
8567bcb6cafSSascha Wildner {
8577bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_EINJ_OFFSET (HeaderLength),            "Injection Header Length", 0},
8587bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_EINJ_OFFSET (Flags),                   "Flags", 0},
8597bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_EINJ_OFFSET (Reserved[0]),             "Reserved", 0},
8607bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_EINJ_OFFSET (Entries),                 "Injection Entry Count", 0},
8617bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8627bcb6cafSSascha Wildner };
8637bcb6cafSSascha Wildner 
8647bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoEinj0[] =
8657bcb6cafSSascha Wildner {
8667bcb6cafSSascha Wildner     {ACPI_DMT_EINJACT,  ACPI_EINJ0_OFFSET (Action),                 "Action", 0},
8677bcb6cafSSascha Wildner     {ACPI_DMT_EINJINST, ACPI_EINJ0_OFFSET (Instruction),            "Instruction", 0},
8687bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_EINJ0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
8697bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_EINJ0_FLAG_OFFSET (Flags,0),           "Preserve Register Bits", 0},
8707bcb6cafSSascha Wildner 
8717bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_EINJ0_OFFSET (Reserved),               "Reserved", 0},
8727bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_EINJ0_OFFSET (RegisterRegion),         "Register Region", 0},
8737bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_EINJ0_OFFSET (Value),                  "Value", 0},
8747bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_EINJ0_OFFSET (Mask),                   "Mask", 0},
8757bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8767bcb6cafSSascha Wildner };
8777bcb6cafSSascha Wildner 
8787bcb6cafSSascha Wildner 
8797bcb6cafSSascha Wildner /*******************************************************************************
8807bcb6cafSSascha Wildner  *
8817bcb6cafSSascha Wildner  * ERST - Error Record Serialization table
8827bcb6cafSSascha Wildner  *
8837bcb6cafSSascha Wildner  ******************************************************************************/
8847bcb6cafSSascha Wildner 
8857bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoErst[] =
8867bcb6cafSSascha Wildner {
8877bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ERST_OFFSET (HeaderLength),            "Serialization Header Length", 0},
8887bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ERST_OFFSET (Reserved),                "Reserved", 0},
8897bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_ERST_OFFSET (Entries),                 "Instruction Entry Count", 0},
8907bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
8917bcb6cafSSascha Wildner };
8927bcb6cafSSascha Wildner 
8937bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoErst0[] =
8947bcb6cafSSascha Wildner {
8957bcb6cafSSascha Wildner     {ACPI_DMT_ERSTACT,  ACPI_ERST0_OFFSET (Action),                 "Action", 0},
8967bcb6cafSSascha Wildner     {ACPI_DMT_ERSTINST, ACPI_ERST0_OFFSET (Instruction),            "Instruction", 0},
8977bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ERST0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
8987bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_ERST0_FLAG_OFFSET (Flags,0),           "Preserve Register Bits", 0},
8997bcb6cafSSascha Wildner 
9007bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_ERST0_OFFSET (Reserved),               "Reserved", 0},
9017bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_ERST0_OFFSET (RegisterRegion),         "Register Region", 0},
9027bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_ERST0_OFFSET (Value),                  "Value", 0},
9037bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_ERST0_OFFSET (Mask),                   "Mask", 0},
9047bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
9057bcb6cafSSascha Wildner };
9067bcb6cafSSascha Wildner 
9077bcb6cafSSascha Wildner 
9087bcb6cafSSascha Wildner /*******************************************************************************
9097bcb6cafSSascha Wildner  *
9107bcb6cafSSascha Wildner  * FPDT - Firmware Performance Data Table (ACPI 5.0)
9117bcb6cafSSascha Wildner  *
9127bcb6cafSSascha Wildner  ******************************************************************************/
9137bcb6cafSSascha Wildner 
9147bcb6cafSSascha Wildner /* Main table consists of only the standard ACPI header - subtables follow */
9157bcb6cafSSascha Wildner 
9167bcb6cafSSascha Wildner /* FPDT subtable header */
9177bcb6cafSSascha Wildner 
9187bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoFpdtHdr[] =
9197bcb6cafSSascha Wildner {
9207bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_FPDTH_OFFSET (Type),                   "Subtable Type", 0},
9217bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_FPDTH_OFFSET (Length),                 "Length", DT_LENGTH},
9227bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_FPDTH_OFFSET (Revision),               "Revision", 0},
9237bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
9247bcb6cafSSascha Wildner };
9257bcb6cafSSascha Wildner 
9267bcb6cafSSascha Wildner /* 0: Firmware Basic Boot Performance Record */
9277bcb6cafSSascha Wildner 
9287bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoFpdt0[] =
9297bcb6cafSSascha Wildner {
9307bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_FPDT0_OFFSET (Reserved),               "Reserved", 0},
9317bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT1_OFFSET (Address),                "FPDT Boot Record Address", 0},
9327bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
9337bcb6cafSSascha Wildner };
9347bcb6cafSSascha Wildner 
9357bcb6cafSSascha Wildner /* 1: S3 Performance Table Pointer Record */
9367bcb6cafSSascha Wildner 
9377bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoFpdt1[] =
9387bcb6cafSSascha Wildner {
9397bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_FPDT1_OFFSET (Reserved),               "Reserved", 0},
9407bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT1_OFFSET (Address),                "S3PT Record Address", 0},
9417bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
9427bcb6cafSSascha Wildner };
9437bcb6cafSSascha Wildner 
9447bcb6cafSSascha Wildner #if 0
9457bcb6cafSSascha Wildner     /* Boot Performance Record, not supported at this time. */
9467bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT0_OFFSET (ResetEnd),               "Reset End", 0},
9477bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT0_OFFSET (LoadStart),              "Load Image Start", 0},
9487bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT0_OFFSET (StartupStart),           "Start Image Start", 0},
9497bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT0_OFFSET (ExitServicesEntry),      "Exit Services Entry", 0},
9507bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_FPDT0_OFFSET (ExitServicesExit),       "Exit Services Exit", 0},
9517bcb6cafSSascha Wildner #endif
9527bcb6cafSSascha Wildner 
9537bcb6cafSSascha Wildner 
9547bcb6cafSSascha Wildner /*******************************************************************************
9557bcb6cafSSascha Wildner  *
9567bcb6cafSSascha Wildner  * GTDT - Generic Timer Description Table
9577bcb6cafSSascha Wildner  *
9587bcb6cafSSascha Wildner  ******************************************************************************/
9597bcb6cafSSascha Wildner 
9607bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoGtdt[] =
9617bcb6cafSSascha Wildner {
9627bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT_OFFSET (CounterBlockAddresss),    "Counter Block Address", 0},
9637bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (Reserved),                "Reserved", 0},
9647bcb6cafSSascha Wildner     ACPI_DMT_NEW_LINE,
9657bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (SecureEl1Interrupt),      "Secure EL1 Interrupt", 0},
9667bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (SecureEl1Flags),          "EL1 Flags (decoded below)", DT_FLAG},
9677bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0),   "Trigger Mode", 0},
9687bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0),   "Polarity", 0},
9697bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_GTDT_FLAG_OFFSET (SecureEl1Flags,0),   "Always On", 0},
9707bcb6cafSSascha Wildner     ACPI_DMT_NEW_LINE,
9717bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (NonSecureEl1Interrupt),   "Non-Secure EL1 Interrupt", 0},
9727bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (NonSecureEl1Flags),       "NEL1 Flags (decoded below)", DT_FLAG},
9737bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Trigger Mode", 0},
9747bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Polarity", 0},
9757bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl1Flags,0),"Always On", 0},
9767bcb6cafSSascha Wildner     ACPI_DMT_NEW_LINE,
9777bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (VirtualTimerInterrupt),   "Virtual Timer Interrupt", 0},
9787bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (VirtualTimerFlags),       "VT Flags (decoded below)", DT_FLAG},
9797bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Trigger Mode", 0},
9807bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Polarity", 0},
9817bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_GTDT_FLAG_OFFSET (VirtualTimerFlags,0),"Always On", 0},
9827bcb6cafSSascha Wildner     ACPI_DMT_NEW_LINE,
9837bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (NonSecureEl2Interrupt),   "Non-Secure EL2 Interrupt", 0},
9847bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (NonSecureEl2Flags),       "NEL2 Flags (decoded below)", DT_FLAG},
9857bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Trigger Mode", 0},
9867bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Polarity", 0},
9877bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_GTDT_FLAG_OFFSET (NonSecureEl2Flags,0),"Always On", 0},
9887bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT_OFFSET (CounterReadBlockAddress), "Counter Read Block Address", 0},
9897bcb6cafSSascha Wildner     ACPI_DMT_NEW_LINE,
9907bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (PlatformTimerCount),      "Platform Timer Count", 0},
9917bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_OFFSET (PlatformTimerOffset),     "Platform Timer Offset", 0},
9927bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
9937bcb6cafSSascha Wildner };
9947bcb6cafSSascha Wildner 
99500ffa116SSascha Wildner /* GDTD EL2 timer info. This table is appended to AcpiDmTableInfoGtdt for rev 3 and later */
99600ffa116SSascha Wildner 
99700ffa116SSascha Wildner ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[] =
99800ffa116SSascha Wildner {
99900ffa116SSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_EL2_OFFSET (VirtualEL2TimerGsiv),  "Virtual EL2 Timer GSIV", 0},
100000ffa116SSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT_EL2_OFFSET (VirtualEL2TimerFlags), "Virtual EL2 Timer Flags", 0},
100100ffa116SSascha Wildner     ACPI_DMT_TERMINATOR
100200ffa116SSascha Wildner };
100300ffa116SSascha Wildner 
10047bcb6cafSSascha Wildner /* GTDT Subtable header (one per Subtable) */
10057bcb6cafSSascha Wildner 
10067bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoGtdtHdr[] =
10077bcb6cafSSascha Wildner {
10087bcb6cafSSascha Wildner     {ACPI_DMT_GTDT,     ACPI_GTDTH_OFFSET (Type),                   "Subtable Type", 0},
10097bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_GTDTH_OFFSET (Length),                 "Length", DT_LENGTH},
10107bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
10117bcb6cafSSascha Wildner };
10127bcb6cafSSascha Wildner 
10137bcb6cafSSascha Wildner /* GTDT Subtables */
10147bcb6cafSSascha Wildner 
10157bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoGtdt0[] =
10167bcb6cafSSascha Wildner {
10177bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_GTDT0_OFFSET (Reserved),               "Reserved", 0},
10187bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT0_OFFSET (BlockAddress),           "Block Address", 0},
10197bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0_OFFSET (TimerCount),             "Timer Count", 0},
10207bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0_OFFSET (TimerOffset),            "Timer Offset", 0},
10217bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
10227bcb6cafSSascha Wildner };
10237bcb6cafSSascha Wildner 
10247bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoGtdt0a[] =
10257bcb6cafSSascha Wildner {
10267bcb6cafSSascha Wildner     {ACPI_DMT_UINT8 ,   ACPI_GTDT0a_OFFSET (FrameNumber),               "Frame Number", 0},
10277bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_GTDT0a_OFFSET (Reserved[0]),               "Reserved", 0},
10287bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT0a_OFFSET (BaseAddress),               "Base Address", 0},
10297bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT0a_OFFSET (El0BaseAddress),            "EL0 Base Address", 0},
10307bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0a_OFFSET (TimerInterrupt),            "Timer Interrupt", 0},
10317bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0a_OFFSET (TimerFlags),                "Timer Flags (decoded below)", 0},
10327bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0),         "Trigger Mode", 0},
10337bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT0a_FLAG_OFFSET (TimerFlags,0),         "Polarity", 0},
10347bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0a_OFFSET (VirtualTimerInterrupt),     "Virtual Timer Interrupt", 0},
10357bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0a_OFFSET (VirtualTimerFlags),         "Virtual Timer Flags (decoded below)", 0},
10367bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0),  "Trigger Mode", 0},
10377bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT0a_FLAG_OFFSET (VirtualTimerFlags,0),  "Polarity", 0},
10387bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT0a_OFFSET (CommonFlags),               "Common Flags (decoded below)", 0},
10397bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0),        "Secure", 0},
10407bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT0a_FLAG_OFFSET (CommonFlags,0),        "Always On", 0},
10417bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
10427bcb6cafSSascha Wildner };
10437bcb6cafSSascha Wildner 
10447bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoGtdt1[] =
10457bcb6cafSSascha Wildner {
10467bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_GTDT1_OFFSET (Reserved),               "Reserved", 0},
10477bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT1_OFFSET (RefreshFrameAddress),    "Refresh Frame Address", 0},
10487bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_GTDT1_OFFSET (ControlFrameAddress),    "Control Frame Address", 0},
10497bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT1_OFFSET (TimerInterrupt),         "Timer Interrupt", 0},
10507bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_GTDT1_OFFSET (TimerFlags),             "Timer Flags (decoded below)", DT_FLAG},
10517bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0),      "Trigger Mode", 0},
10527bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0),      "Polarity", 0},
10537bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_GTDT1_FLAG_OFFSET (TimerFlags,0),      "Security", 0},
10547bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
10557bcb6cafSSascha Wildner };
10567bcb6cafSSascha Wildner 
10577bcb6cafSSascha Wildner 
10587bcb6cafSSascha Wildner /*******************************************************************************
10597bcb6cafSSascha Wildner  *
10607bcb6cafSSascha Wildner  * HEST - Hardware Error Source table
10617bcb6cafSSascha Wildner  *
10627bcb6cafSSascha Wildner  ******************************************************************************/
10637bcb6cafSSascha Wildner 
10647bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest[] =
10657bcb6cafSSascha Wildner {
10667bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST_OFFSET (ErrorSourceCount),        "Error Source Count", 0},
10677bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
10687bcb6cafSSascha Wildner };
10697bcb6cafSSascha Wildner 
10707bcb6cafSSascha Wildner /* Common HEST structures for subtables */
10717bcb6cafSSascha Wildner 
10727bcb6cafSSascha Wildner #define ACPI_DM_HEST_HEADER \
10737bcb6cafSSascha Wildner     {ACPI_DMT_HEST,     ACPI_HEST0_OFFSET (Header.Type),            "Subtable Type", 0}, \
10747bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST0_OFFSET (Header.SourceId),        "Source Id", 0}
10757bcb6cafSSascha Wildner 
10767bcb6cafSSascha Wildner #define ACPI_DM_HEST_AER \
10777bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST6_OFFSET (Aer.Reserved1),              "Reserved", 0}, \
10787bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST6_OFFSET (Aer.Flags),                  "Flags (decoded below)", DT_FLAG}, \
10797bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HEST6_FLAG_OFFSET (Aer.Flags,0),           "Firmware First", 0}, \
10807bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HEST6_FLAG_OFFSET (Aer.Flags,0),           "Global", 0}, \
10817bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST6_OFFSET (Aer.Enabled),                "Enabled", 0}, \
10827bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.RecordsToPreallocate),   "Records To Preallocate", 0}, \
10837bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.MaxSectionsPerRecord),   "Max Sections Per Record", 0}, \
10847bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.Bus),                    "Bus", 0}, \
10857bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST6_OFFSET (Aer.Device),                 "Device", 0}, \
10867bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST6_OFFSET (Aer.Function),               "Function", 0}, \
10877bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST6_OFFSET (Aer.DeviceControl),          "DeviceControl", 0}, \
10887bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST6_OFFSET (Aer.Reserved2),              "Reserved", 0}, \
10897bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.UncorrectableMask),      "Uncorrectable Mask", 0}, \
10907bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.UncorrectableSeverity),  "Uncorrectable Severity", 0}, \
10917bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.CorrectableMask),        "Correctable Mask", 0}, \
10927bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (Aer.AdvancedCapabilities),   "Advanced Capabilities", 0}
10937bcb6cafSSascha Wildner 
10947bcb6cafSSascha Wildner 
10957bcb6cafSSascha Wildner /* HEST Subtables */
10967bcb6cafSSascha Wildner 
10977bcb6cafSSascha Wildner /* 0: IA32 Machine Check Exception */
10987bcb6cafSSascha Wildner 
10997bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest0[] =
11007bcb6cafSSascha Wildner {
11017bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11027bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST0_OFFSET (Reserved1),              "Reserved1", 0},
11037bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST0_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
11047bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HEST0_FLAG_OFFSET (Flags,0),           "Firmware First", 0},
11057bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_HEST0_FLAG_OFFSET (Flags,0),           "GHES Assist", 0},
11067bcb6cafSSascha Wildner 
11077bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST0_OFFSET (Enabled),                "Enabled", 0},
11087bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST0_OFFSET (RecordsToPreallocate),   "Records To Preallocate", 0},
11097bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST0_OFFSET (MaxSectionsPerRecord),   "Max Sections Per Record", 0},
11107bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HEST0_OFFSET (GlobalCapabilityData),   "Global Capability Data", 0},
11117bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HEST0_OFFSET (GlobalControlData),      "Global Control Data", 0},
11127bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST0_OFFSET (NumHardwareBanks),       "Num Hardware Banks", 0},
11137bcb6cafSSascha Wildner     {ACPI_DMT_UINT56,   ACPI_HEST0_OFFSET (Reserved3[0]),           "Reserved2", 0},
11147bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11157bcb6cafSSascha Wildner };
11167bcb6cafSSascha Wildner 
11177bcb6cafSSascha Wildner /* 1: IA32 Corrected Machine Check */
11187bcb6cafSSascha Wildner 
11197bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest1[] =
11207bcb6cafSSascha Wildner {
11217bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11227bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST1_OFFSET (Reserved1),              "Reserved1", 0},
11237bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST1_OFFSET (Flags),                  "Flags (decoded below)", DT_FLAG},
11247bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HEST1_FLAG_OFFSET (Flags,0),           "Firmware First", 0},
11257bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_HEST1_FLAG_OFFSET (Flags,0),           "GHES Assist", 0},
11267bcb6cafSSascha Wildner 
11277bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST1_OFFSET (Enabled),                "Enabled", 0},
11287bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST1_OFFSET (RecordsToPreallocate),   "Records To Preallocate", 0},
11297bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST1_OFFSET (MaxSectionsPerRecord),   "Max Sections Per Record", 0},
11307bcb6cafSSascha Wildner     {ACPI_DMT_HESTNTFY, ACPI_HEST1_OFFSET (Notify),                 "Notify", 0},
11317bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST1_OFFSET (NumHardwareBanks),       "Num Hardware Banks", 0},
11327bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_HEST1_OFFSET (Reserved2[0]),           "Reserved2", 0},
11337bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11347bcb6cafSSascha Wildner };
11357bcb6cafSSascha Wildner 
11367bcb6cafSSascha Wildner /* 2: IA32 Non-Maskable Interrupt */
11377bcb6cafSSascha Wildner 
11387bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest2[] =
11397bcb6cafSSascha Wildner {
11407bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11417bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST2_OFFSET (Reserved),               "Reserved", 0},
11427bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST2_OFFSET (RecordsToPreallocate),   "Records To Preallocate", 0},
11437bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST2_OFFSET (MaxSectionsPerRecord),   "Max Sections Per Record", 0},
11447bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST2_OFFSET (MaxRawDataLength),       "Max Raw Data Length", 0},
11457bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11467bcb6cafSSascha Wildner };
11477bcb6cafSSascha Wildner 
11487bcb6cafSSascha Wildner /* 6: PCI Express Root Port AER */
11497bcb6cafSSascha Wildner 
11507bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest6[] =
11517bcb6cafSSascha Wildner {
11527bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11537bcb6cafSSascha Wildner     ACPI_DM_HEST_AER,
11547bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST6_OFFSET (RootErrorCommand),       "Root Error Command", 0},
11557bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11567bcb6cafSSascha Wildner };
11577bcb6cafSSascha Wildner 
11587bcb6cafSSascha Wildner /* 7: PCI Express AER (AER Endpoint) */
11597bcb6cafSSascha Wildner 
11607bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest7[] =
11617bcb6cafSSascha Wildner {
11627bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11637bcb6cafSSascha Wildner     ACPI_DM_HEST_AER,
11647bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11657bcb6cafSSascha Wildner };
11667bcb6cafSSascha Wildner 
11677bcb6cafSSascha Wildner /* 8: PCI Express/PCI-X Bridge AER */
11687bcb6cafSSascha Wildner 
11697bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest8[] =
11707bcb6cafSSascha Wildner {
11717bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11727bcb6cafSSascha Wildner     ACPI_DM_HEST_AER,
11737bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST8_OFFSET (UncorrectableMask2),     "2nd Uncorrectable Mask", 0},
11747bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST8_OFFSET (UncorrectableSeverity2), "2nd Uncorrectable Severity", 0},
11757bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST8_OFFSET (AdvancedCapabilities2),  "2nd Advanced Capabilities", 0},
11767bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11777bcb6cafSSascha Wildner };
11787bcb6cafSSascha Wildner 
11797bcb6cafSSascha Wildner /* 9: Generic Hardware Error Source */
11807bcb6cafSSascha Wildner 
11817bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest9[] =
11827bcb6cafSSascha Wildner {
11837bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
11847bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST9_OFFSET (RelatedSourceId),        "Related Source Id", 0},
11857bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST9_OFFSET (Reserved),               "Reserved", 0},
11867bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST9_OFFSET (Enabled),                "Enabled", 0},
11877bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST9_OFFSET (RecordsToPreallocate),   "Records To Preallocate", 0},
11887bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST9_OFFSET (MaxSectionsPerRecord),   "Max Sections Per Record", 0},
11897bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST9_OFFSET (MaxRawDataLength),       "Max Raw Data Length", 0},
11907bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_HEST9_OFFSET (ErrorStatusAddress),     "Error Status Address", 0},
11917bcb6cafSSascha Wildner     {ACPI_DMT_HESTNTFY, ACPI_HEST9_OFFSET (Notify),                 "Notify", 0},
11927bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST9_OFFSET (ErrorBlockLength),       "Error Status Block Length", 0},
11937bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
11947bcb6cafSSascha Wildner };
11957bcb6cafSSascha Wildner 
11967bcb6cafSSascha Wildner /* 10: Generic Hardware Error Source - Version 2 */
11977bcb6cafSSascha Wildner 
11987bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest10[] =
11997bcb6cafSSascha Wildner {
12007bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
12017bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST10_OFFSET (RelatedSourceId),       "Related Source Id", 0},
12027bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST10_OFFSET (Reserved),              "Reserved", 0},
12037bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST10_OFFSET (Enabled),               "Enabled", 0},
12047bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST10_OFFSET (RecordsToPreallocate),  "Records To Preallocate", 0},
12057bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST10_OFFSET (MaxSectionsPerRecord),  "Max Sections Per Record", 0},
12067bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST10_OFFSET (MaxRawDataLength),      "Max Raw Data Length", 0},
12077bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_HEST10_OFFSET (ErrorStatusAddress),    "Error Status Address", 0},
12087bcb6cafSSascha Wildner     {ACPI_DMT_HESTNTFY, ACPI_HEST10_OFFSET (Notify),                "Notify", 0},
12097bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST10_OFFSET (ErrorBlockLength),      "Error Status Block Length", 0},
12107bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_HEST10_OFFSET (ReadAckRegister),       "Read Ack Register", 0},
12117bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HEST10_OFFSET (ReadAckPreserve),       "Read Ack Preserve", 0},
12127bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HEST10_OFFSET (ReadAckWrite),          "Read Ack Write", 0},
12137bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12147bcb6cafSSascha Wildner };
12157bcb6cafSSascha Wildner 
12167bcb6cafSSascha Wildner /* 11: IA32 Deferred Machine Check */
12177bcb6cafSSascha Wildner 
12187bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHest11[] =
12197bcb6cafSSascha Wildner {
12207bcb6cafSSascha Wildner     ACPI_DM_HEST_HEADER,
12217bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HEST11_OFFSET (Reserved1),             "Reserved1", 0},
12227bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST11_OFFSET (Flags),                 "Flags (decoded below)", DT_FLAG},
12237bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HEST11_FLAG_OFFSET (Flags,0),          "Firmware First", 0},
12247bcb6cafSSascha Wildner     {ACPI_DMT_FLAG2,    ACPI_HEST11_FLAG_OFFSET (Flags,0),          "GHES Assist", 0},
12257bcb6cafSSascha Wildner 
12267bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST11_OFFSET (Enabled),               "Enabled", 0},
12277bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST11_OFFSET (RecordsToPreallocate),  "Records To Preallocate", 0},
12287bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HEST11_OFFSET (MaxSectionsPerRecord),  "Max Sections Per Record", 0},
12297bcb6cafSSascha Wildner     {ACPI_DMT_HESTNTFY, ACPI_HEST11_OFFSET (Notify),                "Notify", 0},
12307bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HEST11_OFFSET (NumHardwareBanks),      "Num Hardware Banks", 0},
12317bcb6cafSSascha Wildner     {ACPI_DMT_UINT24,   ACPI_HEST11_OFFSET (Reserved2[0]),          "Reserved2", 0},
12327bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12337bcb6cafSSascha Wildner };
12347bcb6cafSSascha Wildner 
12357bcb6cafSSascha Wildner /* Notification Structure */
12367bcb6cafSSascha Wildner 
12377bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHestNotify[] =
12387bcb6cafSSascha Wildner {
12397bcb6cafSSascha Wildner     {ACPI_DMT_HESTNTYP, ACPI_HESTN_OFFSET (Type),                   "Notify Type", 0},
12407bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HESTN_OFFSET (Length),                 "Notify Length", DT_LENGTH},
12417bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HESTN_OFFSET (ConfigWriteEnable),      "Configuration Write Enable", 0},
12427bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (PollInterval),           "PollInterval", 0},
12437bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (Vector),                 "Vector", 0},
12447bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (PollingThresholdValue),  "Polling Threshold Value", 0},
12457bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (PollingThresholdWindow), "Polling Threshold Window", 0},
12467bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (ErrorThresholdValue),    "Error Threshold Value", 0},
12477bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTN_OFFSET (ErrorThresholdWindow),   "Error Threshold Window", 0},
12487bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12497bcb6cafSSascha Wildner };
12507bcb6cafSSascha Wildner 
12517bcb6cafSSascha Wildner 
12527bcb6cafSSascha Wildner /*
12537bcb6cafSSascha Wildner  * IA32 Error Bank(s) - Follows the ACPI_HEST_IA_MACHINE_CHECK and
12547bcb6cafSSascha Wildner  * ACPI_HEST_IA_CORRECTED structures.
12557bcb6cafSSascha Wildner  */
12567bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHestBank[] =
12577bcb6cafSSascha Wildner {
12587bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HESTB_OFFSET (BankNumber),             "Bank Number", 0},
12597bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HESTB_OFFSET (ClearStatusOnInit),      "Clear Status On Init", 0},
12607bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HESTB_OFFSET (StatusFormat),           "Status Format", 0},
12617bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HESTB_OFFSET (Reserved),               "Reserved", 0},
12627bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTB_OFFSET (ControlRegister),        "Control Register", 0},
12637bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HESTB_OFFSET (ControlData),            "Control Data", 0},
12647bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTB_OFFSET (StatusRegister),         "Status Register", 0},
12657bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTB_OFFSET (AddressRegister),        "Address Register", 0},
12667bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HESTB_OFFSET (MiscRegister),           "Misc Register", 0},
12677bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12687bcb6cafSSascha Wildner };
12697bcb6cafSSascha Wildner 
12707bcb6cafSSascha Wildner 
12717bcb6cafSSascha Wildner /*******************************************************************************
12727bcb6cafSSascha Wildner  *
12737bcb6cafSSascha Wildner  * HMAT - Heterogeneous Memory Attributes Table
12747bcb6cafSSascha Wildner  *
12757bcb6cafSSascha Wildner  ******************************************************************************/
12767bcb6cafSSascha Wildner 
12777bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat[] =
12787bcb6cafSSascha Wildner {
12797bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT_OFFSET (Reserved),                "Reserved", 0},
12807bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12817bcb6cafSSascha Wildner };
12827bcb6cafSSascha Wildner 
12837bcb6cafSSascha Wildner /* Common HMAT structure header (one per Subtable) */
12847bcb6cafSSascha Wildner 
12857bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmatHdr[] =
12867bcb6cafSSascha Wildner {
12877bcb6cafSSascha Wildner     {ACPI_DMT_HMAT,     ACPI_HMATH_OFFSET (Type),                   "Structure Type", 0},
12887bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HMATH_OFFSET (Reserved),               "Reserved", 0},
12897bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMATH_OFFSET (Length),                 "Length", 0},
12907bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
12917bcb6cafSSascha Wildner };
12927bcb6cafSSascha Wildner 
12937bcb6cafSSascha Wildner /* HMAT subtables */
12947bcb6cafSSascha Wildner 
129500ffa116SSascha Wildner /* 0x00: Memory proximity domain attributes */
12967bcb6cafSSascha Wildner 
12977bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat0[] =
12987bcb6cafSSascha Wildner {
12997bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HMAT0_OFFSET (Flags),                  "Flags (decoded below)", 0},
13007bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HMAT0_FLAG_OFFSET (Flags,0),           "Processor Proximity Domain Valid", 0},
13017bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HMAT0_OFFSET (Reserved1),              "Reserved1", 0},
1302c5a52fd3SSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (InitiatorPD),            "Attached Initiator Proximity Domain", 0},
13037bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (MemoryPD),               "Memory Proximity Domain", 0},
13047bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (Reserved2),              "Reserved2", 0},
130500ffa116SSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HMAT0_OFFSET (Reserved3),              "Reserved3", 0},
130600ffa116SSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HMAT0_OFFSET (Reserved4),              "Reserved4", 0},
13077bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13087bcb6cafSSascha Wildner };
13097bcb6cafSSascha Wildner 
13107bcb6cafSSascha Wildner /* 0x01: System Locality Latency and Bandwidth Information */
13117bcb6cafSSascha Wildner 
13127bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat1[] =
13137bcb6cafSSascha Wildner {
13147bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HMAT1_OFFSET (Flags),                  "Flags (decoded below)", 0},
131501d5d5dfSSascha Wildner     {ACPI_DMT_FLAGS4_0, ACPI_HMAT1_FLAG_OFFSET (Flags,0),           "Memory Hierarchy", 0},         /* First 4 bits */
131601d5d5dfSSascha Wildner     {ACPI_DMT_FLAG4,    ACPI_HMAT1_FLAG_OFFSET (Flags,0),           "Use Minimum Transfer Size", 0},
131701d5d5dfSSascha Wildner     {ACPI_DMT_FLAG5,    ACPI_HMAT1_FLAG_OFFSET (Flags,0),           "Non-sequential Transfers", 0},
13187bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HMAT1_OFFSET (DataType),               "Data Type", 0},
131901d5d5dfSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HMAT1_OFFSET (MinTransferSize),        "Minimum Transfer Size", 0},
132001d5d5dfSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HMAT1_OFFSET (Reserved1),              "Reserved1", 0},
13217bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT1_OFFSET (NumberOfInitiatorPDs),   "Initiator Proximity Domains #", 0},
13227bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT1_OFFSET (NumberOfTargetPDs),      "Target Proximity Domains #", 0},
13237bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HMAT1_OFFSET (Reserved2),              "Reserved2", 0},
13247bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,   ACPI_HMAT1_OFFSET (EntryBaseUnit),          "Entry Base Unit", 0},
13257bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13267bcb6cafSSascha Wildner };
13277bcb6cafSSascha Wildner 
13287bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat1a[] =
13297bcb6cafSSascha Wildner {
13307bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   0,                                          "Initiator Proximity Domain List", DT_OPTIONAL},
13317bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13327bcb6cafSSascha Wildner };
13337bcb6cafSSascha Wildner 
13347bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat1b[] =
13357bcb6cafSSascha Wildner {
13367bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   0,                                          "Target Proximity Domain List", DT_OPTIONAL},
13377bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13387bcb6cafSSascha Wildner };
13397bcb6cafSSascha Wildner 
13407bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat1c[] =
13417bcb6cafSSascha Wildner {
13427bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   0,                                          "Entry", DT_OPTIONAL},
13437bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13447bcb6cafSSascha Wildner };
13457bcb6cafSSascha Wildner 
13467bcb6cafSSascha Wildner /* 0x02: Memory Side Cache Information */
13477bcb6cafSSascha Wildner 
13487bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat2[] =
13497bcb6cafSSascha Wildner {
13507bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,       ACPI_HMAT2_OFFSET (MemoryPD),               "Memory Proximity Domain", 0},
13517bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,       ACPI_HMAT2_OFFSET (Reserved1),              "Reserved1", 0},
13527bcb6cafSSascha Wildner     {ACPI_DMT_UINT64,       ACPI_HMAT2_OFFSET (CacheSize),              "Memory Side Cache Size", 0},
13537bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,       ACPI_HMAT2_OFFSET (CacheAttributes),        "Cache Attributes (decoded below)", 0},
13547bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS4_0,     ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Total Cache Levels", 0},
13557bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS4_4,     ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Level", 0},
13567bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS4_8,     ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Associativity", 0},
13577bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS4_12,    ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Write Policy", 0},
13587bcb6cafSSascha Wildner     {ACPI_DMT_FLAGS16_16,   ACPI_HMAT2_FLAG_OFFSET (CacheAttributes,0), "Cache Line Size", 0},
13597bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,       ACPI_HMAT2_OFFSET (Reserved2),              "Reserved2", 0},
13607bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,       ACPI_HMAT2_OFFSET (NumberOfSMBIOSHandles),  "SMBIOS Handle #", 0},
13617bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13627bcb6cafSSascha Wildner };
13637bcb6cafSSascha Wildner 
13647bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat2a[] =
13657bcb6cafSSascha Wildner {
13667bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   0,                                          "SMBIOS Handle", DT_OPTIONAL},
13677bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13687bcb6cafSSascha Wildner };
13697bcb6cafSSascha Wildner 
13707bcb6cafSSascha Wildner 
13717bcb6cafSSascha Wildner /*******************************************************************************
13727bcb6cafSSascha Wildner  *
13737bcb6cafSSascha Wildner  * HPET - High Precision Event Timer table
13747bcb6cafSSascha Wildner  *
13757bcb6cafSSascha Wildner  ******************************************************************************/
13767bcb6cafSSascha Wildner 
13777bcb6cafSSascha Wildner ACPI_DMTABLE_INFO           AcpiDmTableInfoHpet[] =
13787bcb6cafSSascha Wildner {
13797bcb6cafSSascha Wildner     {ACPI_DMT_UINT32,   ACPI_HPET_OFFSET (Id),                      "Hardware Block ID", 0},
13807bcb6cafSSascha Wildner     {ACPI_DMT_GAS,      ACPI_HPET_OFFSET (Address),                 "Timer Block Register", 0},
13817bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HPET_OFFSET (Sequence),                "Sequence Number", 0},
13827bcb6cafSSascha Wildner     {ACPI_DMT_UINT16,   ACPI_HPET_OFFSET (MinimumTick),             "Minimum Clock Ticks", 0},
13837bcb6cafSSascha Wildner     {ACPI_DMT_UINT8,    ACPI_HPET_OFFSET (Flags),                   "Flags (decoded below)", DT_FLAG},
13847bcb6cafSSascha Wildner     {ACPI_DMT_FLAG0,    ACPI_HPET_FLAG_OFFSET (Flags,0),            "4K Page Protect", 0},
13857bcb6cafSSascha Wildner     {ACPI_DMT_FLAG1,    ACPI_HPET_FLAG_OFFSET (Flags,0),            "64K Page Protect", 0},
13867bcb6cafSSascha Wildner     ACPI_DMT_TERMINATOR
13877bcb6cafSSascha Wildner };
13887bcb6cafSSascha Wildner /*! [End] no source code translation !*/
1389