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