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 - 2013, 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 #ifndef __ACDISASM_H__ 117 #define __ACDISASM_H__ 118 119 #include "amlresrc.h" 120 121 122 #define BLOCK_NONE 0 123 #define BLOCK_PAREN 1 124 #define BLOCK_BRACE 2 125 #define BLOCK_COMMA_LIST 4 126 #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 127 128 /* 129 * Raw table data header. Used by disassembler and data table compiler. 130 * Do not change. 131 */ 132 #define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data" 133 134 135 typedef const struct acpi_dmtable_info 136 { 137 UINT8 Opcode; 138 UINT16 Offset; 139 char *Name; 140 UINT8 Flags; 141 142 } ACPI_DMTABLE_INFO; 143 144 #define DT_LENGTH 0x01 /* Field is a subtable length */ 145 #define DT_FLAG 0x02 /* Field is a flag value */ 146 #define DT_NON_ZERO 0x04 /* Field must be non-zero */ 147 148 /* TBD: Not used at this time */ 149 150 #define DT_OPTIONAL 0x08 151 #define DT_COUNT 0x10 152 153 /* 154 * Values for Opcode above. 155 * Note: 0-7 must not change, they are used as a flag shift value. Other 156 * than those, new values can be added wherever appropriate. 157 */ 158 typedef enum 159 { 160 /* Simple Data Types */ 161 162 ACPI_DMT_FLAG0 = 0, 163 ACPI_DMT_FLAG1 = 1, 164 ACPI_DMT_FLAG2 = 2, 165 ACPI_DMT_FLAG3 = 3, 166 ACPI_DMT_FLAG4 = 4, 167 ACPI_DMT_FLAG5 = 5, 168 ACPI_DMT_FLAG6 = 6, 169 ACPI_DMT_FLAG7 = 7, 170 ACPI_DMT_FLAGS0, 171 ACPI_DMT_FLAGS1, 172 ACPI_DMT_FLAGS2, 173 ACPI_DMT_FLAGS4, 174 ACPI_DMT_UINT8, 175 ACPI_DMT_UINT16, 176 ACPI_DMT_UINT24, 177 ACPI_DMT_UINT32, 178 ACPI_DMT_UINT40, 179 ACPI_DMT_UINT48, 180 ACPI_DMT_UINT56, 181 ACPI_DMT_UINT64, 182 ACPI_DMT_BUF7, 183 ACPI_DMT_BUF10, 184 ACPI_DMT_BUF16, 185 ACPI_DMT_BUF128, 186 ACPI_DMT_SIG, 187 ACPI_DMT_STRING, 188 ACPI_DMT_NAME4, 189 ACPI_DMT_NAME6, 190 ACPI_DMT_NAME8, 191 192 /* Types that are decoded to strings and miscellaneous */ 193 194 ACPI_DMT_ACCWIDTH, 195 ACPI_DMT_CHKSUM, 196 ACPI_DMT_GAS, 197 ACPI_DMT_SPACEID, 198 ACPI_DMT_UNICODE, 199 ACPI_DMT_UUID, 200 201 /* Types used only for the Data Table Compiler */ 202 203 ACPI_DMT_BUFFER, 204 ACPI_DMT_DEVICE_PATH, 205 ACPI_DMT_LABEL, 206 ACPI_DMT_PCI_PATH, 207 208 /* Types that are specific to particular ACPI tables */ 209 210 ACPI_DMT_ASF, 211 ACPI_DMT_DMAR, 212 ACPI_DMT_EINJACT, 213 ACPI_DMT_EINJINST, 214 ACPI_DMT_ERSTACT, 215 ACPI_DMT_ERSTINST, 216 ACPI_DMT_FADTPM, 217 ACPI_DMT_HEST, 218 ACPI_DMT_HESTNTFY, 219 ACPI_DMT_HESTNTYP, 220 ACPI_DMT_IVRS, 221 ACPI_DMT_MADT, 222 ACPI_DMT_PMTT, 223 ACPI_DMT_SLIC, 224 ACPI_DMT_SRAT, 225 226 /* Special opcodes */ 227 228 ACPI_DMT_EXTRA_TEXT, 229 ACPI_DMT_EXIT 230 231 } ACPI_ENTRY_TYPES; 232 233 typedef 234 void (*ACPI_DMTABLE_HANDLER) ( 235 ACPI_TABLE_HEADER *Table); 236 237 typedef 238 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) ( 239 void **PFieldList); 240 241 typedef struct acpi_dmtable_data 242 { 243 char *Signature; 244 ACPI_DMTABLE_INFO *TableInfo; 245 ACPI_DMTABLE_HANDLER TableHandler; 246 ACPI_CMTABLE_HANDLER CmTableHandler; 247 const unsigned char *Template; 248 char *Name; 249 250 } ACPI_DMTABLE_DATA; 251 252 253 typedef struct acpi_op_walk_info 254 { 255 UINT32 Level; 256 UINT32 LastLevel; 257 UINT32 Count; 258 UINT32 BitOffset; 259 UINT32 Flags; 260 ACPI_WALK_STATE *WalkState; 261 262 } ACPI_OP_WALK_INFO; 263 264 /* 265 * TBD - another copy of this is in asltypes.h, fix 266 */ 267 #ifndef ASL_WALK_CALLBACK_DEFINED 268 typedef 269 ACPI_STATUS (*ASL_WALK_CALLBACK) ( 270 ACPI_PARSE_OBJECT *Op, 271 UINT32 Level, 272 void *Context); 273 #define ASL_WALK_CALLBACK_DEFINED 274 #endif 275 276 typedef 277 void (*ACPI_RESOURCE_HANDLER) ( 278 AML_RESOURCE *Resource, 279 UINT32 Length, 280 UINT32 Level); 281 282 typedef struct acpi_resource_tag 283 { 284 UINT32 BitIndex; 285 char *Tag; 286 287 } ACPI_RESOURCE_TAG; 288 289 /* Strings used for decoding flags to ASL keywords */ 290 291 extern const char *AcpiGbl_WordDecode[]; 292 extern const char *AcpiGbl_IrqDecode[]; 293 extern const char *AcpiGbl_LockRule[]; 294 extern const char *AcpiGbl_AccessTypes[]; 295 extern const char *AcpiGbl_UpdateRules[]; 296 extern const char *AcpiGbl_MatchOps[]; 297 298 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 299 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 300 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 301 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 302 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 303 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 304 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 305 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 306 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 307 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 308 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[]; 309 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 310 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 311 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[]; 312 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[]; 313 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[]; 314 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[]; 315 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[]; 316 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[]; 317 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[]; 318 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[]; 319 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 320 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 321 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 322 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 323 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 324 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 325 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 326 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; 327 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[]; 328 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 329 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 330 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 331 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 332 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[]; 333 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 334 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 335 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 336 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 337 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[]; 338 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[]; 339 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[]; 340 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[]; 341 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[]; 342 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 343 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[]; 344 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 345 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 346 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 347 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 348 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; 349 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 350 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 351 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 352 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 353 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 354 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; 355 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 356 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; 357 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; 358 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 359 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 360 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 361 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 362 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 363 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 364 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 365 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 366 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 367 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 368 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 369 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 370 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 371 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 372 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 373 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 374 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 375 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 376 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[]; 377 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[]; 378 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 379 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 380 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 381 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; 382 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; 383 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; 384 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; 385 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[]; 386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[]; 387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[]; 388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[]; 391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[]; 392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[]; 393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[]; 394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[]; 395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[]; 396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[]; 397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[]; 398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[]; 399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[]; 400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; 403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[]; 404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[]; 405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[]; 406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlicHdr[]; 408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic0[]; 409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic1[]; 410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[]; 420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[]; 422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[]; 423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; 427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 428 429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; 430 431 432 /* 433 * dmtable 434 */ 435 extern ACPI_DMTABLE_DATA AcpiDmTableData[]; 436 437 UINT8 438 AcpiDmGenerateChecksum ( 439 void *Table, 440 UINT32 Length, 441 UINT8 OriginalChecksum); 442 443 ACPI_DMTABLE_DATA * 444 AcpiDmGetTableData ( 445 char *Signature); 446 447 void 448 AcpiDmDumpDataTable ( 449 ACPI_TABLE_HEADER *Table); 450 451 ACPI_STATUS 452 AcpiDmDumpTable ( 453 UINT32 TableLength, 454 UINT32 TableOffset, 455 void *Table, 456 UINT32 SubTableLength, 457 ACPI_DMTABLE_INFO *Info); 458 459 void 460 AcpiDmLineHeader ( 461 UINT32 Offset, 462 UINT32 ByteLength, 463 char *Name); 464 465 void 466 AcpiDmLineHeader2 ( 467 UINT32 Offset, 468 UINT32 ByteLength, 469 char *Name, 470 UINT32 Value); 471 472 473 /* 474 * dmtbdump 475 */ 476 void 477 AcpiDmDumpAsf ( 478 ACPI_TABLE_HEADER *Table); 479 480 void 481 AcpiDmDumpCpep ( 482 ACPI_TABLE_HEADER *Table); 483 484 void 485 AcpiDmDumpCsrt ( 486 ACPI_TABLE_HEADER *Table); 487 488 void 489 AcpiDmDumpDbg2 ( 490 ACPI_TABLE_HEADER *Table); 491 492 void 493 AcpiDmDumpDmar ( 494 ACPI_TABLE_HEADER *Table); 495 496 void 497 AcpiDmDumpEinj ( 498 ACPI_TABLE_HEADER *Table); 499 500 void 501 AcpiDmDumpErst ( 502 ACPI_TABLE_HEADER *Table); 503 504 void 505 AcpiDmDumpFadt ( 506 ACPI_TABLE_HEADER *Table); 507 508 void 509 AcpiDmDumpFpdt ( 510 ACPI_TABLE_HEADER *Table); 511 512 void 513 AcpiDmDumpHest ( 514 ACPI_TABLE_HEADER *Table); 515 516 void 517 AcpiDmDumpIvrs ( 518 ACPI_TABLE_HEADER *Table); 519 520 void 521 AcpiDmDumpMadt ( 522 ACPI_TABLE_HEADER *Table); 523 524 void 525 AcpiDmDumpMcfg ( 526 ACPI_TABLE_HEADER *Table); 527 528 void 529 AcpiDmDumpMpst ( 530 ACPI_TABLE_HEADER *Table); 531 532 void 533 AcpiDmDumpMsct ( 534 ACPI_TABLE_HEADER *Table); 535 536 void 537 AcpiDmDumpMtmr ( 538 ACPI_TABLE_HEADER *Table); 539 540 void 541 AcpiDmDumpPcct ( 542 ACPI_TABLE_HEADER *Table); 543 544 void 545 AcpiDmDumpPmtt ( 546 ACPI_TABLE_HEADER *Table); 547 548 UINT32 549 AcpiDmDumpRsdp ( 550 ACPI_TABLE_HEADER *Table); 551 552 void 553 AcpiDmDumpRsdt ( 554 ACPI_TABLE_HEADER *Table); 555 556 UINT32 557 AcpiDmDumpS3pt ( 558 ACPI_TABLE_HEADER *Table); 559 560 void 561 AcpiDmDumpSlic ( 562 ACPI_TABLE_HEADER *Table); 563 564 void 565 AcpiDmDumpSlit ( 566 ACPI_TABLE_HEADER *Table); 567 568 void 569 AcpiDmDumpSrat ( 570 ACPI_TABLE_HEADER *Table); 571 572 void 573 AcpiDmDumpVrtc ( 574 ACPI_TABLE_HEADER *Table); 575 576 void 577 AcpiDmDumpWdat ( 578 ACPI_TABLE_HEADER *Table); 579 580 void 581 AcpiDmDumpXsdt ( 582 ACPI_TABLE_HEADER *Table); 583 584 585 /* 586 * dmwalk 587 */ 588 void 589 AcpiDmDisassemble ( 590 ACPI_WALK_STATE *WalkState, 591 ACPI_PARSE_OBJECT *Origin, 592 UINT32 NumOpcodes); 593 594 void 595 AcpiDmWalkParseTree ( 596 ACPI_PARSE_OBJECT *Op, 597 ASL_WALK_CALLBACK DescendingCallback, 598 ASL_WALK_CALLBACK AscendingCallback, 599 void *Context); 600 601 602 /* 603 * dmopcode 604 */ 605 void 606 AcpiDmDisassembleOneOp ( 607 ACPI_WALK_STATE *WalkState, 608 ACPI_OP_WALK_INFO *Info, 609 ACPI_PARSE_OBJECT *Op); 610 611 void 612 AcpiDmDecodeInternalObject ( 613 ACPI_OPERAND_OBJECT *ObjDesc); 614 615 UINT32 616 AcpiDmListType ( 617 ACPI_PARSE_OBJECT *Op); 618 619 void 620 AcpiDmMethodFlags ( 621 ACPI_PARSE_OBJECT *Op); 622 623 void 624 AcpiDmPredefinedDescription ( 625 ACPI_PARSE_OBJECT *Op); 626 627 void 628 AcpiDmFieldPredefinedDescription ( 629 ACPI_PARSE_OBJECT *Op); 630 631 void 632 AcpiDmFieldFlags ( 633 ACPI_PARSE_OBJECT *Op); 634 635 void 636 AcpiDmAddressSpace ( 637 UINT8 SpaceId); 638 639 void 640 AcpiDmRegionFlags ( 641 ACPI_PARSE_OBJECT *Op); 642 643 void 644 AcpiDmMatchOp ( 645 ACPI_PARSE_OBJECT *Op); 646 647 648 /* 649 * dmnames 650 */ 651 UINT32 652 AcpiDmDumpName ( 653 UINT32 Name); 654 655 ACPI_STATUS 656 AcpiPsDisplayObjectPathname ( 657 ACPI_WALK_STATE *WalkState, 658 ACPI_PARSE_OBJECT *Op); 659 660 void 661 AcpiDmNamestring ( 662 char *Name); 663 664 665 /* 666 * dmobject 667 */ 668 void 669 AcpiDmDisplayInternalObject ( 670 ACPI_OPERAND_OBJECT *ObjDesc, 671 ACPI_WALK_STATE *WalkState); 672 673 void 674 AcpiDmDisplayArguments ( 675 ACPI_WALK_STATE *WalkState); 676 677 void 678 AcpiDmDisplayLocals ( 679 ACPI_WALK_STATE *WalkState); 680 681 void 682 AcpiDmDumpMethodInfo ( 683 ACPI_STATUS Status, 684 ACPI_WALK_STATE *WalkState, 685 ACPI_PARSE_OBJECT *Op); 686 687 688 /* 689 * dmbuffer 690 */ 691 void 692 AcpiDmDisasmByteList ( 693 UINT32 Level, 694 UINT8 *ByteData, 695 UINT32 ByteCount); 696 697 void 698 AcpiDmByteList ( 699 ACPI_OP_WALK_INFO *Info, 700 ACPI_PARSE_OBJECT *Op); 701 702 void 703 AcpiDmIsEisaId ( 704 ACPI_PARSE_OBJECT *Op); 705 706 void 707 AcpiDmEisaId ( 708 UINT32 EncodedId); 709 710 BOOLEAN 711 AcpiDmIsUnicodeBuffer ( 712 ACPI_PARSE_OBJECT *Op); 713 714 BOOLEAN 715 AcpiDmIsStringBuffer ( 716 ACPI_PARSE_OBJECT *Op); 717 718 BOOLEAN 719 AcpiDmIsPldBuffer ( 720 ACPI_PARSE_OBJECT *Op); 721 722 723 /* 724 * dmdeferred 725 */ 726 ACPI_STATUS 727 AcpiDmParseDeferredOps ( 728 ACPI_PARSE_OBJECT *Root); 729 730 731 /* 732 * dmextern 733 */ 734 ACPI_STATUS 735 AcpiDmAddToExternalFileList ( 736 char *PathList); 737 738 void 739 AcpiDmClearExternalFileList ( 740 void); 741 742 void 743 AcpiDmAddToExternalList ( 744 ACPI_PARSE_OBJECT *Op, 745 char *Path, 746 UINT8 Type, 747 UINT32 Value); 748 749 void 750 AcpiDmAddExternalsToNamespace ( 751 void); 752 753 UINT32 754 AcpiDmGetExternalMethodCount ( 755 void); 756 757 void 758 AcpiDmClearExternalList ( 759 void); 760 761 void 762 AcpiDmEmitExternals ( 763 void); 764 765 void 766 AcpiDmUnresolvedWarning ( 767 UINT8 Type); 768 769 void 770 AcpiDmGetExternalsFromFile ( 771 void); 772 773 /* 774 * dmresrc 775 */ 776 void 777 AcpiDmDumpInteger8 ( 778 UINT8 Value, 779 char *Name); 780 781 void 782 AcpiDmDumpInteger16 ( 783 UINT16 Value, 784 char *Name); 785 786 void 787 AcpiDmDumpInteger32 ( 788 UINT32 Value, 789 char *Name); 790 791 void 792 AcpiDmDumpInteger64 ( 793 UINT64 Value, 794 char *Name); 795 796 void 797 AcpiDmResourceTemplate ( 798 ACPI_OP_WALK_INFO *Info, 799 ACPI_PARSE_OBJECT *Op, 800 UINT8 *ByteData, 801 UINT32 ByteCount); 802 803 ACPI_STATUS 804 AcpiDmIsResourceTemplate ( 805 ACPI_WALK_STATE *WalkState, 806 ACPI_PARSE_OBJECT *Op); 807 808 void 809 AcpiDmBitList ( 810 UINT16 Mask); 811 812 void 813 AcpiDmDescriptorName ( 814 void); 815 816 817 /* 818 * dmresrcl 819 */ 820 void 821 AcpiDmWordDescriptor ( 822 AML_RESOURCE *Resource, 823 UINT32 Length, 824 UINT32 Level); 825 826 void 827 AcpiDmDwordDescriptor ( 828 AML_RESOURCE *Resource, 829 UINT32 Length, 830 UINT32 Level); 831 832 void 833 AcpiDmExtendedDescriptor ( 834 AML_RESOURCE *Resource, 835 UINT32 Length, 836 UINT32 Level); 837 838 void 839 AcpiDmQwordDescriptor ( 840 AML_RESOURCE *Resource, 841 UINT32 Length, 842 UINT32 Level); 843 844 void 845 AcpiDmMemory24Descriptor ( 846 AML_RESOURCE *Resource, 847 UINT32 Length, 848 UINT32 Level); 849 850 void 851 AcpiDmMemory32Descriptor ( 852 AML_RESOURCE *Resource, 853 UINT32 Length, 854 UINT32 Level); 855 856 void 857 AcpiDmFixedMemory32Descriptor ( 858 AML_RESOURCE *Resource, 859 UINT32 Length, 860 UINT32 Level); 861 862 void 863 AcpiDmGenericRegisterDescriptor ( 864 AML_RESOURCE *Resource, 865 UINT32 Length, 866 UINT32 Level); 867 868 void 869 AcpiDmInterruptDescriptor ( 870 AML_RESOURCE *Resource, 871 UINT32 Length, 872 UINT32 Level); 873 874 void 875 AcpiDmVendorLargeDescriptor ( 876 AML_RESOURCE *Resource, 877 UINT32 Length, 878 UINT32 Level); 879 880 void 881 AcpiDmGpioDescriptor ( 882 AML_RESOURCE *Resource, 883 UINT32 Length, 884 UINT32 Level); 885 886 void 887 AcpiDmSerialBusDescriptor ( 888 AML_RESOURCE *Resource, 889 UINT32 Length, 890 UINT32 Level); 891 892 void 893 AcpiDmVendorCommon ( 894 char *Name, 895 UINT8 *ByteData, 896 UINT32 Length, 897 UINT32 Level); 898 899 900 /* 901 * dmresrcs 902 */ 903 void 904 AcpiDmIrqDescriptor ( 905 AML_RESOURCE *Resource, 906 UINT32 Length, 907 UINT32 Level); 908 909 void 910 AcpiDmDmaDescriptor ( 911 AML_RESOURCE *Resource, 912 UINT32 Length, 913 UINT32 Level); 914 915 void 916 AcpiDmFixedDmaDescriptor ( 917 AML_RESOURCE *Resource, 918 UINT32 Length, 919 UINT32 Level); 920 921 void 922 AcpiDmIoDescriptor ( 923 AML_RESOURCE *Resource, 924 UINT32 Length, 925 UINT32 Level); 926 927 void 928 AcpiDmFixedIoDescriptor ( 929 AML_RESOURCE *Resource, 930 UINT32 Length, 931 UINT32 Level); 932 933 void 934 AcpiDmStartDependentDescriptor ( 935 AML_RESOURCE *Resource, 936 UINT32 Length, 937 UINT32 Level); 938 939 void 940 AcpiDmEndDependentDescriptor ( 941 AML_RESOURCE *Resource, 942 UINT32 Length, 943 UINT32 Level); 944 945 void 946 AcpiDmVendorSmallDescriptor ( 947 AML_RESOURCE *Resource, 948 UINT32 Length, 949 UINT32 Level); 950 951 952 /* 953 * dmutils 954 */ 955 void 956 AcpiDmDecodeAttribute ( 957 UINT8 Attribute); 958 959 void 960 AcpiDmIndent ( 961 UINT32 Level); 962 963 BOOLEAN 964 AcpiDmCommaIfListMember ( 965 ACPI_PARSE_OBJECT *Op); 966 967 void 968 AcpiDmCommaIfFieldMember ( 969 ACPI_PARSE_OBJECT *Op); 970 971 972 /* 973 * dmrestag 974 */ 975 void 976 AcpiDmFindResources ( 977 ACPI_PARSE_OBJECT *Root); 978 979 void 980 AcpiDmCheckResourceReference ( 981 ACPI_PARSE_OBJECT *Op, 982 ACPI_WALK_STATE *WalkState); 983 984 985 /* 986 * acdisasm 987 */ 988 void 989 AdDisassemblerHeader ( 990 char *Filename); 991 992 993 #endif /* __ACDISASM_H__ */ 994