Home | History | Annotate | Line # | Download | only in include
acdisasm.h revision 1.19
      1 /******************************************************************************
      2  *
      3  * Name: acdisasm.h - AML disassembler
      4  *
      5  *****************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2019, 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 MERCHANTIBILITY 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_DMAR,
    147     ACPI_DMT_DMAR_SCOPE,
    148     ACPI_DMT_EINJACT,
    149     ACPI_DMT_EINJINST,
    150     ACPI_DMT_ERSTACT,
    151     ACPI_DMT_ERSTINST,
    152     ACPI_DMT_FADTPM,
    153     ACPI_DMT_GTDT,
    154     ACPI_DMT_HEST,
    155     ACPI_DMT_HESTNTFY,
    156     ACPI_DMT_HESTNTYP,
    157     ACPI_DMT_HMAT,
    158     ACPI_DMT_IORTMEM,
    159     ACPI_DMT_IVRS,
    160     ACPI_DMT_LPIT,
    161     ACPI_DMT_MADT,
    162     ACPI_DMT_NFIT,
    163     ACPI_DMT_PCCT,
    164     ACPI_DMT_PMTT,
    165     ACPI_DMT_PPTT,
    166     ACPI_DMT_SDEI,
    167     ACPI_DMT_SDEV,
    168     ACPI_DMT_SLIC,
    169     ACPI_DMT_SRAT,
    170     ACPI_DMT_TPM2,
    171 
    172     /* Special opcodes */
    173 
    174     ACPI_DMT_EXTRA_TEXT,
    175     ACPI_DMT_EXIT
    176 
    177 } ACPI_ENTRY_TYPES;
    178 
    179 typedef
    180 void (*ACPI_DMTABLE_HANDLER) (
    181     ACPI_TABLE_HEADER       *Table);
    182 
    183 typedef
    184 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
    185     void                    **PFieldList);
    186 
    187 typedef struct acpi_dmtable_data
    188 {
    189     char                    *Signature;
    190     ACPI_DMTABLE_INFO       *TableInfo;
    191     ACPI_DMTABLE_HANDLER    TableHandler;
    192     ACPI_CMTABLE_HANDLER    CmTableHandler;
    193     const unsigned char     *Template;
    194 
    195 } ACPI_DMTABLE_DATA;
    196 
    197 
    198 typedef struct acpi_op_walk_info
    199 {
    200     ACPI_WALK_STATE         *WalkState;
    201     ACPI_PARSE_OBJECT       *MappingOp;
    202     UINT8                   *PreviousAml;
    203     UINT8                   *StartAml;
    204     UINT32                  Level;
    205     UINT32                  LastLevel;
    206     UINT32                  Count;
    207     UINT32                  BitOffset;
    208     UINT32                  Flags;
    209     UINT32                  AmlOffset;
    210 
    211 } ACPI_OP_WALK_INFO;
    212 
    213 /*
    214  * TBD - another copy of this is in asltypes.h, fix
    215  */
    216 #ifndef ASL_WALK_CALLBACK_DEFINED
    217 typedef
    218 ACPI_STATUS (*ASL_WALK_CALLBACK) (
    219     ACPI_PARSE_OBJECT           *Op,
    220     UINT32                      Level,
    221     void                        *Context);
    222 #define ASL_WALK_CALLBACK_DEFINED
    223 #endif
    224 
    225 typedef
    226 void (*ACPI_RESOURCE_HANDLER) (
    227     ACPI_OP_WALK_INFO       *Info,
    228     AML_RESOURCE            *Resource,
    229     UINT32                  Length,
    230     UINT32                  Level);
    231 
    232 typedef struct acpi_resource_tag
    233 {
    234     UINT32                  BitIndex;
    235     char                    *Tag;
    236 
    237 } ACPI_RESOURCE_TAG;
    238 
    239 /* Strings used for decoding flags to ASL keywords */
    240 
    241 extern const char               *AcpiGbl_WordDecode[];
    242 extern const char               *AcpiGbl_IrqDecode[];
    243 extern const char               *AcpiGbl_LockRule[];
    244 extern const char               *AcpiGbl_AccessTypes[];
    245 extern const char               *AcpiGbl_UpdateRules[];
    246 extern const char               *AcpiGbl_MatchOps[];
    247 
    248 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
    249 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
    250 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
    251 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
    252 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
    253 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
    254 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
    255 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
    256 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
    257 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
    258 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
    259 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
    260 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
    261 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
    262 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
    263 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
    264 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2a[];
    265 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
    266 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
    267 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
    268 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
    269 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
    270 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2OemData[];
    271 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
    272 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
    273 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
    274 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
    275 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
    276 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
    277 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
    278 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
    279 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar4[];
    280 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
    281 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0[];
    282 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0a[];
    283 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1[];
    284 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1a[];
    285 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm2[];
    286 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
    287 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
    288 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
    289 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
    290 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
    291 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
    292 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
    293 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
    294 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
    295 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
    296 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt6[];
    297 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
    298 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
    299 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
    300 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
    301 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
    302 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
    303 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtHdr[];
    304 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtEl2[];
    305 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0[];
    306 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0a[];
    307 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt1[];
    308 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
    309 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
    310 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
    311 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
    312 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
    313 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
    314 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
    315 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
    316 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
    317 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest10[];
    318 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest11[];
    319 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
    320 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
    321 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
    322 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpitHdr[];
    323 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit0[];
    324 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit1[];
    325 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat[];
    326 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat0[];
    327 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1[];
    328 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1a[];
    329 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1b[];
    330 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat1c[];
    331 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat2[];
    332 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmat2a[];
    333 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHmatHdr[];
    334 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort[];
    335 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0[];
    336 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0a[];
    337 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1[];
    338 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1a[];
    339 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort2[];
    340 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3[];
    341 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3a[];
    342 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3b[];
    343 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3c[];
    344 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort4[];
    345 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort5[];
    346 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortAcc[];
    347 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortHdr[];
    348 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortMap[];
    349 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortPad[];
    350 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
    351 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
    352 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
    353 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
    354 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
    355 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
    356 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
    357 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
    358 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
    359 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
    360 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
    361 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
    362 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
    363 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
    364 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
    365 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
    366 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
    367 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
    368 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
    369 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
    370 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
    371 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
    372 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt13[];
    373 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt14[];
    374 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt15[];
    375 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
    376 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
    377 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
    378 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
    379 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
    380 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
    381 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
    382 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
    383 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
    384 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
    385 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
    386 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
    387 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
    388 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
    389 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit[];
    390 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfitHdr[];
    391 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit0[];
    392 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit1[];
    393 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2[];
    394 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2a[];
    395 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3[];
    396 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3a[];
    397 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit4[];
    398 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit5[];
    399 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6[];
    400 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6a[];
    401 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit7[];
    402 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPdtt[];
    403 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
    404 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
    405 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
    406 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
    407 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
    408 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
    409 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
    410 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcctHdr[];
    411 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
    412 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct1[];
    413 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct2[];
    414 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct3[];
    415 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct4[];
    416 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPdtt0[];
    417 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt0[];
    418 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt0a[];
    419 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt1[];
    420 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPptt2[];
    421 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPpttHdr[];
    422 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRasf[];
    423 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
    424 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
    425 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
    426 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
    427 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
    428 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
    429 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
    430 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdei[];
    431 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev[];
    432 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdevHdr[];
    433 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev0[];
    434 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev0a[];
    435 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1[];
    436 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1a[];
    437 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSdev1b[];
    438 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
    439 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
    440 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
    441 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
    442 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
    443 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
    444 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
    445 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
    446 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
    447 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat3[];
    448 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat4[];
    449 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat5[];
    450 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoStao[];
    451 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoStaoStr[];
    452 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaHdr[];
    453 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaClient[];
    454 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaServer[];
    455 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
    456 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2a[];
    457 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm211[];
    458 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm23[];
    459 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm23a[];
    460 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
    461 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
    462 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
    463 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
    464 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
    465 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
    466 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
    467 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
    468 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt[];
    469 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt0[];
    470 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWsmt[];
    471 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoXenv[];
    472 
    473 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
    474 
    475 /*
    476  * dmtable and ahtable
    477  */
    478 extern const ACPI_DMTABLE_DATA  AcpiDmTableData[];
    479 extern const AH_TABLE           AcpiGbl_SupportedTables[];
    480 
    481 UINT8
    482 AcpiDmGenerateChecksum (
    483     void                    *Table,
    484     UINT32                  Length,
    485     UINT8                   OriginalChecksum);
    486 
    487 const ACPI_DMTABLE_DATA *
    488 AcpiDmGetTableData (
    489     char                    *Signature);
    490 
    491 void
    492 AcpiDmDumpDataTable (
    493     ACPI_TABLE_HEADER       *Table);
    494 
    495 ACPI_STATUS
    496 AcpiDmDumpTable (
    497     UINT32                  TableLength,
    498     UINT32                  TableOffset,
    499     void                    *Table,
    500     UINT32                  SubtableLength,
    501     ACPI_DMTABLE_INFO        *Info);
    502 
    503 void
    504 AcpiDmLineHeader (
    505     UINT32                  Offset,
    506     UINT32                  ByteLength,
    507     char                    *Name);
    508 
    509 void
    510 AcpiDmLineHeader2 (
    511     UINT32                  Offset,
    512     UINT32                  ByteLength,
    513     char                    *Name,
    514     UINT32                  Value);
    515 
    516 
    517 /*
    518  * dmtbdump
    519  */
    520 void
    521 AcpiDmDumpBuffer (
    522     void                    *Table,
    523     UINT32                  BufferOffset,
    524     UINT32                  Length,
    525     UINT32                  AbsoluteOffset,
    526     char                    *Header);
    527 
    528 void
    529 AcpiDmDumpUnicode (
    530     void                    *Table,
    531     UINT32                  BufferOffset,
    532     UINT32                  ByteLength);
    533 
    534 void
    535 AcpiDmDumpAsf (
    536     ACPI_TABLE_HEADER       *Table);
    537 
    538 void
    539 AcpiDmDumpCpep (
    540     ACPI_TABLE_HEADER       *Table);
    541 
    542 void
    543 AcpiDmDumpCsrt (
    544     ACPI_TABLE_HEADER       *Table);
    545 
    546 void
    547 AcpiDmDumpDbg2 (
    548     ACPI_TABLE_HEADER       *Table);
    549 
    550 void
    551 AcpiDmDumpDmar (
    552     ACPI_TABLE_HEADER       *Table);
    553 
    554 void
    555 AcpiDmDumpDrtm (
    556     ACPI_TABLE_HEADER       *Table);
    557 
    558 void
    559 AcpiDmDumpEinj (
    560     ACPI_TABLE_HEADER       *Table);
    561 
    562 void
    563 AcpiDmDumpErst (
    564     ACPI_TABLE_HEADER       *Table);
    565 
    566 void
    567 AcpiDmDumpFadt (
    568     ACPI_TABLE_HEADER       *Table);
    569 
    570 void
    571 AcpiDmDumpFpdt (
    572     ACPI_TABLE_HEADER       *Table);
    573 
    574 void
    575 AcpiDmDumpGtdt (
    576     ACPI_TABLE_HEADER       *Table);
    577 
    578 void
    579 AcpiDmDumpHest (
    580     ACPI_TABLE_HEADER       *Table);
    581 
    582 void
    583 AcpiDmDumpHmat (
    584     ACPI_TABLE_HEADER       *Table);
    585 
    586 void
    587 AcpiDmDumpIort (
    588     ACPI_TABLE_HEADER       *Table);
    589 
    590 void
    591 AcpiDmDumpIvrs (
    592     ACPI_TABLE_HEADER       *Table);
    593 
    594 void
    595 AcpiDmDumpLpit (
    596     ACPI_TABLE_HEADER       *Table);
    597 
    598 void
    599 AcpiDmDumpMadt (
    600     ACPI_TABLE_HEADER       *Table);
    601 
    602 void
    603 AcpiDmDumpMcfg (
    604     ACPI_TABLE_HEADER       *Table);
    605 
    606 void
    607 AcpiDmDumpMpst (
    608     ACPI_TABLE_HEADER       *Table);
    609 
    610 void
    611 AcpiDmDumpMsct (
    612     ACPI_TABLE_HEADER       *Table);
    613 
    614 void
    615 AcpiDmDumpMtmr (
    616     ACPI_TABLE_HEADER       *Table);
    617 
    618 void
    619 AcpiDmDumpNfit (
    620     ACPI_TABLE_HEADER       *Table);
    621 
    622 void
    623 AcpiDmDumpPcct (
    624     ACPI_TABLE_HEADER       *Table);
    625 
    626 void
    627 AcpiDmDumpPdtt (
    628     ACPI_TABLE_HEADER       *Table);
    629 
    630 void
    631 AcpiDmDumpPmtt (
    632     ACPI_TABLE_HEADER       *Table);
    633 
    634 void
    635 AcpiDmDumpPptt (
    636     ACPI_TABLE_HEADER       *Table);
    637 
    638 UINT32
    639 AcpiDmDumpRsdp (
    640     ACPI_TABLE_HEADER       *Table);
    641 
    642 void
    643 AcpiDmDumpRsdt (
    644     ACPI_TABLE_HEADER       *Table);
    645 
    646 UINT32
    647 AcpiDmDumpS3pt (
    648     ACPI_TABLE_HEADER       *Table);
    649 
    650 void
    651 AcpiDmDumpSdev (
    652     ACPI_TABLE_HEADER       *Table);
    653 
    654 void
    655 AcpiDmDumpSlic (
    656     ACPI_TABLE_HEADER       *Table);
    657 
    658 void
    659 AcpiDmDumpSlit (
    660     ACPI_TABLE_HEADER       *Table);
    661 
    662 void
    663 AcpiDmDumpSrat (
    664     ACPI_TABLE_HEADER       *Table);
    665 
    666 void
    667 AcpiDmDumpStao (
    668     ACPI_TABLE_HEADER       *Table);
    669 
    670 void
    671 AcpiDmDumpTcpa (
    672     ACPI_TABLE_HEADER       *Table);
    673 
    674 void
    675 AcpiDmDumpTpm2 (
    676     ACPI_TABLE_HEADER       *Table);
    677 
    678 void
    679 AcpiDmDumpVrtc (
    680     ACPI_TABLE_HEADER       *Table);
    681 
    682 void
    683 AcpiDmDumpWdat (
    684     ACPI_TABLE_HEADER       *Table);
    685 
    686 void
    687 AcpiDmDumpWpbt (
    688     ACPI_TABLE_HEADER       *Table);
    689 
    690 void
    691 AcpiDmDumpXsdt (
    692     ACPI_TABLE_HEADER       *Table);
    693 
    694 
    695 /*
    696  * dmwalk
    697  */
    698 void
    699 AcpiDmDisassemble (
    700     ACPI_WALK_STATE         *WalkState,
    701     ACPI_PARSE_OBJECT       *Origin,
    702     UINT32                  NumOpcodes);
    703 
    704 void
    705 AcpiDmWalkParseTree (
    706     ACPI_PARSE_OBJECT       *Op,
    707     ASL_WALK_CALLBACK       DescendingCallback,
    708     ASL_WALK_CALLBACK       AscendingCallback,
    709     void                    *Context);
    710 
    711 
    712 /*
    713  * dmopcode
    714  */
    715 void
    716 AcpiDmDisassembleOneOp (
    717     ACPI_WALK_STATE         *WalkState,
    718     ACPI_OP_WALK_INFO       *Info,
    719     ACPI_PARSE_OBJECT       *Op);
    720 
    721 UINT32
    722 AcpiDmListType (
    723     ACPI_PARSE_OBJECT       *Op);
    724 
    725 void
    726 AcpiDmMethodFlags (
    727     ACPI_PARSE_OBJECT       *Op);
    728 
    729 void
    730 AcpiDmDisplayTargetPathname (
    731     ACPI_PARSE_OBJECT       *Op);
    732 
    733 void
    734 AcpiDmNotifyDescription (
    735     ACPI_PARSE_OBJECT       *Op);
    736 
    737 void
    738 AcpiDmPredefinedDescription (
    739     ACPI_PARSE_OBJECT       *Op);
    740 
    741 void
    742 AcpiDmFieldPredefinedDescription (
    743     ACPI_PARSE_OBJECT       *Op);
    744 
    745 void
    746 AcpiDmFieldFlags (
    747     ACPI_PARSE_OBJECT       *Op);
    748 
    749 void
    750 AcpiDmAddressSpace (
    751     UINT8                   SpaceId);
    752 
    753 void
    754 AcpiDmRegionFlags (
    755     ACPI_PARSE_OBJECT       *Op);
    756 
    757 void
    758 AcpiDmMatchOp (
    759     ACPI_PARSE_OBJECT       *Op);
    760 
    761 
    762 /*
    763  * dmnames
    764  */
    765 UINT32
    766 AcpiDmDumpName (
    767     UINT32                  Name);
    768 
    769 ACPI_STATUS
    770 AcpiPsDisplayObjectPathname (
    771     ACPI_WALK_STATE         *WalkState,
    772     ACPI_PARSE_OBJECT       *Op);
    773 
    774 void
    775 AcpiDmNamestring (
    776     char                    *Name);
    777 
    778 
    779 /*
    780  * dmbuffer
    781  */
    782 void
    783 AcpiDmDisasmByteList (
    784     UINT32                  Level,
    785     UINT8                   *ByteData,
    786     UINT32                  ByteCount);
    787 
    788 void
    789 AcpiDmByteList (
    790     ACPI_OP_WALK_INFO       *Info,
    791     ACPI_PARSE_OBJECT       *Op);
    792 
    793 void
    794 AcpiDmCheckForHardwareId (
    795     ACPI_PARSE_OBJECT       *Op);
    796 
    797 void
    798 AcpiDmDecompressEisaId (
    799     UINT32                  EncodedId);
    800 
    801 BOOLEAN
    802 AcpiDmIsUuidBuffer (
    803     ACPI_PARSE_OBJECT       *Op);
    804 
    805 BOOLEAN
    806 AcpiDmIsUnicodeBuffer (
    807     ACPI_PARSE_OBJECT       *Op);
    808 
    809 BOOLEAN
    810 AcpiDmIsStringBuffer (
    811     ACPI_PARSE_OBJECT       *Op);
    812 
    813 BOOLEAN
    814 AcpiDmIsPldBuffer (
    815     ACPI_PARSE_OBJECT       *Op);
    816 
    817 
    818 /*
    819  * dmdeferred
    820  */
    821 ACPI_STATUS
    822 AcpiDmParseDeferredOps (
    823     ACPI_PARSE_OBJECT       *Root);
    824 
    825 
    826 /*
    827  * dmextern
    828  */
    829 ACPI_STATUS
    830 AcpiDmAddToExternalFileList (
    831     char                    *PathList);
    832 
    833 void
    834 AcpiDmClearExternalFileList (
    835     void);
    836 
    837 void
    838 AcpiDmAddOpToExternalList (
    839     ACPI_PARSE_OBJECT       *Op,
    840     char                    *Path,
    841     UINT8                   Type,
    842     UINT32                  Value,
    843     UINT16                  Flags);
    844 
    845 void
    846 AcpiDmCreateSubobjectForExternal (
    847     UINT8                   Type,
    848     ACPI_NAMESPACE_NODE     **Node,
    849     UINT32                  Value);
    850 
    851 void
    852 AcpiDmAddNodeToExternalList (
    853     ACPI_NAMESPACE_NODE     *Node,
    854     UINT8                   Type,
    855     UINT32                  Value,
    856     UINT16                  Flags);
    857 
    858 void
    859 AcpiDmAddExternalListToNamespace (
    860     void);
    861 
    862 void
    863 AcpiDmAddOneExternalToNamespace (
    864     char                    *Path,
    865     UINT8                   Type,
    866     UINT32                  Value);
    867 
    868 UINT32
    869 AcpiDmGetUnresolvedExternalMethodCount (
    870     void);
    871 
    872 void
    873 AcpiDmClearExternalList (
    874     void);
    875 
    876 void
    877 AcpiDmEmitExternals (
    878     void);
    879 
    880 void
    881 AcpiDmEmitExternal (
    882     ACPI_PARSE_OBJECT       *NameOp,
    883     ACPI_PARSE_OBJECT       *TypeOp);
    884 
    885 void
    886 AcpiDmUnresolvedWarning (
    887     UINT8                   Type);
    888 
    889 void
    890 AcpiDmGetExternalsFromFile (
    891     void);
    892 
    893 void
    894 AcpiDmMarkExternalConflict (
    895     ACPI_NAMESPACE_NODE     *Node);
    896 
    897 
    898 /*
    899  * dmresrc
    900  */
    901 void
    902 AcpiDmDumpInteger8 (
    903     UINT8                   Value,
    904     const char              *Name);
    905 
    906 void
    907 AcpiDmDumpInteger16 (
    908     UINT16                  Value,
    909     const char              *Name);
    910 
    911 void
    912 AcpiDmDumpInteger32 (
    913     UINT32                  Value,
    914     const char              *Name);
    915 
    916 void
    917 AcpiDmDumpInteger64 (
    918     UINT64                  Value,
    919     const char              *Name);
    920 
    921 void
    922 AcpiDmResourceTemplate (
    923     ACPI_OP_WALK_INFO       *Info,
    924     ACPI_PARSE_OBJECT       *Op,
    925     UINT8                   *ByteData,
    926     UINT32                  ByteCount);
    927 
    928 ACPI_STATUS
    929 AcpiDmIsResourceTemplate (
    930     ACPI_WALK_STATE         *WalkState,
    931     ACPI_PARSE_OBJECT       *Op);
    932 
    933 void
    934 AcpiDmBitList (
    935     UINT16                  Mask);
    936 
    937 void
    938 AcpiDmDescriptorName (
    939     void);
    940 
    941 
    942 /*
    943  * dmresrcl
    944  */
    945 void
    946 AcpiDmWordDescriptor (
    947     ACPI_OP_WALK_INFO       *Info,
    948     AML_RESOURCE            *Resource,
    949     UINT32                  Length,
    950     UINT32                  Level);
    951 
    952 void
    953 AcpiDmDwordDescriptor (
    954     ACPI_OP_WALK_INFO       *Info,
    955     AML_RESOURCE            *Resource,
    956     UINT32                  Length,
    957     UINT32                  Level);
    958 
    959 void
    960 AcpiDmExtendedDescriptor (
    961     ACPI_OP_WALK_INFO       *Info,
    962     AML_RESOURCE            *Resource,
    963     UINT32                  Length,
    964     UINT32                  Level);
    965 
    966 void
    967 AcpiDmQwordDescriptor (
    968     ACPI_OP_WALK_INFO       *Info,
    969     AML_RESOURCE            *Resource,
    970     UINT32                  Length,
    971     UINT32                  Level);
    972 
    973 void
    974 AcpiDmMemory24Descriptor (
    975     ACPI_OP_WALK_INFO       *Info,
    976     AML_RESOURCE            *Resource,
    977     UINT32                  Length,
    978     UINT32                  Level);
    979 
    980 void
    981 AcpiDmMemory32Descriptor (
    982     ACPI_OP_WALK_INFO       *Info,
    983     AML_RESOURCE            *Resource,
    984     UINT32                  Length,
    985     UINT32                  Level);
    986 
    987 void
    988 AcpiDmFixedMemory32Descriptor (
    989     ACPI_OP_WALK_INFO       *Info,
    990     AML_RESOURCE            *Resource,
    991     UINT32                  Length,
    992     UINT32                  Level);
    993 
    994 void
    995 AcpiDmGenericRegisterDescriptor (
    996     ACPI_OP_WALK_INFO       *Info,
    997     AML_RESOURCE            *Resource,
    998     UINT32                  Length,
    999     UINT32                  Level);
   1000 
   1001 void
   1002 AcpiDmInterruptDescriptor (
   1003     ACPI_OP_WALK_INFO       *Info,
   1004     AML_RESOURCE            *Resource,
   1005     UINT32                  Length,
   1006     UINT32                  Level);
   1007 
   1008 void
   1009 AcpiDmVendorLargeDescriptor (
   1010     ACPI_OP_WALK_INFO       *Info,
   1011     AML_RESOURCE            *Resource,
   1012     UINT32                  Length,
   1013     UINT32                  Level);
   1014 
   1015 void
   1016 AcpiDmGpioDescriptor (
   1017     ACPI_OP_WALK_INFO       *Info,
   1018     AML_RESOURCE            *Resource,
   1019     UINT32                  Length,
   1020     UINT32                  Level);
   1021 
   1022 void
   1023 AcpiDmPinFunctionDescriptor (
   1024     ACPI_OP_WALK_INFO       *Info,
   1025     AML_RESOURCE            *Resource,
   1026     UINT32                  Length,
   1027     UINT32                  Level);
   1028 
   1029 void
   1030 AcpiDmPinConfigDescriptor (
   1031     ACPI_OP_WALK_INFO       *Info,
   1032     AML_RESOURCE            *Resource,
   1033     UINT32                  Length,
   1034     UINT32                  Level);
   1035 
   1036 void
   1037 AcpiDmPinGroupDescriptor (
   1038     ACPI_OP_WALK_INFO       *Info,
   1039     AML_RESOURCE            *Resource,
   1040     UINT32                  Length,
   1041     UINT32                  Level);
   1042 
   1043 void
   1044 AcpiDmPinGroupFunctionDescriptor (
   1045     ACPI_OP_WALK_INFO       *Info,
   1046     AML_RESOURCE            *Resource,
   1047     UINT32                  Length,
   1048     UINT32                  Level);
   1049 
   1050 void
   1051 AcpiDmPinGroupConfigDescriptor (
   1052     ACPI_OP_WALK_INFO       *Info,
   1053     AML_RESOURCE            *Resource,
   1054     UINT32                  Length,
   1055     UINT32                  Level);
   1056 
   1057 void
   1058 AcpiDmSerialBusDescriptor (
   1059     ACPI_OP_WALK_INFO       *Info,
   1060     AML_RESOURCE            *Resource,
   1061     UINT32                  Length,
   1062     UINT32                  Level);
   1063 
   1064 void
   1065 AcpiDmVendorCommon (
   1066     const char              *Name,
   1067     UINT8                   *ByteData,
   1068     UINT32                  Length,
   1069     UINT32                  Level);
   1070 
   1071 
   1072 /*
   1073  * dmresrcs
   1074  */
   1075 void
   1076 AcpiDmIrqDescriptor (
   1077     ACPI_OP_WALK_INFO       *Info,
   1078     AML_RESOURCE            *Resource,
   1079     UINT32                  Length,
   1080     UINT32                  Level);
   1081 
   1082 void
   1083 AcpiDmDmaDescriptor (
   1084     ACPI_OP_WALK_INFO       *Info,
   1085     AML_RESOURCE            *Resource,
   1086     UINT32                  Length,
   1087     UINT32                  Level);
   1088 
   1089 void
   1090 AcpiDmFixedDmaDescriptor (
   1091     ACPI_OP_WALK_INFO       *Info,
   1092     AML_RESOURCE            *Resource,
   1093     UINT32                  Length,
   1094     UINT32                  Level);
   1095 
   1096 void
   1097 AcpiDmIoDescriptor (
   1098     ACPI_OP_WALK_INFO       *Info,
   1099     AML_RESOURCE            *Resource,
   1100     UINT32                  Length,
   1101     UINT32                  Level);
   1102 
   1103 void
   1104 AcpiDmFixedIoDescriptor (
   1105     ACPI_OP_WALK_INFO       *Info,
   1106     AML_RESOURCE            *Resource,
   1107     UINT32                  Length,
   1108     UINT32                  Level);
   1109 
   1110 void
   1111 AcpiDmStartDependentDescriptor (
   1112     ACPI_OP_WALK_INFO       *Info,
   1113     AML_RESOURCE            *Resource,
   1114     UINT32                  Length,
   1115     UINT32                  Level);
   1116 
   1117 void
   1118 AcpiDmEndDependentDescriptor (
   1119     ACPI_OP_WALK_INFO       *Info,
   1120     AML_RESOURCE            *Resource,
   1121     UINT32                  Length,
   1122     UINT32                  Level);
   1123 
   1124 void
   1125 AcpiDmVendorSmallDescriptor (
   1126     ACPI_OP_WALK_INFO       *Info,
   1127     AML_RESOURCE            *Resource,
   1128     UINT32                  Length,
   1129     UINT32                  Level);
   1130 
   1131 
   1132 /*
   1133  * dmutils
   1134  */
   1135 void
   1136 AcpiDmDecodeAttribute (
   1137     UINT8                   Attribute);
   1138 
   1139 void
   1140 AcpiDmIndent (
   1141     UINT32                  Level);
   1142 
   1143 BOOLEAN
   1144 AcpiDmCommaIfListMember (
   1145     ACPI_PARSE_OBJECT       *Op);
   1146 
   1147 void
   1148 AcpiDmCommaIfFieldMember (
   1149     ACPI_PARSE_OBJECT       *Op);
   1150 
   1151 
   1152 /*
   1153  * dmrestag
   1154  */
   1155 void
   1156 AcpiDmFindResources (
   1157     ACPI_PARSE_OBJECT       *Root);
   1158 
   1159 void
   1160 AcpiDmCheckResourceReference (
   1161     ACPI_PARSE_OBJECT       *Op,
   1162     ACPI_WALK_STATE         *WalkState);
   1163 
   1164 
   1165 /*
   1166  * dmcstyle
   1167  */
   1168 BOOLEAN
   1169 AcpiDmCheckForSymbolicOpcode (
   1170     ACPI_PARSE_OBJECT       *Op,
   1171     ACPI_OP_WALK_INFO       *Info);
   1172 
   1173 void
   1174 AcpiDmCloseOperator (
   1175     ACPI_PARSE_OBJECT       *Op);
   1176 
   1177 
   1178 /*
   1179  * dmtables
   1180  */
   1181 ACPI_STATUS
   1182 AcpiDmProcessSwitch (
   1183     ACPI_PARSE_OBJECT       *Op);
   1184 
   1185 void
   1186 AcpiDmClearTempList(
   1187     void);
   1188 
   1189 /*
   1190  * dmtables
   1191  */
   1192 void
   1193 AdDisassemblerHeader (
   1194     char                    *Filename,
   1195     UINT8                   TableType);
   1196 
   1197 #define ACPI_IS_AML_TABLE   0
   1198 #define ACPI_IS_DATA_TABLE  1
   1199 
   1200 
   1201 /*
   1202  * adisasm
   1203  */
   1204 ACPI_STATUS
   1205 AdAmlDisassemble (
   1206     BOOLEAN                 OutToFile,
   1207     char                    *Filename,
   1208     char                    *Prefix,
   1209     char                    **OutFilename);
   1210 
   1211 ACPI_STATUS
   1212 AdGetLocalTables (
   1213     void);
   1214 
   1215 ACPI_STATUS
   1216 AdParseTable (
   1217     ACPI_TABLE_HEADER       *Table,
   1218     ACPI_OWNER_ID           *OwnerId,
   1219     BOOLEAN                 LoadTable,
   1220     BOOLEAN                 External);
   1221 
   1222 ACPI_STATUS
   1223 AdDisplayTables (
   1224     char                    *Filename,
   1225     ACPI_TABLE_HEADER       *Table);
   1226 
   1227 ACPI_STATUS
   1228 AdDisplayStatistics (
   1229     void);
   1230 
   1231 
   1232 /*
   1233  * dmwalk
   1234  */
   1235 UINT32
   1236 AcpiDmBlockType (
   1237     ACPI_PARSE_OBJECT       *Op);
   1238 
   1239 
   1240 #endif  /* __ACDISASM_H__ */
   1241