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