1 2 /****************************************************************************** 3 * 4 * Module Name: aslcompiler.h - common include file for iASL 5 * $Revision: 1.142 $ 6 * 7 *****************************************************************************/ 8 9 /****************************************************************************** 10 * 11 * 1. Copyright Notice 12 * 13 * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp. 14 * All rights reserved. 15 * 16 * 2. License 17 * 18 * 2.1. This is your license from Intel Corp. under its intellectual property 19 * rights. You may have additional license terms from the party that provided 20 * you this software, covering your right to use that party's intellectual 21 * property rights. 22 * 23 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 24 * copy of the source code appearing in this file ("Covered Code") an 25 * irrevocable, perpetual, worldwide license under Intel's copyrights in the 26 * base code distributed originally by Intel ("Original Intel Code") to copy, 27 * make derivatives, distribute, use and display any portion of the Covered 28 * Code in any form, with the right to sublicense such rights; and 29 * 30 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 31 * license (with the right to sublicense), under only those claims of Intel 32 * patents that are infringed by the Original Intel Code, to make, use, sell, 33 * offer to sell, and import the Covered Code and derivative works thereof 34 * solely to the minimum extent necessary to exercise the above copyright 35 * license, and in no event shall the patent license extend to any additions 36 * to or modifications of the Original Intel Code. No other license or right 37 * is granted directly or by implication, estoppel or otherwise; 38 * 39 * The above copyright and patent license is granted only if the following 40 * conditions are met: 41 * 42 * 3. Conditions 43 * 44 * 3.1. Redistribution of Source with Rights to Further Distribute Source. 45 * Redistribution of source code of any substantial portion of the Covered 46 * Code or modification with rights to further distribute source must include 47 * the above Copyright Notice, the above License, this list of Conditions, 48 * and the following Disclaimer and Export Compliance provision. In addition, 49 * Licensee must cause all Covered Code to which Licensee contributes to 50 * contain a file documenting the changes Licensee made to create that Covered 51 * Code and the date of any change. Licensee must include in that file the 52 * documentation of any changes made by any predecessor Licensee. Licensee 53 * must include a prominent statement that the modification is derived, 54 * directly or indirectly, from Original Intel Code. 55 * 56 * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 57 * Redistribution of source code of any substantial portion of the Covered 58 * Code or modification without rights to further distribute source must 59 * include the following Disclaimer and Export Compliance provision in the 60 * documentation and/or other materials provided with distribution. In 61 * addition, Licensee may not authorize further sublicense of source of any 62 * portion of the Covered Code, and must include terms to the effect that the 63 * license from Licensee to its licensee is limited to the intellectual 64 * property embodied in the software Licensee provides to its licensee, and 65 * not to intellectual property embodied in modifications its licensee may 66 * make. 67 * 68 * 3.3. Redistribution of Executable. Redistribution in executable form of any 69 * substantial portion of the Covered Code or modification must reproduce the 70 * above Copyright Notice, and the following Disclaimer and Export Compliance 71 * provision in the documentation and/or other materials provided with the 72 * distribution. 73 * 74 * 3.4. Intel retains all right, title, and interest in and to the Original 75 * Intel Code. 76 * 77 * 3.5. Neither the name Intel nor any other trademark owned or controlled by 78 * Intel shall be used in advertising or otherwise to promote the sale, use or 79 * other dealings in products derived from or relating to the Covered Code 80 * without prior written authorization from Intel. 81 * 82 * 4. Disclaimer and Export Compliance 83 * 84 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 85 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 86 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 87 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 88 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 89 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 90 * PARTICULAR PURPOSE. 91 * 92 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 93 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 94 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 95 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 96 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 97 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 98 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 99 * LIMITED REMEDY. 100 * 101 * 4.3. Licensee shall not export, either directly or indirectly, any of this 102 * software or system incorporating such software without first obtaining any 103 * required license or other approval from the U. S. Department of Commerce or 104 * any other agency or department of the United States Government. In the 105 * event Licensee exports any such software from the United States or 106 * re-exports any such software from a foreign destination, Licensee shall 107 * ensure that the distribution and export/re-export of the software is in 108 * compliance with all laws, regulations, orders, or other restrictions of the 109 * U.S. Export Administration Regulations. Licensee agrees that neither it nor 110 * any of its subsidiaries will export/re-export any technical data, process, 111 * software, or service, directly or indirectly, to any country for which the 112 * United States government or any agency thereof requires an export license, 113 * other governmental approval, or letter of assurance, without first obtaining 114 * such license, approval or letter. 115 * 116 *****************************************************************************/ 117 118 119 #ifndef __ASLCOMPILER_H 120 #define __ASLCOMPILER_H 121 122 123 /* Microsoft-specific */ 124 125 #if (defined WIN32 || defined WIN64) 126 127 /* warn : used #pragma pack */ 128 #pragma warning(disable:4103) 129 130 /* warn : named type definition in parentheses */ 131 #pragma warning(disable:4115) 132 #endif 133 134 #include <stdio.h> 135 #include <stdlib.h> 136 #include <stdarg.h> 137 #include <string.h> 138 #include <errno.h> 139 #include <ctype.h> 140 141 142 #include <contrib/dev/acpica/acpi.h> 143 #include <contrib/dev/acpica/amlresrc.h> 144 #include <contrib/dev/acpica/acdebug.h> 145 146 /* Compiler headers */ 147 148 #include <contrib/dev/acpica/compiler/asldefine.h> 149 #include <contrib/dev/acpica/compiler/asltypes.h> 150 #include <contrib/dev/acpica/compiler/aslglobal.h> 151 152 153 /******************************************************************************* 154 * 155 * Compiler prototypes 156 * 157 ******************************************************************************/ 158 159 /* 160 * parser - generated from flex/bison, lex/yacc, etc. 161 */ 162 int 163 AslCompilerparse( 164 void); 165 166 ACPI_PARSE_OBJECT * 167 AslDoError ( 168 void); 169 170 int 171 AslCompilerlex( 172 void); 173 174 void 175 ResetCurrentLineBuffer ( 176 void); 177 178 void 179 InsertLineBuffer ( 180 int SourceChar); 181 182 int 183 AslPopInputFileStack ( 184 void); 185 186 void 187 AslPushInputFileStack ( 188 FILE *InputFile, 189 char *Filename); 190 191 192 /* 193 * aslcompile - compile mainline 194 */ 195 void 196 AslCompilerSignon ( 197 UINT32 FileId); 198 199 void 200 AslCompilerFileHeader ( 201 UINT32 FileId); 202 203 int 204 CmDoCompile ( 205 void); 206 207 void 208 CmDoOutputFiles ( 209 void); 210 211 void 212 CmCleanupAndExit ( 213 void); 214 215 216 /* 217 * aslanalyze - semantic analysis 218 */ 219 ACPI_STATUS 220 AnOtherSemanticAnalysisWalkBegin ( 221 ACPI_PARSE_OBJECT *Op, 222 UINT32 Level, 223 void *Context); 224 225 ACPI_STATUS 226 AnOtherSemanticAnalysisWalkEnd ( 227 ACPI_PARSE_OBJECT *Op, 228 UINT32 Level, 229 void *Context); 230 231 ACPI_STATUS 232 AnOperandTypecheckWalkBegin ( 233 ACPI_PARSE_OBJECT *Op, 234 UINT32 Level, 235 void *Context); 236 237 ACPI_STATUS 238 AnOperandTypecheckWalkEnd ( 239 ACPI_PARSE_OBJECT *Op, 240 UINT32 Level, 241 void *Context); 242 243 ACPI_STATUS 244 AnMethodAnalysisWalkBegin ( 245 ACPI_PARSE_OBJECT *Op, 246 UINT32 Level, 247 void *Context); 248 249 ACPI_STATUS 250 AnMethodAnalysisWalkEnd ( 251 ACPI_PARSE_OBJECT *Op, 252 UINT32 Level, 253 void *Context); 254 255 ACPI_STATUS 256 AnMethodTypingWalkBegin ( 257 ACPI_PARSE_OBJECT *Op, 258 UINT32 Level, 259 void *Context); 260 261 ACPI_STATUS 262 AnMethodTypingWalkEnd ( 263 ACPI_PARSE_OBJECT *Op, 264 UINT32 Level, 265 void *Context); 266 267 268 /* 269 * aslerror - error handling/reporting 270 */ 271 void 272 AslError ( 273 UINT8 Level, 274 UINT8 MessageId, 275 ACPI_PARSE_OBJECT *Op, 276 char *ExtraMessage); 277 278 void 279 AslCoreSubsystemError ( 280 ACPI_PARSE_OBJECT *Op, 281 ACPI_STATUS Status, 282 char *ExtraMessage, 283 BOOLEAN Abort); 284 285 int 286 AslCompilererror( 287 char *s); 288 289 void 290 AslCommonError ( 291 UINT8 Level, 292 UINT8 MessageId, 293 UINT32 CurrentLineNumber, 294 UINT32 LogicalLineNumber, 295 UINT32 LogicalByteOffset, 296 UINT32 Column, 297 char *Filename, 298 char *ExtraMessage); 299 300 void 301 AePrintException ( 302 UINT32 FileId, 303 ASL_ERROR_MSG *Enode, 304 char *Header); 305 306 void 307 AePrintErrorLog ( 308 UINT32 FileId); 309 310 ACPI_STATUS 311 AeLocalGetRootPointer ( 312 UINT32 Flags, 313 ACPI_PHYSICAL_ADDRESS *RsdpPhysicalAddress); 314 315 316 /* 317 * asllisting - generate all "listing" type files 318 */ 319 void 320 LsDoListings ( 321 void); 322 323 void 324 LsWriteNodeToAsmListing ( 325 ACPI_PARSE_OBJECT *Op); 326 327 void 328 LsWriteNode ( 329 ACPI_PARSE_OBJECT *Op, 330 UINT32 FileId); 331 332 void 333 LsDoHexOutput ( 334 void); 335 336 337 /* 338 * aslfold - constant folding 339 */ 340 ACPI_STATUS 341 OpcAmlConstantWalk ( 342 ACPI_PARSE_OBJECT *Op, 343 UINT32 Level, 344 void *Context); 345 346 347 /* 348 * aslopcodes - generate AML opcodes 349 */ 350 ACPI_STATUS 351 OpcAmlOpcodeWalk ( 352 ACPI_PARSE_OBJECT *Op, 353 UINT32 Level, 354 void *Context); 355 356 ACPI_STATUS 357 OpcAmlOpcodeUpdateWalk ( 358 ACPI_PARSE_OBJECT *Op, 359 UINT32 Level, 360 void *Context); 361 362 void 363 OpcGenerateAmlOpcode ( 364 ACPI_PARSE_OBJECT *Op); 365 366 UINT32 367 OpcSetOptimalIntegerSize ( 368 ACPI_PARSE_OBJECT *Op); 369 370 void 371 OpcGetIntegerWidth ( 372 ACPI_PARSE_OBJECT *Op); 373 374 375 /* 376 * asloperands - generate AML operands for the AML opcodes 377 */ 378 ACPI_PARSE_OBJECT * 379 UtGetArg ( 380 ACPI_PARSE_OBJECT *Op, 381 UINT32 Argn); 382 383 void 384 OpnGenerateAmlOperands ( 385 ACPI_PARSE_OBJECT *Op); 386 387 void 388 OpnDoPackage ( 389 ACPI_PARSE_OBJECT *Op); 390 391 392 /* 393 * aslopt - optmization 394 */ 395 void 396 OptOptimizeNamePath ( 397 ACPI_PARSE_OBJECT *Op, 398 UINT32 Flags, 399 ACPI_WALK_STATE *WalkState, 400 char *AmlNameString, 401 ACPI_NAMESPACE_NODE *TargetNode); 402 403 404 /* 405 * aslcodegen - code generation 406 */ 407 void 408 CgGenerateAmlOutput ( 409 void); 410 411 412 /* 413 * asllength - calculate/adjust AML package lengths 414 */ 415 ACPI_STATUS 416 LnPackageLengthWalk ( 417 ACPI_PARSE_OBJECT *Op, 418 UINT32 Level, 419 void *Context); 420 421 ACPI_STATUS 422 LnInitLengthsWalk ( 423 ACPI_PARSE_OBJECT *Op, 424 UINT32 Level, 425 void *Context); 426 427 void 428 CgGenerateAmlLengths ( 429 ACPI_PARSE_OBJECT *Op); 430 431 432 /* 433 * aslmap - opcode mappings and reserved method names 434 */ 435 ACPI_OBJECT_TYPE 436 AslMapNamedOpcodeToDataType ( 437 UINT16 Opcode); 438 439 void 440 MpDisplayReservedNames ( 441 void); 442 443 444 /* 445 * asltransform - parse tree transformations 446 */ 447 ACPI_STATUS 448 TrAmlTransformWalk ( 449 ACPI_PARSE_OBJECT *Op, 450 UINT32 Level, 451 void *Context); 452 453 454 /* 455 * asltree - parse tree support 456 */ 457 ACPI_STATUS 458 TrWalkParseTree ( 459 ACPI_PARSE_OBJECT *Op, 460 UINT32 Visitation, 461 ASL_WALK_CALLBACK DescendingCallback, 462 ASL_WALK_CALLBACK AscendingCallback, 463 void *Context); 464 465 /* Values for "Visitation" parameter above */ 466 467 #define ASL_WALK_VISIT_DOWNWARD 0x01 468 #define ASL_WALK_VISIT_UPWARD 0x02 469 #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD) 470 471 472 ACPI_PARSE_OBJECT * 473 TrAllocateNode ( 474 UINT32 ParseOpcode); 475 476 void 477 TrReleaseNode ( 478 ACPI_PARSE_OBJECT *Op); 479 480 ACPI_PARSE_OBJECT * 481 TrUpdateNode ( 482 UINT32 ParseOpcode, 483 ACPI_PARSE_OBJECT *Op); 484 485 ACPI_PARSE_OBJECT * 486 TrCreateNode ( 487 UINT32 ParseOpcode, 488 UINT32 NumChildren, 489 ...); 490 491 ACPI_PARSE_OBJECT * 492 TrCreateLeafNode ( 493 UINT32 ParseOpcode); 494 495 ACPI_PARSE_OBJECT * 496 TrCreateValuedLeafNode ( 497 UINT32 ParseOpcode, 498 ACPI_INTEGER Value); 499 500 ACPI_PARSE_OBJECT * 501 TrLinkChildren ( 502 ACPI_PARSE_OBJECT *Op, 503 UINT32 NumChildren, 504 ...); 505 506 void 507 TrSetEndLineNumber ( 508 ACPI_PARSE_OBJECT *Op); 509 510 void 511 TrWalkTree ( 512 void); 513 514 ACPI_PARSE_OBJECT * 515 TrLinkPeerNode ( 516 ACPI_PARSE_OBJECT *Op1, 517 ACPI_PARSE_OBJECT *Op2); 518 519 ACPI_PARSE_OBJECT * 520 TrLinkChildNode ( 521 ACPI_PARSE_OBJECT *Op1, 522 ACPI_PARSE_OBJECT *Op2); 523 524 ACPI_PARSE_OBJECT * 525 TrSetNodeFlags ( 526 ACPI_PARSE_OBJECT *Op, 527 UINT32 Flags); 528 529 ACPI_PARSE_OBJECT * 530 TrLinkPeerNodes ( 531 UINT32 NumPeers, 532 ...); 533 534 535 /* 536 * aslfiles - File I/O support 537 */ 538 void 539 AslAbort ( 540 void); 541 542 void 543 FlOpenIncludeFile ( 544 ACPI_PARSE_OBJECT *Op); 545 546 void 547 FlFileError ( 548 UINT32 FileId, 549 UINT8 ErrorId); 550 551 ACPI_STATUS 552 FlReadFile ( 553 UINT32 FileId, 554 void *Buffer, 555 UINT32 Length); 556 557 void 558 FlWriteFile ( 559 UINT32 FileId, 560 void *Buffer, 561 UINT32 Length); 562 563 void 564 FlSeekFile ( 565 UINT32 FileId, 566 long Offset); 567 568 void 569 FlCloseFile ( 570 UINT32 FileId); 571 572 void 573 FlPrintFile ( 574 UINT32 FileId, 575 char *Format, 576 ...); 577 578 void 579 FlSetLineNumber ( 580 ACPI_PARSE_OBJECT *Op); 581 582 ACPI_STATUS 583 FlOpenInputFile ( 584 char *InputFilename); 585 586 ACPI_STATUS 587 FlOpenAmlOutputFile ( 588 char *InputFilename); 589 590 ACPI_STATUS 591 FlOpenMiscOutputFiles ( 592 char *InputFilename); 593 594 595 /* 596 * asload - load namespace in prep for cross reference 597 */ 598 ACPI_STATUS 599 LdLoadNamespace ( 600 ACPI_PARSE_OBJECT *RootOp); 601 602 603 /* 604 * asllookup - namespace cross reference 605 */ 606 ACPI_STATUS 607 LkCrossReferenceNamespace ( 608 void); 609 610 ACPI_STATUS 611 LsDisplayNamespace ( 612 void); 613 614 615 /* 616 * aslutils - common compiler utilites 617 */ 618 void 619 DbgPrint ( 620 UINT32 Type, 621 char *Format, 622 ...); 623 624 /* Type values for above */ 625 626 #define ASL_DEBUG_OUTPUT 0 627 #define ASL_PARSE_OUTPUT 1 628 #define ASL_TREE_OUTPUT 2 629 630 void 631 UtDisplayConstantOpcodes ( 632 void); 633 634 UINT8 635 UtBeginEvent ( 636 char *Name); 637 638 void 639 UtEndEvent ( 640 UINT8 Event); 641 642 void * 643 UtLocalCalloc ( 644 UINT32 Size); 645 646 void 647 UtPrintFormattedName ( 648 UINT16 ParseOpcode, 649 UINT32 Level); 650 651 void 652 UtDisplaySummary ( 653 UINT32 FileId); 654 655 UINT8 656 UtHexCharToValue ( 657 int HexChar); 658 659 void 660 UtConvertByteToHex ( 661 UINT8 RawByte, 662 UINT8 *Buffer); 663 664 void 665 UtConvertByteToAsmHex ( 666 UINT8 RawByte, 667 UINT8 *Buffer); 668 669 char * 670 UtGetOpName ( 671 UINT32 ParseOpcode); 672 673 void 674 UtSetParseOpName ( 675 ACPI_PARSE_OBJECT *Op); 676 677 char * 678 UtGetStringBuffer ( 679 UINT32 Length); 680 681 ACPI_STATUS 682 UtInternalizeName ( 683 char *ExternalName, 684 char **ConvertedName); 685 686 void 687 UtAttachNamepathToOwner ( 688 ACPI_PARSE_OBJECT *Op, 689 ACPI_PARSE_OBJECT *NameNode); 690 691 ACPI_PARSE_OBJECT * 692 UtCheckIntegerRange ( 693 ACPI_PARSE_OBJECT *Op, 694 UINT32 LowValue, 695 UINT32 HighValue); 696 697 ACPI_INTEGER 698 UtDoConstant ( 699 char *String); 700 701 702 /* 703 * aslresource - Resource template generation utilities 704 */ 705 ASL_RESOURCE_NODE * 706 RsAllocateResourceNode ( 707 UINT32 Size); 708 709 void 710 RsCreateBitField ( 711 ACPI_PARSE_OBJECT *Op, 712 char *Name, 713 UINT32 ByteOffset, 714 UINT32 BitOffset); 715 716 void 717 RsCreateByteField ( 718 ACPI_PARSE_OBJECT *Op, 719 char *Name, 720 UINT32 ByteOffset); 721 722 void 723 RsSetFlagBits ( 724 UINT8 *Flags, 725 ACPI_PARSE_OBJECT *Op, 726 UINT8 Position, 727 UINT8 DefaultBit); 728 729 ACPI_PARSE_OBJECT * 730 RsCompleteNodeAndGetNext ( 731 ACPI_PARSE_OBJECT *Op); 732 733 void 734 RsCheckListForDuplicates ( 735 ACPI_PARSE_OBJECT *Op); 736 737 ASL_RESOURCE_NODE * 738 RsDoOneResourceDescriptor ( 739 ACPI_PARSE_OBJECT *DescriptorTypeOp, 740 UINT32 CurrentByteOffset, 741 UINT8 *State); 742 743 /* Values for State above */ 744 745 #define ACPI_RSTATE_NORMAL 0 746 #define ACPI_RSTATE_START_DEPENDENT 1 747 #define ACPI_RSTATE_DEPENDENT_LIST 2 748 749 UINT32 750 RsLinkDescriptorChain ( 751 ASL_RESOURCE_NODE **PreviousRnode, 752 ASL_RESOURCE_NODE *Rnode); 753 754 void 755 RsDoResourceTemplate ( 756 ACPI_PARSE_OBJECT *Op); 757 758 759 /* 760 * aslrestype1 - generate Small descriptors 761 */ 762 ASL_RESOURCE_NODE * 763 RsDoDmaDescriptor ( 764 ACPI_PARSE_OBJECT *Op, 765 UINT32 CurrentByteOffset); 766 767 ASL_RESOURCE_NODE * 768 RsDoEndDependentDescriptor ( 769 ACPI_PARSE_OBJECT *Op, 770 UINT32 CurrentByteOffset); 771 772 ASL_RESOURCE_NODE * 773 RsDoFixedIoDescriptor ( 774 ACPI_PARSE_OBJECT *Op, 775 UINT32 CurrentByteOffset); 776 777 ASL_RESOURCE_NODE * 778 RsDoIoDescriptor ( 779 ACPI_PARSE_OBJECT *Op, 780 UINT32 CurrentByteOffset); 781 782 ASL_RESOURCE_NODE * 783 RsDoIrqDescriptor ( 784 ACPI_PARSE_OBJECT *Op, 785 UINT32 CurrentByteOffset); 786 787 ASL_RESOURCE_NODE * 788 RsDoIrqNoFlagsDescriptor ( 789 ACPI_PARSE_OBJECT *Op, 790 UINT32 CurrentByteOffset); 791 792 ASL_RESOURCE_NODE * 793 RsDoMemory24Descriptor ( 794 ACPI_PARSE_OBJECT *Op, 795 UINT32 CurrentByteOffset); 796 797 ASL_RESOURCE_NODE * 798 RsDoMemory32Descriptor ( 799 ACPI_PARSE_OBJECT *Op, 800 UINT32 CurrentByteOffset); 801 802 ASL_RESOURCE_NODE * 803 RsDoMemory32FixedDescriptor ( 804 ACPI_PARSE_OBJECT *Op, 805 UINT32 CurrentByteOffset); 806 807 ASL_RESOURCE_NODE * 808 RsDoStartDependentDescriptor ( 809 ACPI_PARSE_OBJECT *Op, 810 UINT32 CurrentByteOffset); 811 812 ASL_RESOURCE_NODE * 813 RsDoStartDependentNoPriDescriptor ( 814 ACPI_PARSE_OBJECT *Op, 815 UINT32 CurrentByteOffset); 816 817 ASL_RESOURCE_NODE * 818 RsDoVendorSmallDescriptor ( 819 ACPI_PARSE_OBJECT *Op, 820 UINT32 CurrentByteOffset); 821 822 823 /* 824 * aslrestype2 - generate Large descriptors 825 */ 826 ASL_RESOURCE_NODE * 827 RsDoInterruptDescriptor ( 828 ACPI_PARSE_OBJECT *Op, 829 UINT32 CurrentByteOffset); 830 831 ASL_RESOURCE_NODE * 832 RsDoDwordIoDescriptor ( 833 ACPI_PARSE_OBJECT *Op, 834 UINT32 CurrentByteOffset); 835 836 ASL_RESOURCE_NODE * 837 RsDoDwordMemoryDescriptor ( 838 ACPI_PARSE_OBJECT *Op, 839 UINT32 CurrentByteOffset); 840 841 ASL_RESOURCE_NODE * 842 RsDoDwordSpaceDescriptor ( 843 ACPI_PARSE_OBJECT *Op, 844 UINT32 CurrentByteOffset); 845 846 ASL_RESOURCE_NODE * 847 RsDoExtendedIoDescriptor ( 848 ACPI_PARSE_OBJECT *Op, 849 UINT32 CurrentByteOffset); 850 851 ASL_RESOURCE_NODE * 852 RsDoExtendedMemoryDescriptor ( 853 ACPI_PARSE_OBJECT *Op, 854 UINT32 CurrentByteOffset); 855 856 ASL_RESOURCE_NODE * 857 RsDoExtendedSpaceDescriptor ( 858 ACPI_PARSE_OBJECT *Op, 859 UINT32 CurrentByteOffset); 860 861 ASL_RESOURCE_NODE * 862 RsDoQwordIoDescriptor ( 863 ACPI_PARSE_OBJECT *Op, 864 UINT32 CurrentByteOffset); 865 866 ASL_RESOURCE_NODE * 867 RsDoQwordMemoryDescriptor ( 868 ACPI_PARSE_OBJECT *Op, 869 UINT32 CurrentByteOffset); 870 871 ASL_RESOURCE_NODE * 872 RsDoQwordSpaceDescriptor ( 873 ACPI_PARSE_OBJECT *Op, 874 UINT32 CurrentByteOffset); 875 876 ASL_RESOURCE_NODE * 877 RsDoWordIoDescriptor ( 878 ACPI_PARSE_OBJECT *Op, 879 UINT32 CurrentByteOffset); 880 881 ASL_RESOURCE_NODE * 882 RsDoWordSpaceDescriptor ( 883 ACPI_PARSE_OBJECT *Op, 884 UINT32 CurrentByteOffset); 885 886 ASL_RESOURCE_NODE * 887 RsDoWordBusNumberDescriptor ( 888 ACPI_PARSE_OBJECT *Op, 889 UINT32 CurrentByteOffset); 890 891 ASL_RESOURCE_NODE * 892 RsDoVendorLargeDescriptor ( 893 ACPI_PARSE_OBJECT *Op, 894 UINT32 CurrentByteOffset); 895 896 ASL_RESOURCE_NODE * 897 RsDoGeneralRegisterDescriptor ( 898 ACPI_PARSE_OBJECT *Op, 899 UINT32 CurrentByteOffset); 900 901 #endif /* __ASLCOMPILER_H */ 902 903