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