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