Home | History | Annotate | Line # | Download | only in include
acdisasm.h revision 1.21
      1 /******************************************************************************
      2  *
      3  * Name: acdisasm.h - AML disassembler
      4  *
      5  *****************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2021, Intel Corp.
      9  * All rights reserved.
     10  *
     11  * Redistribution and use in source and binary forms, with or without
     12  * modification, are permitted provided that the following conditions
     13  * are met:
     14  * 1. Redistributions of source code must retain the above copyright
     15  *    notice, this list of conditions, and the following disclaimer,
     16  *    without modification.
     17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  *    including a substantially similar Disclaimer requirement for further
     21  *    binary redistribution.
     22  * 3. Neither the names of the above-listed copyright holders nor the names
     23  *    of any contributors may be used to endorse or promote products derived
     24  *    from this software without specific prior written permission.
     25  *
     26  * Alternatively, this software may be distributed under the terms of the
     27  * GNU General Public License ("GPL") version 2 as published by the Free
     28  * Software Foundation.
     29  *
     30  * NO WARRANTY
     31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  * POSSIBILITY OF SUCH DAMAGES.
     42  */
     43 
     44 #ifndef __ACDISASM_H__
     45 #define __ACDISASM_H__
     46 
     47 #include "amlresrc.h"
     48 
     49 
     50 #define BLOCK_NONE              0
     51 #define BLOCK_PAREN             1
     52 #define BLOCK_BRACE             2
     53 #define BLOCK_COMMA_LIST        4
     54 #define ACPI_DEFAULT_RESNAME    *(const UINT32 *) "__RD"
     55 
     56 /*
     57  * Raw table data header. Used by disassembler and data table compiler.
     58  * Do not change.
     59  */
     60 #define ACPI_RAW_TABLE_DATA_HEADER      "Raw Table Data"
     61 
     62 
     63 typedef struct acpi_dmtable_info
     64 {
     65     UINT8                       Opcode;
     66     UINT16                      Offset;
     67     char                        *Name;
     68     UINT8                       Flags;
     69 
     70 } ACPI_DMTABLE_INFO;
     71 
     72 /* Values for Flags field above */
     73 
     74 #define DT_LENGTH                       0x01    /* Field is a subtable length */
     75 #define DT_FLAG                         0x02    /* Field is a flag value */
     76 #define DT_NON_ZERO                     0x04    /* Field must be non-zero */
     77 #define DT_OPTIONAL                     0x08    /* Field is optional */
     78 #define DT_DESCRIBES_OPTIONAL           0x10    /* Field describes an optional field (length, etc.) */
     79 #define DT_COUNT                        0x20    /* Currently not used */
     80 
     81 /*
     82  * Values for Opcode above.
     83  * Note: 0-7 must not change, they are used as a flag shift value. Other
     84  * than those, new values can be added wherever appropriate.
     85  */
     86 typedef enum
     87 {
     88     /* Simple Data Types */
     89 
     90     ACPI_DMT_FLAG0          = 0,
     91     ACPI_DMT_FLAG1          = 1,
     92     ACPI_DMT_FLAG2          = 2,
     93     ACPI_DMT_FLAG3          = 3,
     94     ACPI_DMT_FLAG4          = 4,
     95     ACPI_DMT_FLAG5          = 5,
     96     ACPI_DMT_FLAG6          = 6,
     97     ACPI_DMT_FLAG7          = 7,
     98     ACPI_DMT_FLAGS0,
     99     ACPI_DMT_FLAGS1,
    100     ACPI_DMT_FLAGS2,
    101     ACPI_DMT_FLAGS4,
    102     ACPI_DMT_FLAGS4_0,
    103     ACPI_DMT_FLAGS4_4,
    104     ACPI_DMT_FLAGS4_8,
    105     ACPI_DMT_FLAGS4_12,
    106     ACPI_DMT_FLAGS16_16,
    107     ACPI_DMT_UINT8,
    108     ACPI_DMT_UINT16,
    109     ACPI_DMT_UINT24,
    110     ACPI_DMT_UINT32,
    111     ACPI_DMT_UINT40,
    112     ACPI_DMT_UINT48,
    113     ACPI_DMT_UINT56,
    114     ACPI_DMT_UINT64,
    115     ACPI_DMT_BUF7,
    116     ACPI_DMT_BUF10,
    117     ACPI_DMT_BUF12,
    118     ACPI_DMT_BUF16,
    119     ACPI_DMT_BUF128,
    120     ACPI_DMT_SIG,
    121     ACPI_DMT_STRING,
    122     ACPI_DMT_NAME4,
    123     ACPI_DMT_NAME6,
    124     ACPI_DMT_NAME8,
    125 
    126     /* Types that are decoded to strings and miscellaneous */
    127 
    128     ACPI_DMT_ACCWIDTH,
    129     ACPI_DMT_CHKSUM,
    130     ACPI_DMT_GAS,
    131     ACPI_DMT_SPACEID,
    132     ACPI_DMT_UNICODE,
    133     ACPI_DMT_UUID,
    134 
    135     /* Types used only for the Data Table Compiler */
    136 
    137     ACPI_DMT_BUFFER,
    138     ACPI_DMT_RAW_BUFFER,  /* Large, multiple line buffer */
    139     ACPI_DMT_DEVICE_PATH,
    140     ACPI_DMT_LABEL,
    141     ACPI_DMT_PCI_PATH,
    142 
    143     /* Types that are specific to particular ACPI tables */
    144 
    145     ACPI_DMT_ASF,
    146     ACPI_DMT_CEDT,
    147     ACPI_DMT_DMAR,
    148     ACPI_DMT_DMAR_SCOPE,
    149     ACPI_DMT_EINJACT,
    150     ACPI_DMT_EINJINST,
    151     ACPI_DMT_ERSTACT,
    152     ACPI_DMT_ERSTINST,
    153     ACPI_DMT_FADTPM,
    154     ACPI_DMT_GTDT,
    155     ACPI_DMT_HEST,
    156     ACPI_DMT_HESTNTFY,
    157     ACPI_DMT_HESTNTYP,
    158     ACPI_DMT_HMAT,
    159     ACPI_DMT_IORTMEM,
    160     ACPI_DMT_IVRS,
    161     ACPI_DMT_LPIT,
    162     ACPI_DMT_MADT,
    163     ACPI_DMT_NFIT,
    164     ACPI_DMT_PCCT,
    165     ACPI_DMT_PHAT,
    166     ACPI_DMT_PMTT,
    167     ACPI_DMT_PMTT_VENDOR,
    168     ACPI_DMT_PPTT,
    169     ACPI_DMT_SDEI,
    170     ACPI_DMT_SDEV,
    171     ACPI_DMT_SLIC,
    172     ACPI_DMT_SRAT,
    173     ACPI_DMT_TPM2,
    174     ACPI_DMT_VIOT,
    175 
    176     /* Special opcodes */
    177 
    178     ACPI_DMT_EXTRA_TEXT,
    179     ACPI_DMT_EXIT
    180 
    181 } ACPI_ENTRY_TYPES;
    182 
    183 typedef
    184 void (*ACPI_DMTABLE_HANDLER) (
    185     ACPI_TABLE_HEADER       *Table);
    186 
    187 typedef
    188 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
    189     void                    **PFieldList);
    190 
    191 typedef struct acpi_dmtable_data
    192 {
    193     char                    *Signature;
    194     ACPI_DMTABLE_INFO       *TableInfo;
    195     ACPI_DMTABLE_HANDLER    TableHandler;
    196     ACPI_CMTABLE_HANDLER    CmTableHandler;
    197     const unsigned char     *Template;
    198 
    199 } ACPI_DMTABLE_DATA;
    200 
    201 
    202 typedef struct acpi_op_walk_info
    203 {
    204     ACPI_WALK_STATE         *WalkState;
    205     ACPI_PARSE_OBJECT       *MappingOp;
    206     UINT8                   *PreviousAml;
    207     UINT8                   *StartAml;
    208     UINT32                  Level;
    209     UINT32                  LastLevel;
    210     UINT32                  Count;
    211     UINT32                  BitOffset;
    212     UINT32                  Flags;
    213     UINT32                  AmlOffset;
    214 
    215 } ACPI_OP_WALK_INFO;
    216 
    217 /*
    218  * TBD - another copy of this is in asltypes.h, fix
    219  */
    220 #ifndef ASL_WALK_CALLBACK_DEFINED
    221 typedef
    222 ACPI_STATUS (*ASL_WALK_CALLBACK) (
    223     ACPI_PARSE_OBJECT           *Op,
    224     UINT32                      Level,
    225     void                        *Context);
    226 #define ASL_WALK_CALLBACK_DEFINED
    227 #endif
    228 
    229 typedef
    230 void (*ACPI_RESOURCE_HANDLER) (
    231     ACPI_OP_WALK_INFO       *Info,
    232     AML_RESOURCE            *Resource,
    233     UINT32                  Length,
    234     UINT32                  Level);
    235 
    236 typedef struct acpi_resource_tag
    237 {
    238     UINT32                  BitIndex;
    239     char                    *Tag;
    240 
    241 } ACPI_RESOURCE_TAG;
    242 
    243 /* Strings used for decoding flags to ASL keywords */
    244 
    245 extern const char               *AcpiGbl_WordDecode[];
    246 extern const char               *AcpiGbl_IrqDecode[];
    247 extern const char               *AcpiGbl_LockRule[];
    248 extern const char               *AcpiGbl_AccessTypes[];
    249 extern const char               *AcpiGbl_UpdateRules[];
    250 extern const char               *AcpiGbl_MatchOps[];
    251 
    252 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
    253 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
    254 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
    255 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
    256 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
    257 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
    258 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
    259 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
    260 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
    261 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
    262 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
    263 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCedtHdr[];
    264 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCedt0[];
    265 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
    266 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
    267 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
    268 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
    269 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
    270 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2a[];
    271 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
    272 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
    273 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
    274 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
    275 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
    276 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2OemData[];
    277 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
    278 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
    279 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
    280 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
    281 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
    282 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
    283 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
    284 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
    285 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar4[];
    286 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
    287 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0[];
    288 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0a[];
    289 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1[];
    290 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1a[];
    291 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm2[];
    292 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
    293 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
    294 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
    295 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
    296 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
    297 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
    298 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
    299 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
    300 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
    301 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
    302 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt6[];
    303 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
    304 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
    305 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
    306 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
    307 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
    308 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
    309 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtHdr[];
    310 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtEl2[];
    311 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0[];
    312 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0a[];
    313 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt1[];
    314 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
    315 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
    316 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
    317 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
    318 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
    319 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
    320 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
    321 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
    322 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
    323 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest10[];
    324 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest11[];
    325 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
    326 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
    327 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
    328 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpitHdr[];
    329 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit0[];
    330 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit1[];
    331 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat[];
    332 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat0[];
    333 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1[];
    334 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1a[];
    335 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1b[];
    336 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1c[];
    337 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat2[];
    338 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat2a[];
    339 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmatHdr[];
    340 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort[];
    341 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0[];
    342 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0a[];
    343 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1[];
    344 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1a[];
    345 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort2[];
    346 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3[];
    347 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3a[];
    348 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3b[];
    349 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3c[];
    350 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort4[];
    351 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort5[];
    352 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort6[];
    353 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort6a[];
    354 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortAcc[];
    355 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortHdr[];
    356 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortHdr3[];
    357 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortMap[];
    358 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortPad[];
    359 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
    360 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
    361 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs01[];
    362 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
    363 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
    364 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
    365 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
    366 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
    367 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHid[];
    368 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHid1[];
    369 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
    370 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
    371 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
    372 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
    373 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
    374 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
    375 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
    376 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
    377 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
    378 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
    379 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
    380 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
    381 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
    382 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
    383 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
    384 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt13[];
    385 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt14[];
    386 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt15[];
    387 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt16[];
    388 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
    389 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
    390 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
    391 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
    392 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
    393 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
    394 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
    395 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
    396 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
    397 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
    398 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
    399 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
    400 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit[];
    401 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfitHdr[];
    402 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit0[];
    403 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit1[];
    404 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2[];
    405 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2a[];
    406 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3[];
    407 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3a[];
    408 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit4[];
    409 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit5[];
    410 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6[];
    411 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6a[];
    412 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit7[];
    413 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPdtt[];
    414 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhatHdr[];
    415 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhat0[];
    416 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhat0a[];
    417 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhat1[];
    418 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhat1a[];
    419 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPhat1b[];
    420 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
    421 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
    422 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
    423 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
    424 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttVendor[];
    425 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
    426 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
    427 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcctHdr[];
    428 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
    429 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct1[];
    430 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct2[];
    431 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct3[];
    432 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct4[];
    433 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct5[];
    434 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPdtt0[];
    435 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt0[];
    436 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt0a[];
    437 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt1[];
    438 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt1a[];
    439 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt2[];
    440 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPpttHdr[];
    441 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRasf[];
    442 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
    443 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
    444 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
    445 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
    446 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
    447 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
    448 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
    449 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdei[];
    450 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev[];
    451 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdevHdr[];
    452 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev0[];
    453 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev0a[];
    454 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev0b[];
    455 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdevSecCompHdr[];
    456 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdevSecCompId[];
    457 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdevSecCompMem[];
    458 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1[];
    459 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1a[];
    460 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1b[];
    461 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
    462 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
    463 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
    464 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
    465 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
    466 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
    467 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
    468 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
    469 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
    470 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat3[];
    471 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat4[];
    472 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat5[];
    473 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoStao[];
    474 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoStaoStr[];
    475 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaHdr[];
    476 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaClient[];
    477 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaServer[];
    478 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
    479 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2a[];
    480 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm211[];
    481 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm23[];
    482 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm23a[];
    483 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
    484 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViot[];
    485 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViotHeader[];
    486 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViot1[];
    487 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViot2[];
    488 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViot3[];
    489 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoViot4[];
    490 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
    491 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
    492 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
    493 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
    494 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
    495 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt[];
    496 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt0[];
    497 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWsmt[];
    498 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoXenv[];
    499 
    500 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
    501 
    502 /*
    503  * dmtable and ahtable
    504  */
    505 extern const ACPI_DMTABLE_DATA  AcpiDmTableData[];
    506 extern const AH_TABLE           AcpiGbl_SupportedTables[];
    507 
    508 UINT8
    509 AcpiDmGenerateChecksum (
    510     void                    *Table,
    511     UINT32                  Length,
    512     UINT8                   OriginalChecksum);
    513 
    514 const ACPI_DMTABLE_DATA *
    515 AcpiDmGetTableData (
    516     char                    *Signature);
    517 
    518 void
    519 AcpiDmDumpDataTable (
    520     ACPI_TABLE_HEADER       *Table);
    521 
    522 ACPI_STATUS
    523 AcpiDmDumpTable (
    524     UINT32                  TableLength,
    525     UINT32                  TableOffset,
    526     void                    *Table,
    527     UINT32                  SubtableLength,
    528     ACPI_DMTABLE_INFO        *Info);
    529 
    530 void
    531 AcpiDmLineHeader (
    532     UINT32                  Offset,
    533     UINT32                  ByteLength,
    534     char                    *Name);
    535 
    536 void
    537 AcpiDmLineHeader2 (
    538     UINT32                  Offset,
    539     UINT32                  ByteLength,
    540     char                    *Name,
    541     UINT32                  Value);
    542 
    543 
    544 /*
    545  * dmtbdump
    546  */
    547 void
    548 AcpiDmDumpBuffer (
    549     void                    *Table,
    550     UINT32                  BufferOffset,
    551     UINT32                  Length,
    552     UINT32                  AbsoluteOffset,
    553     char                    *Header);
    554 
    555 void
    556 AcpiDmDumpUnicode (
    557     void                    *Table,
    558     UINT32                  BufferOffset,
    559     UINT32                  ByteLength);
    560 
    561 void
    562 AcpiDmDumpAsf (
    563     ACPI_TABLE_HEADER       *Table);
    564 
    565 void
    566 AcpiDmDumpCedt (
    567     ACPI_TABLE_HEADER       *Table);
    568 
    569 void
    570 AcpiDmDumpCpep (
    571     ACPI_TABLE_HEADER       *Table);
    572 
    573 void
    574 AcpiDmDumpCsrt (
    575     ACPI_TABLE_HEADER       *Table);
    576 
    577 void
    578 AcpiDmDumpDbg2 (
    579     ACPI_TABLE_HEADER       *Table);
    580 
    581 void
    582 AcpiDmDumpDmar (
    583     ACPI_TABLE_HEADER       *Table);
    584 
    585 void
    586 AcpiDmDumpDrtm (
    587     ACPI_TABLE_HEADER       *Table);
    588 
    589 void
    590 AcpiDmDumpEinj (
    591     ACPI_TABLE_HEADER       *Table);
    592 
    593 void
    594 AcpiDmDumpErst (
    595     ACPI_TABLE_HEADER       *Table);
    596 
    597 void
    598 AcpiDmDumpFadt (
    599     ACPI_TABLE_HEADER       *Table);
    600 
    601 void
    602 AcpiDmDumpFpdt (
    603     ACPI_TABLE_HEADER       *Table);
    604 
    605 void
    606 AcpiDmDumpGtdt (
    607     ACPI_TABLE_HEADER       *Table);
    608 
    609 void
    610 AcpiDmDumpHest (
    611     ACPI_TABLE_HEADER       *Table);
    612 
    613 void
    614 AcpiDmDumpHmat (
    615     ACPI_TABLE_HEADER       *Table);
    616 
    617 void
    618 AcpiDmDumpIort (
    619     ACPI_TABLE_HEADER       *Table);
    620 
    621 void
    622 AcpiDmDumpIvrs (
    623     ACPI_TABLE_HEADER       *Table);
    624 
    625 void
    626 AcpiDmDumpLpit (
    627     ACPI_TABLE_HEADER       *Table);
    628 
    629 void
    630 AcpiDmDumpMadt (
    631     ACPI_TABLE_HEADER       *Table);
    632 
    633 void
    634 AcpiDmDumpMcfg (
    635     ACPI_TABLE_HEADER       *Table);
    636 
    637 void
    638 AcpiDmDumpMpst (
    639     ACPI_TABLE_HEADER       *Table);
    640 
    641 void
    642 AcpiDmDumpMsct (
    643     ACPI_TABLE_HEADER       *Table);
    644 
    645 void
    646 AcpiDmDumpNfit (
    647     ACPI_TABLE_HEADER       *Table);
    648 
    649 void
    650 AcpiDmDumpPcct (
    651     ACPI_TABLE_HEADER       *Table);
    652 
    653 void
    654 AcpiDmDumpPdtt (
    655     ACPI_TABLE_HEADER       *Table);
    656 
    657 void
    658 AcpiDmDumpPhat (
    659     ACPI_TABLE_HEADER       *Table);
    660 
    661 void
    662 AcpiDmDumpPmtt (
    663     ACPI_TABLE_HEADER       *Table);
    664 
    665 void
    666 AcpiDmDumpPptt (
    667     ACPI_TABLE_HEADER       *Table);
    668 
    669 UINT32
    670 AcpiDmDumpRsdp (
    671     ACPI_TABLE_HEADER       *Table);
    672 
    673 void
    674 AcpiDmDumpRsdt (
    675     ACPI_TABLE_HEADER       *Table);
    676 
    677 UINT32
    678 AcpiDmDumpS3pt (
    679     ACPI_TABLE_HEADER       *Table);
    680 
    681 void
    682 AcpiDmDumpSdev (
    683     ACPI_TABLE_HEADER       *Table);
    684 
    685 void
    686 AcpiDmDumpSlic (
    687     ACPI_TABLE_HEADER       *Table);
    688 
    689 void
    690 AcpiDmDumpSlit (
    691     ACPI_TABLE_HEADER       *Table);
    692 
    693 void
    694 AcpiDmDumpSrat (
    695     ACPI_TABLE_HEADER       *Table);
    696 
    697 void
    698 AcpiDmDumpStao (
    699     ACPI_TABLE_HEADER       *Table);
    700 
    701 void
    702 AcpiDmDumpTcpa (
    703     ACPI_TABLE_HEADER       *Table);
    704 
    705 void
    706 AcpiDmDumpTpm2 (
    707     ACPI_TABLE_HEADER       *Table);
    708 
    709 void
    710 AcpiDmDumpViot (
    711     ACPI_TABLE_HEADER       *Table);
    712 
    713 void
    714 AcpiDmDumpWdat (
    715     ACPI_TABLE_HEADER       *Table);
    716 
    717 void
    718 AcpiDmDumpWpbt (
    719     ACPI_TABLE_HEADER       *Table);
    720 
    721 void
    722 AcpiDmDumpXsdt (
    723     ACPI_TABLE_HEADER       *Table);
    724 
    725 
    726 /*
    727  * dmwalk
    728  */
    729 void
    730 AcpiDmDisassemble (
    731     ACPI_WALK_STATE         *WalkState,
    732     ACPI_PARSE_OBJECT       *Origin,
    733     UINT32                  NumOpcodes);
    734 
    735 void
    736 AcpiDmWalkParseTree (
    737     ACPI_PARSE_OBJECT       *Op,
    738     ASL_WALK_CALLBACK       DescendingCallback,
    739     ASL_WALK_CALLBACK       AscendingCallback,
    740     void                    *Context);
    741 
    742 
    743 /*
    744  * dmopcode
    745  */
    746 void
    747 AcpiDmDisassembleOneOp (
    748     ACPI_WALK_STATE         *WalkState,
    749     ACPI_OP_WALK_INFO       *Info,
    750     ACPI_PARSE_OBJECT       *Op);
    751 
    752 UINT32
    753 AcpiDmListType (
    754     ACPI_PARSE_OBJECT       *Op);
    755 
    756 void
    757 AcpiDmMethodFlags (
    758     ACPI_PARSE_OBJECT       *Op);
    759 
    760 void
    761 AcpiDmDisplayTargetPathname (
    762     ACPI_PARSE_OBJECT       *Op);
    763 
    764 void
    765 AcpiDmNotifyDescription (
    766     ACPI_PARSE_OBJECT       *Op);
    767 
    768 void
    769 AcpiDmPredefinedDescription (
    770     ACPI_PARSE_OBJECT       *Op);
    771 
    772 void
    773 AcpiDmFieldPredefinedDescription (
    774     ACPI_PARSE_OBJECT       *Op);
    775 
    776 void
    777 AcpiDmFieldFlags (
    778     ACPI_PARSE_OBJECT       *Op);
    779 
    780 void
    781 AcpiDmAddressSpace (
    782     UINT8                   SpaceId);
    783 
    784 void
    785 AcpiDmRegionFlags (
    786     ACPI_PARSE_OBJECT       *Op);
    787 
    788 void
    789 AcpiDmMatchOp (
    790     ACPI_PARSE_OBJECT       *Op);
    791 
    792 
    793 /*
    794  * dmnames
    795  */
    796 UINT32
    797 AcpiDmDumpName (
    798     UINT32                  Name);
    799 
    800 ACPI_STATUS
    801 AcpiPsDisplayObjectPathname (
    802     ACPI_WALK_STATE         *WalkState,
    803     ACPI_PARSE_OBJECT       *Op);
    804 
    805 void
    806 AcpiDmNamestring (
    807     char                    *Name);
    808 
    809 
    810 /*
    811  * dmbuffer
    812  */
    813 void
    814 AcpiDmDisasmByteList (
    815     UINT32                  Level,
    816     UINT8                   *ByteData,
    817     UINT32                  ByteCount);
    818 
    819 void
    820 AcpiDmByteList (
    821     ACPI_OP_WALK_INFO       *Info,
    822     ACPI_PARSE_OBJECT       *Op);
    823 
    824 void
    825 AcpiDmCheckForHardwareId (
    826     ACPI_PARSE_OBJECT       *Op);
    827 
    828 void
    829 AcpiDmDecompressEisaId (
    830     UINT32                  EncodedId);
    831 
    832 BOOLEAN
    833 AcpiDmIsUuidBuffer (
    834     ACPI_PARSE_OBJECT       *Op);
    835 
    836 BOOLEAN
    837 AcpiDmIsUnicodeBuffer (
    838     ACPI_PARSE_OBJECT       *Op);
    839 
    840 BOOLEAN
    841 AcpiDmIsStringBuffer (
    842     ACPI_PARSE_OBJECT       *Op);
    843 
    844 BOOLEAN
    845 AcpiDmIsPldBuffer (
    846     ACPI_PARSE_OBJECT       *Op);
    847 
    848 
    849 /*
    850  * dmdeferred
    851  */
    852 ACPI_STATUS
    853 AcpiDmParseDeferredOps (
    854     ACPI_PARSE_OBJECT       *Root);
    855 
    856 
    857 /*
    858  * dmextern
    859  */
    860 ACPI_STATUS
    861 AcpiDmAddToExternalFileList (
    862     char                    *PathList);
    863 
    864 void
    865 AcpiDmClearExternalFileList (
    866     void);
    867 
    868 void
    869 AcpiDmAddOpToExternalList (
    870     ACPI_PARSE_OBJECT       *Op,
    871     char                    *Path,
    872     UINT8                   Type,
    873     UINT32                  Value,
    874     UINT16                  Flags);
    875 
    876 void
    877 AcpiDmCreateSubobjectForExternal (
    878     UINT8                   Type,
    879     ACPI_NAMESPACE_NODE     **Node,
    880     UINT32                  Value);
    881 
    882 void
    883 AcpiDmAddNodeToExternalList (
    884     ACPI_NAMESPACE_NODE     *Node,
    885     UINT8                   Type,
    886     UINT32                  Value,
    887     UINT16                  Flags);
    888 
    889 void
    890 AcpiDmAddExternalListToNamespace (
    891     void);
    892 
    893 void
    894 AcpiDmAddOneExternalToNamespace (
    895     char                    *Path,
    896     UINT8                   Type,
    897     UINT32                  Value);
    898 
    899 UINT32
    900 AcpiDmGetUnresolvedExternalMethodCount (
    901     void);
    902 
    903 void
    904 AcpiDmClearExternalList (
    905     void);
    906 
    907 void
    908 AcpiDmEmitExternals (
    909     void);
    910 
    911 void
    912 AcpiDmEmitExternal (
    913     ACPI_PARSE_OBJECT       *NameOp,
    914     ACPI_PARSE_OBJECT       *TypeOp);
    915 
    916 void
    917 AcpiDmUnresolvedWarning (
    918     UINT8                   Type);
    919 
    920 void
    921 AcpiDmGetExternalsFromFile (
    922     void);
    923 
    924 void
    925 AcpiDmMarkExternalConflict (
    926     ACPI_NAMESPACE_NODE     *Node);
    927 
    928 
    929 /*
    930  * dmresrc
    931  */
    932 void
    933 AcpiDmDumpInteger8 (
    934     UINT8                   Value,
    935     const char              *Name);
    936 
    937 void
    938 AcpiDmDumpInteger16 (
    939     UINT16                  Value,
    940     const char              *Name);
    941 
    942 void
    943 AcpiDmDumpInteger32 (
    944     UINT32                  Value,
    945     const char              *Name);
    946 
    947 void
    948 AcpiDmDumpInteger64 (
    949     UINT64                  Value,
    950     const char              *Name);
    951 
    952 void
    953 AcpiDmResourceTemplate (
    954     ACPI_OP_WALK_INFO       *Info,
    955     ACPI_PARSE_OBJECT       *Op,
    956     UINT8                   *ByteData,
    957     UINT32                  ByteCount);
    958 
    959 ACPI_STATUS
    960 AcpiDmIsResourceTemplate (
    961     ACPI_WALK_STATE         *WalkState,
    962     ACPI_PARSE_OBJECT       *Op);
    963 
    964 void
    965 AcpiDmBitList (
    966     UINT16                  Mask);
    967 
    968 void
    969 AcpiDmDescriptorName (
    970     void);
    971 
    972 
    973 /*
    974  * dmresrcl
    975  */
    976 void
    977 AcpiDmWordDescriptor (
    978     ACPI_OP_WALK_INFO       *Info,
    979     AML_RESOURCE            *Resource,
    980     UINT32                  Length,
    981     UINT32                  Level);
    982 
    983 void
    984 AcpiDmDwordDescriptor (
    985     ACPI_OP_WALK_INFO       *Info,
    986     AML_RESOURCE            *Resource,
    987     UINT32                  Length,
    988     UINT32                  Level);
    989 
    990 void
    991 AcpiDmExtendedDescriptor (
    992     ACPI_OP_WALK_INFO       *Info,
    993     AML_RESOURCE            *Resource,
    994     UINT32                  Length,
    995     UINT32                  Level);
    996 
    997 void
    998 AcpiDmQwordDescriptor (
    999     ACPI_OP_WALK_INFO       *Info,
   1000     AML_RESOURCE            *Resource,
   1001     UINT32                  Length,
   1002     UINT32                  Level);
   1003 
   1004 void
   1005 AcpiDmMemory24Descriptor (
   1006     ACPI_OP_WALK_INFO       *Info,
   1007     AML_RESOURCE            *Resource,
   1008     UINT32                  Length,
   1009     UINT32                  Level);
   1010 
   1011 void
   1012 AcpiDmMemory32Descriptor (
   1013     ACPI_OP_WALK_INFO       *Info,
   1014     AML_RESOURCE            *Resource,
   1015     UINT32                  Length,
   1016     UINT32                  Level);
   1017 
   1018 void
   1019 AcpiDmFixedMemory32Descriptor (
   1020     ACPI_OP_WALK_INFO       *Info,
   1021     AML_RESOURCE            *Resource,
   1022     UINT32                  Length,
   1023     UINT32                  Level);
   1024 
   1025 void
   1026 AcpiDmGenericRegisterDescriptor (
   1027     ACPI_OP_WALK_INFO       *Info,
   1028     AML_RESOURCE            *Resource,
   1029     UINT32                  Length,
   1030     UINT32                  Level);
   1031 
   1032 void
   1033 AcpiDmInterruptDescriptor (
   1034     ACPI_OP_WALK_INFO       *Info,
   1035     AML_RESOURCE            *Resource,
   1036     UINT32                  Length,
   1037     UINT32                  Level);
   1038 
   1039 void
   1040 AcpiDmVendorLargeDescriptor (
   1041     ACPI_OP_WALK_INFO       *Info,
   1042     AML_RESOURCE            *Resource,
   1043     UINT32                  Length,
   1044     UINT32                  Level);
   1045 
   1046 void
   1047 AcpiDmGpioDescriptor (
   1048     ACPI_OP_WALK_INFO       *Info,
   1049     AML_RESOURCE            *Resource,
   1050     UINT32                  Length,
   1051     UINT32                  Level);
   1052 
   1053 void
   1054 AcpiDmPinFunctionDescriptor (
   1055     ACPI_OP_WALK_INFO       *Info,
   1056     AML_RESOURCE            *Resource,
   1057     UINT32                  Length,
   1058     UINT32                  Level);
   1059 
   1060 void
   1061 AcpiDmPinConfigDescriptor (
   1062     ACPI_OP_WALK_INFO       *Info,
   1063     AML_RESOURCE            *Resource,
   1064     UINT32                  Length,
   1065     UINT32                  Level);
   1066 
   1067 void
   1068 AcpiDmPinGroupDescriptor (
   1069     ACPI_OP_WALK_INFO       *Info,
   1070     AML_RESOURCE            *Resource,
   1071     UINT32                  Length,
   1072     UINT32                  Level);
   1073 
   1074 void
   1075 AcpiDmPinGroupFunctionDescriptor (
   1076     ACPI_OP_WALK_INFO       *Info,
   1077     AML_RESOURCE            *Resource,
   1078     UINT32                  Length,
   1079     UINT32                  Level);
   1080 
   1081 void
   1082 AcpiDmPinGroupConfigDescriptor (
   1083     ACPI_OP_WALK_INFO       *Info,
   1084     AML_RESOURCE            *Resource,
   1085     UINT32                  Length,
   1086     UINT32                  Level);
   1087 
   1088 void
   1089 AcpiDmSerialBusDescriptor (
   1090     ACPI_OP_WALK_INFO       *Info,
   1091     AML_RESOURCE            *Resource,
   1092     UINT32                  Length,
   1093     UINT32                  Level);
   1094 
   1095 void
   1096 AcpiDmVendorCommon (
   1097     const char              *Name,
   1098     UINT8                   *ByteData,
   1099     UINT32                  Length,
   1100     UINT32                  Level);
   1101 
   1102 
   1103 /*
   1104  * dmresrcs
   1105  */
   1106 void
   1107 AcpiDmIrqDescriptor (
   1108     ACPI_OP_WALK_INFO       *Info,
   1109     AML_RESOURCE            *Resource,
   1110     UINT32                  Length,
   1111     UINT32                  Level);
   1112 
   1113 void
   1114 AcpiDmDmaDescriptor (
   1115     ACPI_OP_WALK_INFO       *Info,
   1116     AML_RESOURCE            *Resource,
   1117     UINT32                  Length,
   1118     UINT32                  Level);
   1119 
   1120 void
   1121 AcpiDmFixedDmaDescriptor (
   1122     ACPI_OP_WALK_INFO       *Info,
   1123     AML_RESOURCE            *Resource,
   1124     UINT32                  Length,
   1125     UINT32                  Level);
   1126 
   1127 void
   1128 AcpiDmIoDescriptor (
   1129     ACPI_OP_WALK_INFO       *Info,
   1130     AML_RESOURCE            *Resource,
   1131     UINT32                  Length,
   1132     UINT32                  Level);
   1133 
   1134 void
   1135 AcpiDmFixedIoDescriptor (
   1136     ACPI_OP_WALK_INFO       *Info,
   1137     AML_RESOURCE            *Resource,
   1138     UINT32                  Length,
   1139     UINT32                  Level);
   1140 
   1141 void
   1142 AcpiDmStartDependentDescriptor (
   1143     ACPI_OP_WALK_INFO       *Info,
   1144     AML_RESOURCE            *Resource,
   1145     UINT32                  Length,
   1146     UINT32                  Level);
   1147 
   1148 void
   1149 AcpiDmEndDependentDescriptor (
   1150     ACPI_OP_WALK_INFO       *Info,
   1151     AML_RESOURCE            *Resource,
   1152     UINT32                  Length,
   1153     UINT32                  Level);
   1154 
   1155 void
   1156 AcpiDmVendorSmallDescriptor (
   1157     ACPI_OP_WALK_INFO       *Info,
   1158     AML_RESOURCE            *Resource,
   1159     UINT32                  Length,
   1160     UINT32                  Level);
   1161 
   1162 
   1163 /*
   1164  * dmutils
   1165  */
   1166 void
   1167 AcpiDmDecodeAttribute (
   1168     UINT8                   Attribute);
   1169 
   1170 void
   1171 AcpiDmIndent (
   1172     UINT32                  Level);
   1173 
   1174 BOOLEAN
   1175 AcpiDmCommaIfListMember (
   1176     ACPI_PARSE_OBJECT       *Op);
   1177 
   1178 void
   1179 AcpiDmCommaIfFieldMember (
   1180     ACPI_PARSE_OBJECT       *Op);
   1181 
   1182 
   1183 /*
   1184  * dmrestag
   1185  */
   1186 void
   1187 AcpiDmFindResources (
   1188     ACPI_PARSE_OBJECT       *Root);
   1189 
   1190 void
   1191 AcpiDmCheckResourceReference (
   1192     ACPI_PARSE_OBJECT       *Op,
   1193     ACPI_WALK_STATE         *WalkState);
   1194 
   1195 
   1196 /*
   1197  * dmcstyle
   1198  */
   1199 BOOLEAN
   1200 AcpiDmCheckForSymbolicOpcode (
   1201     ACPI_PARSE_OBJECT       *Op,
   1202     ACPI_OP_WALK_INFO       *Info);
   1203 
   1204 void
   1205 AcpiDmCloseOperator (
   1206     ACPI_PARSE_OBJECT       *Op);
   1207 
   1208 
   1209 /*
   1210  * dmtables
   1211  */
   1212 ACPI_STATUS
   1213 AcpiDmProcessSwitch (
   1214     ACPI_PARSE_OBJECT       *Op);
   1215 
   1216 void
   1217 AcpiDmClearTempList(
   1218     void);
   1219 
   1220 /*
   1221  * dmtables
   1222  */
   1223 void
   1224 AdDisassemblerHeader (
   1225     char                    *Filename,
   1226     UINT8                   TableType);
   1227 
   1228 #define ACPI_IS_AML_TABLE   0
   1229 #define ACPI_IS_DATA_TABLE  1
   1230 
   1231 
   1232 /*
   1233  * adisasm
   1234  */
   1235 ACPI_STATUS
   1236 AdAmlDisassemble (
   1237     BOOLEAN                 OutToFile,
   1238     char                    *Filename,
   1239     char                    *Prefix,
   1240     char                    **OutFilename);
   1241 
   1242 ACPI_STATUS
   1243 AdGetLocalTables (
   1244     void);
   1245 
   1246 ACPI_STATUS
   1247 AdParseTable (
   1248     ACPI_TABLE_HEADER       *Table,
   1249     ACPI_OWNER_ID           *OwnerId,
   1250     BOOLEAN                 LoadTable,
   1251     BOOLEAN                 External);
   1252 
   1253 ACPI_STATUS
   1254 AdDisplayTables (
   1255     char                    *Filename,
   1256     ACPI_TABLE_HEADER       *Table);
   1257 
   1258 ACPI_STATUS
   1259 AdDisplayStatistics (
   1260     void);
   1261 
   1262 
   1263 /*
   1264  * dmwalk
   1265  */
   1266 UINT32
   1267 AcpiDmBlockType (
   1268     ACPI_PARSE_OBJECT       *Op);
   1269 
   1270 
   1271 #endif  /* __ACDISASM_H__ */
   1272