acdisasm.h revision 218590
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 63typedef 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 134typedef 135void (*ACPI_DMTABLE_HANDLER) ( 136 ACPI_TABLE_HEADER *Table); 137 138typedef 139ACPI_STATUS (*ACPI_CMTABLE_HANDLER) ( 140 void **PFieldList); 141 142typedef 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 154typedef 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 169typedef 170ACPI_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 178typedef 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 187extern const char *AcpiGbl_WordDecode[]; 188extern const char *AcpiGbl_IrqDecode[]; 189extern const char *AcpiGbl_LockRule[]; 190extern const char *AcpiGbl_AccessTypes[]; 191extern const char *AcpiGbl_UpdateRules[]; 192extern const char *AcpiGbl_MatchOps[]; 193 194extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 195extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 196extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 197extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 198extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 199extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 200extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 201extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 202extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 203extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 204extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 205extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 206extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 207extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 208extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 209extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 210extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 211extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 212extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 213extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; 214extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 215extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 216extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 217extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 218extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[]; 219extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 220extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 221extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 222extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 223extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 224extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 225extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 226extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 227extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 228extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; 229extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 230extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 231extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 232extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 233extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 234extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; 235extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 236extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; 237extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; 238extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 239extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 240extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 241extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 242extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 243extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 244extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 245extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 246extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 247extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 248extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 249extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 250extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 251extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 252extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 253extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 254extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 255extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 256extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 257extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 258extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 259extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; 260extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 261extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 262extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 263extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 264extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 265extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 266extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 267extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 268extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 269extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 270extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 271extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 272extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 273extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 274extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 275extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 276extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 277extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 278extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 279extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; 280extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 281 282extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; 283 284 285/* 286 * dmtable 287 */ 288extern ACPI_DMTABLE_DATA AcpiDmTableData[]; 289 290UINT8 291AcpiDmGenerateChecksum ( 292 void *Table, 293 UINT32 Length, 294 UINT8 OriginalChecksum); 295 296ACPI_DMTABLE_DATA * 297AcpiDmGetTableData ( 298 char *Signature); 299 300void 301AcpiDmDumpDataTable ( 302 ACPI_TABLE_HEADER *Table); 303 304ACPI_STATUS 305AcpiDmDumpTable ( 306 UINT32 TableLength, 307 UINT32 TableOffset, 308 void *Table, 309 UINT32 SubTableLength, 310 ACPI_DMTABLE_INFO *Info); 311 312void 313AcpiDmLineHeader ( 314 UINT32 Offset, 315 UINT32 ByteLength, 316 char *Name); 317 318void 319AcpiDmLineHeader2 ( 320 UINT32 Offset, 321 UINT32 ByteLength, 322 char *Name, 323 UINT32 Value); 324 325 326/* 327 * dmtbdump 328 */ 329void 330AcpiDmDumpAsf ( 331 ACPI_TABLE_HEADER *Table); 332 333void 334AcpiDmDumpCpep ( 335 ACPI_TABLE_HEADER *Table); 336 337void 338AcpiDmDumpDmar ( 339 ACPI_TABLE_HEADER *Table); 340 341void 342AcpiDmDumpEinj ( 343 ACPI_TABLE_HEADER *Table); 344 345void 346AcpiDmDumpErst ( 347 ACPI_TABLE_HEADER *Table); 348 349void 350AcpiDmDumpFadt ( 351 ACPI_TABLE_HEADER *Table); 352 353void 354AcpiDmDumpHest ( 355 ACPI_TABLE_HEADER *Table); 356 357void 358AcpiDmDumpIvrs ( 359 ACPI_TABLE_HEADER *Table); 360 361void 362AcpiDmDumpMcfg ( 363 ACPI_TABLE_HEADER *Table); 364 365void 366AcpiDmDumpMadt ( 367 ACPI_TABLE_HEADER *Table); 368 369void 370AcpiDmDumpMsct ( 371 ACPI_TABLE_HEADER *Table); 372 373UINT32 374AcpiDmDumpRsdp ( 375 ACPI_TABLE_HEADER *Table); 376 377void 378AcpiDmDumpRsdt ( 379 ACPI_TABLE_HEADER *Table); 380 381void 382AcpiDmDumpSlit ( 383 ACPI_TABLE_HEADER *Table); 384 385void 386AcpiDmDumpSrat ( 387 ACPI_TABLE_HEADER *Table); 388 389void 390AcpiDmDumpWdat ( 391 ACPI_TABLE_HEADER *Table); 392 393void 394AcpiDmDumpXsdt ( 395 ACPI_TABLE_HEADER *Table); 396 397 398/* 399 * dmwalk 400 */ 401void 402AcpiDmDisassemble ( 403 ACPI_WALK_STATE *WalkState, 404 ACPI_PARSE_OBJECT *Origin, 405 UINT32 NumOpcodes); 406 407void 408AcpiDmWalkParseTree ( 409 ACPI_PARSE_OBJECT *Op, 410 ASL_WALK_CALLBACK DescendingCallback, 411 ASL_WALK_CALLBACK AscendingCallback, 412 void *Context); 413 414 415/* 416 * dmopcode 417 */ 418void 419AcpiDmDisassembleOneOp ( 420 ACPI_WALK_STATE *WalkState, 421 ACPI_OP_WALK_INFO *Info, 422 ACPI_PARSE_OBJECT *Op); 423 424void 425AcpiDmDecodeInternalObject ( 426 ACPI_OPERAND_OBJECT *ObjDesc); 427 428UINT32 429AcpiDmListType ( 430 ACPI_PARSE_OBJECT *Op); 431 432void 433AcpiDmMethodFlags ( 434 ACPI_PARSE_OBJECT *Op); 435 436void 437AcpiDmFieldFlags ( 438 ACPI_PARSE_OBJECT *Op); 439 440void 441AcpiDmAddressSpace ( 442 UINT8 SpaceId); 443 444void 445AcpiDmRegionFlags ( 446 ACPI_PARSE_OBJECT *Op); 447 448void 449AcpiDmMatchOp ( 450 ACPI_PARSE_OBJECT *Op); 451 452 453/* 454 * dmnames 455 */ 456UINT32 457AcpiDmDumpName ( 458 UINT32 Name); 459 460ACPI_STATUS 461AcpiPsDisplayObjectPathname ( 462 ACPI_WALK_STATE *WalkState, 463 ACPI_PARSE_OBJECT *Op); 464 465void 466AcpiDmNamestring ( 467 char *Name); 468 469 470/* 471 * dmobject 472 */ 473void 474AcpiDmDisplayInternalObject ( 475 ACPI_OPERAND_OBJECT *ObjDesc, 476 ACPI_WALK_STATE *WalkState); 477 478void 479AcpiDmDisplayArguments ( 480 ACPI_WALK_STATE *WalkState); 481 482void 483AcpiDmDisplayLocals ( 484 ACPI_WALK_STATE *WalkState); 485 486void 487AcpiDmDumpMethodInfo ( 488 ACPI_STATUS Status, 489 ACPI_WALK_STATE *WalkState, 490 ACPI_PARSE_OBJECT *Op); 491 492 493/* 494 * dmbuffer 495 */ 496void 497AcpiDmDisasmByteList ( 498 UINT32 Level, 499 UINT8 *ByteData, 500 UINT32 ByteCount); 501 502void 503AcpiDmByteList ( 504 ACPI_OP_WALK_INFO *Info, 505 ACPI_PARSE_OBJECT *Op); 506 507void 508AcpiDmIsEisaId ( 509 ACPI_PARSE_OBJECT *Op); 510 511void 512AcpiDmEisaId ( 513 UINT32 EncodedId); 514 515BOOLEAN 516AcpiDmIsUnicodeBuffer ( 517 ACPI_PARSE_OBJECT *Op); 518 519BOOLEAN 520AcpiDmIsStringBuffer ( 521 ACPI_PARSE_OBJECT *Op); 522 523 524/* 525 * dmextern 526 */ 527 528ACPI_STATUS 529AcpiDmAddToExternalFileList ( 530 char *PathList); 531 532void 533AcpiDmClearExternalFileList ( 534 void); 535 536void 537AcpiDmAddToExternalList ( 538 ACPI_PARSE_OBJECT *Op, 539 char *Path, 540 UINT8 Type, 541 UINT32 Value); 542 543void 544AcpiDmAddExternalsToNamespace ( 545 void); 546 547UINT32 548AcpiDmGetExternalMethodCount ( 549 void); 550 551void 552AcpiDmClearExternalList ( 553 void); 554 555void 556AcpiDmEmitExternals ( 557 void); 558 559 560/* 561 * dmresrc 562 */ 563void 564AcpiDmDumpInteger8 ( 565 UINT8 Value, 566 char *Name); 567 568void 569AcpiDmDumpInteger16 ( 570 UINT16 Value, 571 char *Name); 572 573void 574AcpiDmDumpInteger32 ( 575 UINT32 Value, 576 char *Name); 577 578void 579AcpiDmDumpInteger64 ( 580 UINT64 Value, 581 char *Name); 582 583void 584AcpiDmResourceTemplate ( 585 ACPI_OP_WALK_INFO *Info, 586 ACPI_PARSE_OBJECT *Op, 587 UINT8 *ByteData, 588 UINT32 ByteCount); 589 590ACPI_STATUS 591AcpiDmIsResourceTemplate ( 592 ACPI_PARSE_OBJECT *Op); 593 594void 595AcpiDmBitList ( 596 UINT16 Mask); 597 598void 599AcpiDmDescriptorName ( 600 void); 601 602 603/* 604 * dmresrcl 605 */ 606void 607AcpiDmWordDescriptor ( 608 AML_RESOURCE *Resource, 609 UINT32 Length, 610 UINT32 Level); 611 612void 613AcpiDmDwordDescriptor ( 614 AML_RESOURCE *Resource, 615 UINT32 Length, 616 UINT32 Level); 617 618void 619AcpiDmExtendedDescriptor ( 620 AML_RESOURCE *Resource, 621 UINT32 Length, 622 UINT32 Level); 623 624void 625AcpiDmQwordDescriptor ( 626 AML_RESOURCE *Resource, 627 UINT32 Length, 628 UINT32 Level); 629 630void 631AcpiDmMemory24Descriptor ( 632 AML_RESOURCE *Resource, 633 UINT32 Length, 634 UINT32 Level); 635 636void 637AcpiDmMemory32Descriptor ( 638 AML_RESOURCE *Resource, 639 UINT32 Length, 640 UINT32 Level); 641 642void 643AcpiDmFixedMemory32Descriptor ( 644 AML_RESOURCE *Resource, 645 UINT32 Length, 646 UINT32 Level); 647 648void 649AcpiDmGenericRegisterDescriptor ( 650 AML_RESOURCE *Resource, 651 UINT32 Length, 652 UINT32 Level); 653 654void 655AcpiDmInterruptDescriptor ( 656 AML_RESOURCE *Resource, 657 UINT32 Length, 658 UINT32 Level); 659 660void 661AcpiDmVendorLargeDescriptor ( 662 AML_RESOURCE *Resource, 663 UINT32 Length, 664 UINT32 Level); 665 666void 667AcpiDmVendorCommon ( 668 char *Name, 669 UINT8 *ByteData, 670 UINT32 Length, 671 UINT32 Level); 672 673 674/* 675 * dmresrcs 676 */ 677void 678AcpiDmIrqDescriptor ( 679 AML_RESOURCE *Resource, 680 UINT32 Length, 681 UINT32 Level); 682 683void 684AcpiDmDmaDescriptor ( 685 AML_RESOURCE *Resource, 686 UINT32 Length, 687 UINT32 Level); 688 689void 690AcpiDmIoDescriptor ( 691 AML_RESOURCE *Resource, 692 UINT32 Length, 693 UINT32 Level); 694 695void 696AcpiDmFixedIoDescriptor ( 697 AML_RESOURCE *Resource, 698 UINT32 Length, 699 UINT32 Level); 700 701void 702AcpiDmStartDependentDescriptor ( 703 AML_RESOURCE *Resource, 704 UINT32 Length, 705 UINT32 Level); 706 707void 708AcpiDmEndDependentDescriptor ( 709 AML_RESOURCE *Resource, 710 UINT32 Length, 711 UINT32 Level); 712 713void 714AcpiDmVendorSmallDescriptor ( 715 AML_RESOURCE *Resource, 716 UINT32 Length, 717 UINT32 Level); 718 719 720/* 721 * dmutils 722 */ 723void 724AcpiDmDecodeAttribute ( 725 UINT8 Attribute); 726 727void 728AcpiDmIndent ( 729 UINT32 Level); 730 731BOOLEAN 732AcpiDmCommaIfListMember ( 733 ACPI_PARSE_OBJECT *Op); 734 735void 736AcpiDmCommaIfFieldMember ( 737 ACPI_PARSE_OBJECT *Op); 738 739 740/* 741 * dmrestag 742 */ 743void 744AcpiDmFindResources ( 745 ACPI_PARSE_OBJECT *Root); 746 747void 748AcpiDmCheckResourceReference ( 749 ACPI_PARSE_OBJECT *Op, 750 ACPI_WALK_STATE *WalkState); 751 752 753/* 754 * acdisasm 755 */ 756void 757AdDisassemblerHeader ( 758 char *Filename); 759 760 761#endif /* __ACDISASM_H__ */ 762