1 /****************************************************************************** 2 * 3 * Name: acdisasm.h - AML disassembler 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2011, Intel Corp. 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions, and the following disclaimer, 16 * without modification. 17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18 * substantially similar to the "NO WARRANTY" disclaimer below 19 * ("Disclaimer") and any redistribution must be conditioned upon 20 * including a substantially similar Disclaimer requirement for further 21 * binary redistribution. 22 * 3. Neither the names of the above-listed copyright holders nor the names 23 * of any contributors may be used to endorse or promote products derived 24 * from this software without specific prior written permission. 25 * 26 * Alternatively, this software may be distributed under the terms of the 27 * GNU General Public License ("GPL") version 2 as published by the Free 28 * Software Foundation. 29 * 30 * NO WARRANTY 31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41 * POSSIBILITY OF SUCH DAMAGES. 42 */ 43 44 #ifndef __ACDISASM_H__ 45 #define __ACDISASM_H__ 46 47 #include <contrib/dev/acpica/include/amlresrc.h> 48 49 50 #define BLOCK_NONE 0 51 #define BLOCK_PAREN 1 52 #define BLOCK_BRACE 2 53 #define BLOCK_COMMA_LIST 4 54 #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 55 56 /* 57 * Raw table data header. Used by disassembler and data table compiler. 58 * Do not change. 59 */ 60 #define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data" 61 62 63 typedef const struct acpi_dmtable_info 64 { 65 UINT8 Opcode; 66 UINT8 Offset; 67 char *Name; 68 UINT8 Flags; 69 70 } ACPI_DMTABLE_INFO; 71 72 #define DT_LENGTH 0x01 /* Field is a subtable length */ 73 #define DT_FLAG 0x02 /* Field is a flag value */ 74 #define DT_NON_ZERO 0x04 /* Field must be non-zero */ 75 76 /* TBD: Not used at this time */ 77 78 #define DT_OPTIONAL 0x08 79 #define DT_COUNT 0x10 80 81 /* 82 * Values for Opcode above. 83 * Note: 0-7 must not change, used as a flag shift value 84 */ 85 #define ACPI_DMT_FLAG0 0 86 #define ACPI_DMT_FLAG1 1 87 #define ACPI_DMT_FLAG2 2 88 #define ACPI_DMT_FLAG3 3 89 #define ACPI_DMT_FLAG4 4 90 #define ACPI_DMT_FLAG5 5 91 #define ACPI_DMT_FLAG6 6 92 #define ACPI_DMT_FLAG7 7 93 #define ACPI_DMT_FLAGS0 8 94 #define ACPI_DMT_FLAGS2 9 95 #define ACPI_DMT_UINT8 10 96 #define ACPI_DMT_UINT16 11 97 #define ACPI_DMT_UINT24 12 98 #define ACPI_DMT_UINT32 13 99 #define ACPI_DMT_UINT56 14 100 #define ACPI_DMT_UINT64 15 101 #define ACPI_DMT_STRING 16 102 #define ACPI_DMT_NAME4 17 103 #define ACPI_DMT_NAME6 18 104 #define ACPI_DMT_NAME8 19 105 #define ACPI_DMT_CHKSUM 20 106 #define ACPI_DMT_SPACEID 21 107 #define ACPI_DMT_GAS 22 108 #define ACPI_DMT_ASF 23 109 #define ACPI_DMT_DMAR 24 110 #define ACPI_DMT_HEST 25 111 #define ACPI_DMT_HESTNTFY 26 112 #define ACPI_DMT_HESTNTYP 27 113 #define ACPI_DMT_MADT 28 114 #define ACPI_DMT_SRAT 29 115 #define ACPI_DMT_EXIT 30 116 #define ACPI_DMT_SIG 31 117 #define ACPI_DMT_FADTPM 32 118 #define ACPI_DMT_BUF16 33 119 #define ACPI_DMT_IVRS 34 120 #define ACPI_DMT_BUFFER 35 121 #define ACPI_DMT_PCI_PATH 36 122 #define ACPI_DMT_EINJACT 37 123 #define ACPI_DMT_EINJINST 38 124 #define ACPI_DMT_ERSTACT 39 125 #define ACPI_DMT_ERSTINST 40 126 #define ACPI_DMT_ACCWIDTH 41 127 #define ACPI_DMT_UNICODE 42 128 #define ACPI_DMT_UUID 43 129 #define ACPI_DMT_DEVICE_PATH 44 130 #define ACPI_DMT_LABEL 45 131 #define ACPI_DMT_BUF7 46 132 133 134 typedef 135 void (*ACPI_DMTABLE_HANDLER) ( 136 ACPI_TABLE_HEADER *Table); 137 138 typedef 139 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) ( 140 void **PFieldList); 141 142 typedef struct acpi_dmtable_data 143 { 144 char *Signature; 145 ACPI_DMTABLE_INFO *TableInfo; 146 ACPI_DMTABLE_HANDLER TableHandler; 147 ACPI_CMTABLE_HANDLER CmTableHandler; 148 const unsigned char *Template; 149 char *Name; 150 151 } ACPI_DMTABLE_DATA; 152 153 154 typedef struct acpi_op_walk_info 155 { 156 UINT32 Level; 157 UINT32 LastLevel; 158 UINT32 Count; 159 UINT32 BitOffset; 160 UINT32 Flags; 161 ACPI_WALK_STATE *WalkState; 162 163 } ACPI_OP_WALK_INFO; 164 165 /* 166 * TBD - another copy of this is in asltypes.h, fix 167 */ 168 #ifndef ASL_WALK_CALLBACK_DEFINED 169 typedef 170 ACPI_STATUS (*ASL_WALK_CALLBACK) ( 171 ACPI_PARSE_OBJECT *Op, 172 UINT32 Level, 173 void *Context); 174 #define ASL_WALK_CALLBACK_DEFINED 175 #endif 176 177 178 typedef struct acpi_resource_tag 179 { 180 UINT32 BitIndex; 181 char *Tag; 182 183 } ACPI_RESOURCE_TAG; 184 185 /* Strings used for decoding flags to ASL keywords */ 186 187 extern const char *AcpiGbl_WordDecode[]; 188 extern const char *AcpiGbl_IrqDecode[]; 189 extern const char *AcpiGbl_LockRule[]; 190 extern const char *AcpiGbl_AccessTypes[]; 191 extern const char *AcpiGbl_UpdateRules[]; 192 extern const char *AcpiGbl_MatchOps[]; 193 194 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 195 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 196 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 197 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 198 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 199 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 200 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 201 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 202 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 203 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 204 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 205 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 206 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 207 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 208 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 209 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 210 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 211 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 212 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 213 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; 214 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 215 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 216 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 217 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 218 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[]; 219 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 220 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 221 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 222 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 223 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 224 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 225 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 226 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 227 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 228 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; 229 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 230 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 231 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 232 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 233 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 234 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; 235 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 236 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; 237 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; 238 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 239 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 240 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 241 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 242 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 243 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 244 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 245 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 246 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 247 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 248 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 249 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 250 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 251 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 252 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 253 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 254 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 255 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 256 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 257 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 258 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 259 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; 260 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 261 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 262 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 263 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 264 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 265 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 266 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 267 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 268 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 269 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 270 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 271 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 272 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 273 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 274 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 275 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 276 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 277 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 278 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 279 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; 280 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 281 282 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; 283 284 285 /* 286 * dmtable 287 */ 288 extern ACPI_DMTABLE_DATA AcpiDmTableData[]; 289 290 UINT8 291 AcpiDmGenerateChecksum ( 292 void *Table, 293 UINT32 Length, 294 UINT8 OriginalChecksum); 295 296 ACPI_DMTABLE_DATA * 297 AcpiDmGetTableData ( 298 char *Signature); 299 300 void 301 AcpiDmDumpDataTable ( 302 ACPI_TABLE_HEADER *Table); 303 304 ACPI_STATUS 305 AcpiDmDumpTable ( 306 UINT32 TableLength, 307 UINT32 TableOffset, 308 void *Table, 309 UINT32 SubTableLength, 310 ACPI_DMTABLE_INFO *Info); 311 312 void 313 AcpiDmLineHeader ( 314 UINT32 Offset, 315 UINT32 ByteLength, 316 char *Name); 317 318 void 319 AcpiDmLineHeader2 ( 320 UINT32 Offset, 321 UINT32 ByteLength, 322 char *Name, 323 UINT32 Value); 324 325 326 /* 327 * dmtbdump 328 */ 329 void 330 AcpiDmDumpAsf ( 331 ACPI_TABLE_HEADER *Table); 332 333 void 334 AcpiDmDumpCpep ( 335 ACPI_TABLE_HEADER *Table); 336 337 void 338 AcpiDmDumpDmar ( 339 ACPI_TABLE_HEADER *Table); 340 341 void 342 AcpiDmDumpEinj ( 343 ACPI_TABLE_HEADER *Table); 344 345 void 346 AcpiDmDumpErst ( 347 ACPI_TABLE_HEADER *Table); 348 349 void 350 AcpiDmDumpFadt ( 351 ACPI_TABLE_HEADER *Table); 352 353 void 354 AcpiDmDumpHest ( 355 ACPI_TABLE_HEADER *Table); 356 357 void 358 AcpiDmDumpIvrs ( 359 ACPI_TABLE_HEADER *Table); 360 361 void 362 AcpiDmDumpMcfg ( 363 ACPI_TABLE_HEADER *Table); 364 365 void 366 AcpiDmDumpMadt ( 367 ACPI_TABLE_HEADER *Table); 368 369 void 370 AcpiDmDumpMsct ( 371 ACPI_TABLE_HEADER *Table); 372 373 UINT32 374 AcpiDmDumpRsdp ( 375 ACPI_TABLE_HEADER *Table); 376 377 void 378 AcpiDmDumpRsdt ( 379 ACPI_TABLE_HEADER *Table); 380 381 void 382 AcpiDmDumpSlit ( 383 ACPI_TABLE_HEADER *Table); 384 385 void 386 AcpiDmDumpSrat ( 387 ACPI_TABLE_HEADER *Table); 388 389 void 390 AcpiDmDumpWdat ( 391 ACPI_TABLE_HEADER *Table); 392 393 void 394 AcpiDmDumpXsdt ( 395 ACPI_TABLE_HEADER *Table); 396 397 398 /* 399 * dmwalk 400 */ 401 void 402 AcpiDmDisassemble ( 403 ACPI_WALK_STATE *WalkState, 404 ACPI_PARSE_OBJECT *Origin, 405 UINT32 NumOpcodes); 406 407 void 408 AcpiDmWalkParseTree ( 409 ACPI_PARSE_OBJECT *Op, 410 ASL_WALK_CALLBACK DescendingCallback, 411 ASL_WALK_CALLBACK AscendingCallback, 412 void *Context); 413 414 415 /* 416 * dmopcode 417 */ 418 void 419 AcpiDmDisassembleOneOp ( 420 ACPI_WALK_STATE *WalkState, 421 ACPI_OP_WALK_INFO *Info, 422 ACPI_PARSE_OBJECT *Op); 423 424 void 425 AcpiDmDecodeInternalObject ( 426 ACPI_OPERAND_OBJECT *ObjDesc); 427 428 UINT32 429 AcpiDmListType ( 430 ACPI_PARSE_OBJECT *Op); 431 432 void 433 AcpiDmMethodFlags ( 434 ACPI_PARSE_OBJECT *Op); 435 436 void 437 AcpiDmFieldFlags ( 438 ACPI_PARSE_OBJECT *Op); 439 440 void 441 AcpiDmAddressSpace ( 442 UINT8 SpaceId); 443 444 void 445 AcpiDmRegionFlags ( 446 ACPI_PARSE_OBJECT *Op); 447 448 void 449 AcpiDmMatchOp ( 450 ACPI_PARSE_OBJECT *Op); 451 452 453 /* 454 * dmnames 455 */ 456 UINT32 457 AcpiDmDumpName ( 458 UINT32 Name); 459 460 ACPI_STATUS 461 AcpiPsDisplayObjectPathname ( 462 ACPI_WALK_STATE *WalkState, 463 ACPI_PARSE_OBJECT *Op); 464 465 void 466 AcpiDmNamestring ( 467 char *Name); 468 469 470 /* 471 * dmobject 472 */ 473 void 474 AcpiDmDisplayInternalObject ( 475 ACPI_OPERAND_OBJECT *ObjDesc, 476 ACPI_WALK_STATE *WalkState); 477 478 void 479 AcpiDmDisplayArguments ( 480 ACPI_WALK_STATE *WalkState); 481 482 void 483 AcpiDmDisplayLocals ( 484 ACPI_WALK_STATE *WalkState); 485 486 void 487 AcpiDmDumpMethodInfo ( 488 ACPI_STATUS Status, 489 ACPI_WALK_STATE *WalkState, 490 ACPI_PARSE_OBJECT *Op); 491 492 493 /* 494 * dmbuffer 495 */ 496 void 497 AcpiDmDisasmByteList ( 498 UINT32 Level, 499 UINT8 *ByteData, 500 UINT32 ByteCount); 501 502 void 503 AcpiDmByteList ( 504 ACPI_OP_WALK_INFO *Info, 505 ACPI_PARSE_OBJECT *Op); 506 507 void 508 AcpiDmIsEisaId ( 509 ACPI_PARSE_OBJECT *Op); 510 511 void 512 AcpiDmEisaId ( 513 UINT32 EncodedId); 514 515 BOOLEAN 516 AcpiDmIsUnicodeBuffer ( 517 ACPI_PARSE_OBJECT *Op); 518 519 BOOLEAN 520 AcpiDmIsStringBuffer ( 521 ACPI_PARSE_OBJECT *Op); 522 523 524 /* 525 * dmextern 526 */ 527 528 ACPI_STATUS 529 AcpiDmAddToExternalFileList ( 530 char *PathList); 531 532 void 533 AcpiDmClearExternalFileList ( 534 void); 535 536 void 537 AcpiDmAddToExternalList ( 538 ACPI_PARSE_OBJECT *Op, 539 char *Path, 540 UINT8 Type, 541 UINT32 Value); 542 543 void 544 AcpiDmAddExternalsToNamespace ( 545 void); 546 547 UINT32 548 AcpiDmGetExternalMethodCount ( 549 void); 550 551 void 552 AcpiDmClearExternalList ( 553 void); 554 555 void 556 AcpiDmEmitExternals ( 557 void); 558 559 560 /* 561 * dmresrc 562 */ 563 void 564 AcpiDmDumpInteger8 ( 565 UINT8 Value, 566 char *Name); 567 568 void 569 AcpiDmDumpInteger16 ( 570 UINT16 Value, 571 char *Name); 572 573 void 574 AcpiDmDumpInteger32 ( 575 UINT32 Value, 576 char *Name); 577 578 void 579 AcpiDmDumpInteger64 ( 580 UINT64 Value, 581 char *Name); 582 583 void 584 AcpiDmResourceTemplate ( 585 ACPI_OP_WALK_INFO *Info, 586 ACPI_PARSE_OBJECT *Op, 587 UINT8 *ByteData, 588 UINT32 ByteCount); 589 590 ACPI_STATUS 591 AcpiDmIsResourceTemplate ( 592 ACPI_PARSE_OBJECT *Op); 593 594 void 595 AcpiDmBitList ( 596 UINT16 Mask); 597 598 void 599 AcpiDmDescriptorName ( 600 void); 601 602 603 /* 604 * dmresrcl 605 */ 606 void 607 AcpiDmWordDescriptor ( 608 AML_RESOURCE *Resource, 609 UINT32 Length, 610 UINT32 Level); 611 612 void 613 AcpiDmDwordDescriptor ( 614 AML_RESOURCE *Resource, 615 UINT32 Length, 616 UINT32 Level); 617 618 void 619 AcpiDmExtendedDescriptor ( 620 AML_RESOURCE *Resource, 621 UINT32 Length, 622 UINT32 Level); 623 624 void 625 AcpiDmQwordDescriptor ( 626 AML_RESOURCE *Resource, 627 UINT32 Length, 628 UINT32 Level); 629 630 void 631 AcpiDmMemory24Descriptor ( 632 AML_RESOURCE *Resource, 633 UINT32 Length, 634 UINT32 Level); 635 636 void 637 AcpiDmMemory32Descriptor ( 638 AML_RESOURCE *Resource, 639 UINT32 Length, 640 UINT32 Level); 641 642 void 643 AcpiDmFixedMemory32Descriptor ( 644 AML_RESOURCE *Resource, 645 UINT32 Length, 646 UINT32 Level); 647 648 void 649 AcpiDmGenericRegisterDescriptor ( 650 AML_RESOURCE *Resource, 651 UINT32 Length, 652 UINT32 Level); 653 654 void 655 AcpiDmInterruptDescriptor ( 656 AML_RESOURCE *Resource, 657 UINT32 Length, 658 UINT32 Level); 659 660 void 661 AcpiDmVendorLargeDescriptor ( 662 AML_RESOURCE *Resource, 663 UINT32 Length, 664 UINT32 Level); 665 666 void 667 AcpiDmVendorCommon ( 668 char *Name, 669 UINT8 *ByteData, 670 UINT32 Length, 671 UINT32 Level); 672 673 674 /* 675 * dmresrcs 676 */ 677 void 678 AcpiDmIrqDescriptor ( 679 AML_RESOURCE *Resource, 680 UINT32 Length, 681 UINT32 Level); 682 683 void 684 AcpiDmDmaDescriptor ( 685 AML_RESOURCE *Resource, 686 UINT32 Length, 687 UINT32 Level); 688 689 void 690 AcpiDmIoDescriptor ( 691 AML_RESOURCE *Resource, 692 UINT32 Length, 693 UINT32 Level); 694 695 void 696 AcpiDmFixedIoDescriptor ( 697 AML_RESOURCE *Resource, 698 UINT32 Length, 699 UINT32 Level); 700 701 void 702 AcpiDmStartDependentDescriptor ( 703 AML_RESOURCE *Resource, 704 UINT32 Length, 705 UINT32 Level); 706 707 void 708 AcpiDmEndDependentDescriptor ( 709 AML_RESOURCE *Resource, 710 UINT32 Length, 711 UINT32 Level); 712 713 void 714 AcpiDmVendorSmallDescriptor ( 715 AML_RESOURCE *Resource, 716 UINT32 Length, 717 UINT32 Level); 718 719 720 /* 721 * dmutils 722 */ 723 void 724 AcpiDmDecodeAttribute ( 725 UINT8 Attribute); 726 727 void 728 AcpiDmIndent ( 729 UINT32 Level); 730 731 BOOLEAN 732 AcpiDmCommaIfListMember ( 733 ACPI_PARSE_OBJECT *Op); 734 735 void 736 AcpiDmCommaIfFieldMember ( 737 ACPI_PARSE_OBJECT *Op); 738 739 740 /* 741 * dmrestag 742 */ 743 void 744 AcpiDmFindResources ( 745 ACPI_PARSE_OBJECT *Root); 746 747 void 748 AcpiDmCheckResourceReference ( 749 ACPI_PARSE_OBJECT *Op, 750 ACPI_WALK_STATE *WalkState); 751 752 753 /* 754 * acdisasm 755 */ 756 void 757 AdDisassemblerHeader ( 758 char *Filename); 759 760 761 #endif /* __ACDISASM_H__ */ 762