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