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