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