1 /****************************************************************************** 2 * 3 * Name: acdisasm.h - AML disassembler 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2020, 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 *(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 AcpiDmTableInfoIvrs01[]; 353 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 354 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 355 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 356 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 357 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 358 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 359 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 360 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 361 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 362 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 363 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 364 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 365 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 366 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 367 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 368 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 369 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 370 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 371 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[]; 372 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[]; 373 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[]; 374 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[]; 375 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[]; 376 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 377 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 378 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 379 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; 380 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; 381 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; 382 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; 383 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[]; 384 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[]; 385 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[]; 386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[]; 389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[]; 390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[]; 391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[]; 392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[]; 393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[]; 394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[]; 395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[]; 396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[]; 397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[]; 398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[]; 399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[]; 400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[]; 401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[]; 402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[]; 403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[]; 404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[]; 405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[]; 406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[]; 407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[]; 408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[]; 409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[]; 410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[]; 411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[]; 412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[]; 413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[]; 414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[]; 415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[]; 416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[]; 417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[]; 418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[]; 419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[]; 420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[]; 421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[]; 422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[]; 423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[]; 424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; 427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[]; 428 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[]; 429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[]; 430 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 431 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[]; 432 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[]; 433 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[]; 434 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[]; 435 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[]; 436 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[]; 437 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[]; 438 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[]; 439 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 440 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 441 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 442 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 443 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 444 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 445 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 446 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 447 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 448 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[]; 449 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[]; 450 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[]; 451 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[]; 452 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[]; 453 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[]; 454 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[]; 455 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[]; 456 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[]; 457 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[]; 458 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[]; 459 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[]; 460 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[]; 461 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 462 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[]; 463 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[]; 464 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 465 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 466 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 467 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; 468 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 469 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[]; 470 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[]; 471 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[]; 472 extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[]; 473 474 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; 475 476 /* 477 * dmtable and ahtable 478 */ 479 extern const ACPI_DMTABLE_DATA AcpiDmTableData[]; 480 extern const AH_TABLE AcpiGbl_SupportedTables[]; 481 482 UINT8 483 AcpiDmGenerateChecksum ( 484 void *Table, 485 UINT32 Length, 486 UINT8 OriginalChecksum); 487 488 const ACPI_DMTABLE_DATA * 489 AcpiDmGetTableData ( 490 char *Signature); 491 492 void 493 AcpiDmDumpDataTable ( 494 ACPI_TABLE_HEADER *Table); 495 496 ACPI_STATUS 497 AcpiDmDumpTable ( 498 UINT32 TableLength, 499 UINT32 TableOffset, 500 void *Table, 501 UINT32 SubtableLength, 502 ACPI_DMTABLE_INFO *Info); 503 504 void 505 AcpiDmLineHeader ( 506 UINT32 Offset, 507 UINT32 ByteLength, 508 char *Name); 509 510 void 511 AcpiDmLineHeader2 ( 512 UINT32 Offset, 513 UINT32 ByteLength, 514 char *Name, 515 UINT32 Value); 516 517 518 /* 519 * dmtbdump 520 */ 521 void 522 AcpiDmDumpBuffer ( 523 void *Table, 524 UINT32 BufferOffset, 525 UINT32 Length, 526 UINT32 AbsoluteOffset, 527 char *Header); 528 529 void 530 AcpiDmDumpUnicode ( 531 void *Table, 532 UINT32 BufferOffset, 533 UINT32 ByteLength); 534 535 void 536 AcpiDmDumpAsf ( 537 ACPI_TABLE_HEADER *Table); 538 539 void 540 AcpiDmDumpCpep ( 541 ACPI_TABLE_HEADER *Table); 542 543 void 544 AcpiDmDumpCsrt ( 545 ACPI_TABLE_HEADER *Table); 546 547 void 548 AcpiDmDumpDbg2 ( 549 ACPI_TABLE_HEADER *Table); 550 551 void 552 AcpiDmDumpDmar ( 553 ACPI_TABLE_HEADER *Table); 554 555 void 556 AcpiDmDumpDrtm ( 557 ACPI_TABLE_HEADER *Table); 558 559 void 560 AcpiDmDumpEinj ( 561 ACPI_TABLE_HEADER *Table); 562 563 void 564 AcpiDmDumpErst ( 565 ACPI_TABLE_HEADER *Table); 566 567 void 568 AcpiDmDumpFadt ( 569 ACPI_TABLE_HEADER *Table); 570 571 void 572 AcpiDmDumpFpdt ( 573 ACPI_TABLE_HEADER *Table); 574 575 void 576 AcpiDmDumpGtdt ( 577 ACPI_TABLE_HEADER *Table); 578 579 void 580 AcpiDmDumpHest ( 581 ACPI_TABLE_HEADER *Table); 582 583 void 584 AcpiDmDumpHmat ( 585 ACPI_TABLE_HEADER *Table); 586 587 void 588 AcpiDmDumpIort ( 589 ACPI_TABLE_HEADER *Table); 590 591 void 592 AcpiDmDumpIvrs ( 593 ACPI_TABLE_HEADER *Table); 594 595 void 596 AcpiDmDumpLpit ( 597 ACPI_TABLE_HEADER *Table); 598 599 void 600 AcpiDmDumpMadt ( 601 ACPI_TABLE_HEADER *Table); 602 603 void 604 AcpiDmDumpMcfg ( 605 ACPI_TABLE_HEADER *Table); 606 607 void 608 AcpiDmDumpMpst ( 609 ACPI_TABLE_HEADER *Table); 610 611 void 612 AcpiDmDumpMsct ( 613 ACPI_TABLE_HEADER *Table); 614 615 void 616 AcpiDmDumpMtmr ( 617 ACPI_TABLE_HEADER *Table); 618 619 void 620 AcpiDmDumpNfit ( 621 ACPI_TABLE_HEADER *Table); 622 623 void 624 AcpiDmDumpPcct ( 625 ACPI_TABLE_HEADER *Table); 626 627 void 628 AcpiDmDumpPdtt ( 629 ACPI_TABLE_HEADER *Table); 630 631 void 632 AcpiDmDumpPmtt ( 633 ACPI_TABLE_HEADER *Table); 634 635 void 636 AcpiDmDumpPptt ( 637 ACPI_TABLE_HEADER *Table); 638 639 UINT32 640 AcpiDmDumpRsdp ( 641 ACPI_TABLE_HEADER *Table); 642 643 void 644 AcpiDmDumpRsdt ( 645 ACPI_TABLE_HEADER *Table); 646 647 UINT32 648 AcpiDmDumpS3pt ( 649 ACPI_TABLE_HEADER *Table); 650 651 void 652 AcpiDmDumpSdev ( 653 ACPI_TABLE_HEADER *Table); 654 655 void 656 AcpiDmDumpSlic ( 657 ACPI_TABLE_HEADER *Table); 658 659 void 660 AcpiDmDumpSlit ( 661 ACPI_TABLE_HEADER *Table); 662 663 void 664 AcpiDmDumpSrat ( 665 ACPI_TABLE_HEADER *Table); 666 667 void 668 AcpiDmDumpStao ( 669 ACPI_TABLE_HEADER *Table); 670 671 void 672 AcpiDmDumpTcpa ( 673 ACPI_TABLE_HEADER *Table); 674 675 void 676 AcpiDmDumpTpm2 ( 677 ACPI_TABLE_HEADER *Table); 678 679 void 680 AcpiDmDumpVrtc ( 681 ACPI_TABLE_HEADER *Table); 682 683 void 684 AcpiDmDumpWdat ( 685 ACPI_TABLE_HEADER *Table); 686 687 void 688 AcpiDmDumpWpbt ( 689 ACPI_TABLE_HEADER *Table); 690 691 void 692 AcpiDmDumpXsdt ( 693 ACPI_TABLE_HEADER *Table); 694 695 696 /* 697 * dmwalk 698 */ 699 void 700 AcpiDmDisassemble ( 701 ACPI_WALK_STATE *WalkState, 702 ACPI_PARSE_OBJECT *Origin, 703 UINT32 NumOpcodes); 704 705 void 706 AcpiDmWalkParseTree ( 707 ACPI_PARSE_OBJECT *Op, 708 ASL_WALK_CALLBACK DescendingCallback, 709 ASL_WALK_CALLBACK AscendingCallback, 710 void *Context); 711 712 713 /* 714 * dmopcode 715 */ 716 void 717 AcpiDmDisassembleOneOp ( 718 ACPI_WALK_STATE *WalkState, 719 ACPI_OP_WALK_INFO *Info, 720 ACPI_PARSE_OBJECT *Op); 721 722 UINT32 723 AcpiDmListType ( 724 ACPI_PARSE_OBJECT *Op); 725 726 void 727 AcpiDmMethodFlags ( 728 ACPI_PARSE_OBJECT *Op); 729 730 void 731 AcpiDmDisplayTargetPathname ( 732 ACPI_PARSE_OBJECT *Op); 733 734 void 735 AcpiDmNotifyDescription ( 736 ACPI_PARSE_OBJECT *Op); 737 738 void 739 AcpiDmPredefinedDescription ( 740 ACPI_PARSE_OBJECT *Op); 741 742 void 743 AcpiDmFieldPredefinedDescription ( 744 ACPI_PARSE_OBJECT *Op); 745 746 void 747 AcpiDmFieldFlags ( 748 ACPI_PARSE_OBJECT *Op); 749 750 void 751 AcpiDmAddressSpace ( 752 UINT8 SpaceId); 753 754 void 755 AcpiDmRegionFlags ( 756 ACPI_PARSE_OBJECT *Op); 757 758 void 759 AcpiDmMatchOp ( 760 ACPI_PARSE_OBJECT *Op); 761 762 763 /* 764 * dmnames 765 */ 766 UINT32 767 AcpiDmDumpName ( 768 UINT32 Name); 769 770 ACPI_STATUS 771 AcpiPsDisplayObjectPathname ( 772 ACPI_WALK_STATE *WalkState, 773 ACPI_PARSE_OBJECT *Op); 774 775 void 776 AcpiDmNamestring ( 777 char *Name); 778 779 780 /* 781 * dmbuffer 782 */ 783 void 784 AcpiDmDisasmByteList ( 785 UINT32 Level, 786 UINT8 *ByteData, 787 UINT32 ByteCount); 788 789 void 790 AcpiDmByteList ( 791 ACPI_OP_WALK_INFO *Info, 792 ACPI_PARSE_OBJECT *Op); 793 794 void 795 AcpiDmCheckForHardwareId ( 796 ACPI_PARSE_OBJECT *Op); 797 798 void 799 AcpiDmDecompressEisaId ( 800 UINT32 EncodedId); 801 802 BOOLEAN 803 AcpiDmIsUuidBuffer ( 804 ACPI_PARSE_OBJECT *Op); 805 806 BOOLEAN 807 AcpiDmIsUnicodeBuffer ( 808 ACPI_PARSE_OBJECT *Op); 809 810 BOOLEAN 811 AcpiDmIsStringBuffer ( 812 ACPI_PARSE_OBJECT *Op); 813 814 BOOLEAN 815 AcpiDmIsPldBuffer ( 816 ACPI_PARSE_OBJECT *Op); 817 818 819 /* 820 * dmdeferred 821 */ 822 ACPI_STATUS 823 AcpiDmParseDeferredOps ( 824 ACPI_PARSE_OBJECT *Root); 825 826 827 /* 828 * dmextern 829 */ 830 ACPI_STATUS 831 AcpiDmAddToExternalFileList ( 832 char *PathList); 833 834 void 835 AcpiDmClearExternalFileList ( 836 void); 837 838 void 839 AcpiDmAddOpToExternalList ( 840 ACPI_PARSE_OBJECT *Op, 841 char *Path, 842 UINT8 Type, 843 UINT32 Value, 844 UINT16 Flags); 845 846 void 847 AcpiDmCreateSubobjectForExternal ( 848 UINT8 Type, 849 ACPI_NAMESPACE_NODE **Node, 850 UINT32 Value); 851 852 void 853 AcpiDmAddNodeToExternalList ( 854 ACPI_NAMESPACE_NODE *Node, 855 UINT8 Type, 856 UINT32 Value, 857 UINT16 Flags); 858 859 void 860 AcpiDmAddExternalListToNamespace ( 861 void); 862 863 void 864 AcpiDmAddOneExternalToNamespace ( 865 char *Path, 866 UINT8 Type, 867 UINT32 Value); 868 869 UINT32 870 AcpiDmGetUnresolvedExternalMethodCount ( 871 void); 872 873 void 874 AcpiDmClearExternalList ( 875 void); 876 877 void 878 AcpiDmEmitExternals ( 879 void); 880 881 void 882 AcpiDmEmitExternal ( 883 ACPI_PARSE_OBJECT *NameOp, 884 ACPI_PARSE_OBJECT *TypeOp); 885 886 void 887 AcpiDmUnresolvedWarning ( 888 UINT8 Type); 889 890 void 891 AcpiDmGetExternalsFromFile ( 892 void); 893 894 void 895 AcpiDmMarkExternalConflict ( 896 ACPI_NAMESPACE_NODE *Node); 897 898 899 /* 900 * dmresrc 901 */ 902 void 903 AcpiDmDumpInteger8 ( 904 UINT8 Value, 905 const char *Name); 906 907 void 908 AcpiDmDumpInteger16 ( 909 UINT16 Value, 910 const char *Name); 911 912 void 913 AcpiDmDumpInteger32 ( 914 UINT32 Value, 915 const char *Name); 916 917 void 918 AcpiDmDumpInteger64 ( 919 UINT64 Value, 920 const char *Name); 921 922 void 923 AcpiDmResourceTemplate ( 924 ACPI_OP_WALK_INFO *Info, 925 ACPI_PARSE_OBJECT *Op, 926 UINT8 *ByteData, 927 UINT32 ByteCount); 928 929 ACPI_STATUS 930 AcpiDmIsResourceTemplate ( 931 ACPI_WALK_STATE *WalkState, 932 ACPI_PARSE_OBJECT *Op); 933 934 void 935 AcpiDmBitList ( 936 UINT16 Mask); 937 938 void 939 AcpiDmDescriptorName ( 940 void); 941 942 943 /* 944 * dmresrcl 945 */ 946 void 947 AcpiDmWordDescriptor ( 948 ACPI_OP_WALK_INFO *Info, 949 AML_RESOURCE *Resource, 950 UINT32 Length, 951 UINT32 Level); 952 953 void 954 AcpiDmDwordDescriptor ( 955 ACPI_OP_WALK_INFO *Info, 956 AML_RESOURCE *Resource, 957 UINT32 Length, 958 UINT32 Level); 959 960 void 961 AcpiDmExtendedDescriptor ( 962 ACPI_OP_WALK_INFO *Info, 963 AML_RESOURCE *Resource, 964 UINT32 Length, 965 UINT32 Level); 966 967 void 968 AcpiDmQwordDescriptor ( 969 ACPI_OP_WALK_INFO *Info, 970 AML_RESOURCE *Resource, 971 UINT32 Length, 972 UINT32 Level); 973 974 void 975 AcpiDmMemory24Descriptor ( 976 ACPI_OP_WALK_INFO *Info, 977 AML_RESOURCE *Resource, 978 UINT32 Length, 979 UINT32 Level); 980 981 void 982 AcpiDmMemory32Descriptor ( 983 ACPI_OP_WALK_INFO *Info, 984 AML_RESOURCE *Resource, 985 UINT32 Length, 986 UINT32 Level); 987 988 void 989 AcpiDmFixedMemory32Descriptor ( 990 ACPI_OP_WALK_INFO *Info, 991 AML_RESOURCE *Resource, 992 UINT32 Length, 993 UINT32 Level); 994 995 void 996 AcpiDmGenericRegisterDescriptor ( 997 ACPI_OP_WALK_INFO *Info, 998 AML_RESOURCE *Resource, 999 UINT32 Length, 1000 UINT32 Level); 1001 1002 void 1003 AcpiDmInterruptDescriptor ( 1004 ACPI_OP_WALK_INFO *Info, 1005 AML_RESOURCE *Resource, 1006 UINT32 Length, 1007 UINT32 Level); 1008 1009 void 1010 AcpiDmVendorLargeDescriptor ( 1011 ACPI_OP_WALK_INFO *Info, 1012 AML_RESOURCE *Resource, 1013 UINT32 Length, 1014 UINT32 Level); 1015 1016 void 1017 AcpiDmGpioDescriptor ( 1018 ACPI_OP_WALK_INFO *Info, 1019 AML_RESOURCE *Resource, 1020 UINT32 Length, 1021 UINT32 Level); 1022 1023 void 1024 AcpiDmPinFunctionDescriptor ( 1025 ACPI_OP_WALK_INFO *Info, 1026 AML_RESOURCE *Resource, 1027 UINT32 Length, 1028 UINT32 Level); 1029 1030 void 1031 AcpiDmPinConfigDescriptor ( 1032 ACPI_OP_WALK_INFO *Info, 1033 AML_RESOURCE *Resource, 1034 UINT32 Length, 1035 UINT32 Level); 1036 1037 void 1038 AcpiDmPinGroupDescriptor ( 1039 ACPI_OP_WALK_INFO *Info, 1040 AML_RESOURCE *Resource, 1041 UINT32 Length, 1042 UINT32 Level); 1043 1044 void 1045 AcpiDmPinGroupFunctionDescriptor ( 1046 ACPI_OP_WALK_INFO *Info, 1047 AML_RESOURCE *Resource, 1048 UINT32 Length, 1049 UINT32 Level); 1050 1051 void 1052 AcpiDmPinGroupConfigDescriptor ( 1053 ACPI_OP_WALK_INFO *Info, 1054 AML_RESOURCE *Resource, 1055 UINT32 Length, 1056 UINT32 Level); 1057 1058 void 1059 AcpiDmSerialBusDescriptor ( 1060 ACPI_OP_WALK_INFO *Info, 1061 AML_RESOURCE *Resource, 1062 UINT32 Length, 1063 UINT32 Level); 1064 1065 void 1066 AcpiDmVendorCommon ( 1067 const char *Name, 1068 UINT8 *ByteData, 1069 UINT32 Length, 1070 UINT32 Level); 1071 1072 1073 /* 1074 * dmresrcs 1075 */ 1076 void 1077 AcpiDmIrqDescriptor ( 1078 ACPI_OP_WALK_INFO *Info, 1079 AML_RESOURCE *Resource, 1080 UINT32 Length, 1081 UINT32 Level); 1082 1083 void 1084 AcpiDmDmaDescriptor ( 1085 ACPI_OP_WALK_INFO *Info, 1086 AML_RESOURCE *Resource, 1087 UINT32 Length, 1088 UINT32 Level); 1089 1090 void 1091 AcpiDmFixedDmaDescriptor ( 1092 ACPI_OP_WALK_INFO *Info, 1093 AML_RESOURCE *Resource, 1094 UINT32 Length, 1095 UINT32 Level); 1096 1097 void 1098 AcpiDmIoDescriptor ( 1099 ACPI_OP_WALK_INFO *Info, 1100 AML_RESOURCE *Resource, 1101 UINT32 Length, 1102 UINT32 Level); 1103 1104 void 1105 AcpiDmFixedIoDescriptor ( 1106 ACPI_OP_WALK_INFO *Info, 1107 AML_RESOURCE *Resource, 1108 UINT32 Length, 1109 UINT32 Level); 1110 1111 void 1112 AcpiDmStartDependentDescriptor ( 1113 ACPI_OP_WALK_INFO *Info, 1114 AML_RESOURCE *Resource, 1115 UINT32 Length, 1116 UINT32 Level); 1117 1118 void 1119 AcpiDmEndDependentDescriptor ( 1120 ACPI_OP_WALK_INFO *Info, 1121 AML_RESOURCE *Resource, 1122 UINT32 Length, 1123 UINT32 Level); 1124 1125 void 1126 AcpiDmVendorSmallDescriptor ( 1127 ACPI_OP_WALK_INFO *Info, 1128 AML_RESOURCE *Resource, 1129 UINT32 Length, 1130 UINT32 Level); 1131 1132 1133 /* 1134 * dmutils 1135 */ 1136 void 1137 AcpiDmDecodeAttribute ( 1138 UINT8 Attribute); 1139 1140 void 1141 AcpiDmIndent ( 1142 UINT32 Level); 1143 1144 BOOLEAN 1145 AcpiDmCommaIfListMember ( 1146 ACPI_PARSE_OBJECT *Op); 1147 1148 void 1149 AcpiDmCommaIfFieldMember ( 1150 ACPI_PARSE_OBJECT *Op); 1151 1152 1153 /* 1154 * dmrestag 1155 */ 1156 void 1157 AcpiDmFindResources ( 1158 ACPI_PARSE_OBJECT *Root); 1159 1160 void 1161 AcpiDmCheckResourceReference ( 1162 ACPI_PARSE_OBJECT *Op, 1163 ACPI_WALK_STATE *WalkState); 1164 1165 1166 /* 1167 * dmcstyle 1168 */ 1169 BOOLEAN 1170 AcpiDmCheckForSymbolicOpcode ( 1171 ACPI_PARSE_OBJECT *Op, 1172 ACPI_OP_WALK_INFO *Info); 1173 1174 void 1175 AcpiDmCloseOperator ( 1176 ACPI_PARSE_OBJECT *Op); 1177 1178 1179 /* 1180 * dmtables 1181 */ 1182 ACPI_STATUS 1183 AcpiDmProcessSwitch ( 1184 ACPI_PARSE_OBJECT *Op); 1185 1186 void 1187 AcpiDmClearTempList( 1188 void); 1189 1190 /* 1191 * dmtables 1192 */ 1193 void 1194 AdDisassemblerHeader ( 1195 char *Filename, 1196 UINT8 TableType); 1197 1198 #define ACPI_IS_AML_TABLE 0 1199 #define ACPI_IS_DATA_TABLE 1 1200 1201 1202 /* 1203 * adisasm 1204 */ 1205 ACPI_STATUS 1206 AdAmlDisassemble ( 1207 BOOLEAN OutToFile, 1208 char *Filename, 1209 char *Prefix, 1210 char **OutFilename); 1211 1212 ACPI_STATUS 1213 AdGetLocalTables ( 1214 void); 1215 1216 ACPI_STATUS 1217 AdParseTable ( 1218 ACPI_TABLE_HEADER *Table, 1219 ACPI_OWNER_ID *OwnerId, 1220 BOOLEAN LoadTable, 1221 BOOLEAN External); 1222 1223 ACPI_STATUS 1224 AdDisplayTables ( 1225 char *Filename, 1226 ACPI_TABLE_HEADER *Table); 1227 1228 ACPI_STATUS 1229 AdDisplayStatistics ( 1230 void); 1231 1232 1233 /* 1234 * dmwalk 1235 */ 1236 UINT32 1237 AcpiDmBlockType ( 1238 ACPI_PARSE_OBJECT *Op); 1239 1240 1241 #endif /* __ACDISASM_H__ */ 1242