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