1 /******************************************************************************
3 * Module Name: aslcompiler.h - common include file for iASL
5 *****************************************************************************/
7 /******************************************************************************
11 * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
12 * All rights reserved.
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
37 * The above copyright and patent license is granted only if the following
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
72 * 3.4. Intel retains all right, title, and interest in and to the Original
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
80 * 4. Disclaimer and Export Compliance
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
114 *****************************************************************************
116 * Alternatively, you may choose to be licensed under the terms of the
119 * Redistribution and use in source and binary forms, with or without
120 * modification, are permitted provided that the following conditions
122 * 1. Redistributions of source code must retain the above copyright
123 * notice, this list of conditions, and the following disclaimer,
124 * without modification.
125 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126 * substantially similar to the "NO WARRANTY" disclaimer below
127 * ("Disclaimer") and any redistribution must be conditioned upon
128 * including a substantially similar Disclaimer requirement for further
129 * binary redistribution.
130 * 3. Neither the names of the above-listed copyright holders nor the names
131 * of any contributors may be used to endorse or promote products derived
132 * from this software without specific prior written permission.
134 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
146 * Alternatively, you may choose to be licensed under the terms of the
147 * GNU General Public License ("GPL") version 2 as published by the Free
148 * Software Foundation.
150 *****************************************************************************/
152 #ifndef __ASLCOMPILER_H
153 #define __ASLCOMPILER_H
156 #include "accommon.h"
157 #include "amlresrc.h"
160 /* Microsoft-specific */
162 #if (defined WIN32 || defined WIN64)
164 /* warn : used #pragma pack */
165 #pragma warning(disable:4103)
167 /* warn : named type definition in parentheses */
168 #pragma warning(disable:4115)
177 /* Compiler headers */
179 #include "asldefine.h"
180 #include "asltypes.h"
181 #include "aslmessages.h"
182 #include "aslglobal.h"
183 #include "preprocess.h"
184 #include "dtcompiler.h"
187 /*******************************************************************************
189 * Compiler prototypes
191 ******************************************************************************/
194 * Main ASL parser - generated from flex/bison, lex/yacc, etc.
205 AslResetCurrentLineBuffer (
209 AslInsertLineBuffer (
213 AslPopInputFileStack (
217 AslPushInputFileStack (
227 * aslstartup - entered from main()
230 AslInitializeGlobals (
234 ACPI_STATUS (*ASL_PATHNAME_CALLBACK
) (
242 AslCheckForErrorExit (
247 * aslcompile - compile mainline
254 AslCompilerFileHeader (
271 * aslallocate - memory allocation
278 UtExpandLineBuffers (
282 UtReallocLineBuffers (
293 * aslcache - local cache support
300 UtParseOpCacheCalloc (
304 UtSubtableCacheCalloc (
312 UtDeleteLocalCaches (
317 * aslascii - ascii support
320 FlIsFileAsciiSource (
322 BOOLEAN DisplayErrors
);
326 * aslwalks - semantic analysis and parse tree walks
329 AnOtherSemanticAnalysisWalkBegin (
330 ACPI_PARSE_OBJECT
*Op
,
335 AnOtherSemanticAnalysisWalkEnd (
336 ACPI_PARSE_OBJECT
*Op
,
341 AnOperandTypecheckWalkEnd (
342 ACPI_PARSE_OBJECT
*Op
,
347 AnMethodTypingWalkEnd (
348 ACPI_PARSE_OBJECT
*Op
,
354 * aslmethod - Control method analysis walk
357 MtMethodAnalysisWalkBegin (
358 ACPI_PARSE_OBJECT
*Op
,
363 MtMethodAnalysisWalkEnd (
364 ACPI_PARSE_OBJECT
*Op
,
370 * aslbtypes - bitfield data types
373 AnMapObjTypeToBtype (
374 ACPI_PARSE_OBJECT
*Op
);
377 AnMapArgTypeToBtype (
382 ACPI_PARSE_OBJECT
*Op
);
391 * aslanalyze - Support functions for parse tree walks
395 ACPI_PARSE_OBJECT
*Op
,
398 /* Values for Type argument above */
400 #define ASL_TYPE_HID 0
401 #define ASL_TYPE_CID 1
405 ACPI_PARSE_OBJECT
*Op
);
408 AnGetInternalMethodReturnType (
409 ACPI_PARSE_OBJECT
*Op
);
412 AnLastStatementIsReturn (
413 ACPI_PARSE_OBJECT
*Op
);
416 AnCheckMethodReturnValue (
417 ACPI_PARSE_OBJECT
*Op
,
418 const ACPI_OPCODE_INFO
*OpInfo
,
419 ACPI_PARSE_OBJECT
*ArgOp
,
420 UINT32 RequiredBtypes
,
421 UINT32 ThisNodeBtype
);
425 ACPI_PARSE_OBJECT
*Op
);
428 ApCheckForGpeNameConflict (
429 ACPI_PARSE_OBJECT
*Op
);
433 ACPI_PARSE_OBJECT
*Op
);
438 ACPI_PARSE_OBJECT
*Op
);
441 ApFindNameInDeviceTree (
443 ACPI_PARSE_OBJECT
*Op
);
446 * aslerror - error handling/reporting
453 AslDualParseOpError (
455 UINT16 MainMessageId
,
456 ACPI_PARSE_OBJECT
*MainOp
,
458 UINT16 SecondMessageId
,
459 ACPI_PARSE_OBJECT
*SecondOp
,
460 char *SecondaryMessage
);
466 ACPI_PARSE_OBJECT
*Op
,
470 AslCheckExpectedExceptions (
475 char *MessageIdString
);
478 AslElevateException (
479 char *MessageIdString
);
482 AslDisableException (
483 char *MessageIdString
);
486 AslIsExceptionIgnored (
491 AslCoreSubsystemError (
492 ACPI_PARSE_OBJECT
*Op
,
505 UINT32 CurrentLineNumber
,
506 UINT32 LogicalLineNumber
,
507 UINT32 LogicalByteOffset
,
525 ASL_ERROR_MSG
*Enode
,
538 * asllisting - generate all "listing" type files
545 LsWriteNodeToAsmListing (
546 ACPI_PARSE_OBJECT
*Op
);
550 ACPI_PARSE_OBJECT
*Op
,
559 * asllistsup - Listing file support utilities
568 LsDumpAsciiInComment (
579 LsFlushListingBuffer (
583 LsWriteListingHexBytes (
591 UINT32 ToLogicalLineNumber
,
595 LsWriteOneSourceLine (
608 * aslhex - generate all "hex" output files (C, ASM, ASL)
616 * aslfold - constant folding
620 ACPI_PARSE_OBJECT
*Op
,
626 * aslmessages - exception strings
633 AeDecodeExceptionLevel (
637 AeBuildFullExceptionCode (
642 * asloffset - generate C offset file for BIOS support
646 ACPI_PARSE_OBJECT
*Op
,
651 LsDoOffsetTableHeader (
655 LsDoOffsetTableFooter (
660 * aslopcodes - generate AML opcodes
664 ACPI_PARSE_OBJECT
*Op
,
669 OpcAmlOpcodeUpdateWalk (
670 ACPI_PARSE_OBJECT
*Op
,
675 OpcGenerateAmlOpcode (
676 ACPI_PARSE_OBJECT
*Op
);
679 OpcSetOptimalIntegerSize (
680 ACPI_PARSE_OBJECT
*Op
);
684 ACPI_PARSE_OBJECT
*Op
);
688 * asloperands - generate AML operands for the AML opcodes
692 ACPI_PARSE_OBJECT
*Op
,
696 OpnGenerateAmlOperands (
697 ACPI_PARSE_OBJECT
*Op
);
701 ACPI_PARSE_OBJECT
*Op
);
705 * aslopt - optmization
708 OptOptimizeNamePath (
709 ACPI_PARSE_OBJECT
*Op
,
711 ACPI_WALK_STATE
*WalkState
,
713 ACPI_NAMESPACE_NODE
*TargetNode
);
717 * aslpld - ToPLD macro support
721 ACPI_PARSE_OBJECT
*Op
);
725 * aslprintf - Printf/Fprintf macros
729 ACPI_PARSE_OBJECT
*Op
);
733 ACPI_PARSE_OBJECT
*Op
);
737 * aslprune - parse tree pruner
746 * aslcodegen - code generation
749 CgGenerateAmlOutput (
753 CgLocalWriteAmlData (
754 ACPI_PARSE_OBJECT
*Op
,
770 * asllength - calculate/adjust AML package lengths
773 LnPackageLengthWalk (
774 ACPI_PARSE_OBJECT
*Op
,
780 ACPI_PARSE_OBJECT
*Op
,
785 CgGenerateAmlLengths (
786 ACPI_PARSE_OBJECT
*Op
);
790 * aslmap - opcode mappings and reserved method names
793 AslMapNamedOpcodeToDataType (
798 * aslpredef - ACPI predefined names support
801 ApCheckForPredefinedMethod (
802 ACPI_PARSE_OBJECT
*Op
,
803 ASL_METHOD_INFO
*MethodInfo
);
806 ApCheckPredefinedReturnValue (
807 ACPI_PARSE_OBJECT
*Op
,
808 ASL_METHOD_INFO
*MethodInfo
);
811 ApCheckForPredefinedName (
812 ACPI_PARSE_OBJECT
*Op
,
816 ApCheckForPredefinedObject (
817 ACPI_PARSE_OBJECT
*Op
,
822 const char *PredefinedName
,
823 ACPI_PARSE_OBJECT
*Op
,
824 UINT32 ExpectedBtypes
,
825 UINT32 PackageIndex
);
828 ApDisplayReservedNames (
833 * aslprepkg - ACPI predefined names support for packages
837 ACPI_PARSE_OBJECT
*ParentOp
,
838 const ACPI_PREDEFINED_INFO
*Predefined
);
842 * asltransform - parse tree transformations
845 TrAmlTransformWalkBegin (
846 ACPI_PARSE_OBJECT
*Op
,
851 TrAmlTransformWalkEnd (
852 ACPI_PARSE_OBJECT
*Op
,
858 * aslexternal - External opcode support
861 ExAmlExternalWalkBegin (
862 ACPI_PARSE_OBJECT
*Op
,
867 ExAmlExternalWalkEnd (
868 ACPI_PARSE_OBJECT
*Op
,
874 ACPI_PARSE_OBJECT
*Op
);
876 /* Values for "Visitation" parameter above */
878 #define ASL_WALK_VISIT_DOWNWARD 0x01
879 #define ASL_WALK_VISIT_UPWARD 0x02
880 #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
884 * aslparseop.c - Parse op create/allocate/cache
897 TrCreateNullTargetOp (
901 TrCreateAssignmentOp (
902 ACPI_PARSE_OBJECT
*Target
,
903 ACPI_PARSE_OBJECT
*Source
);
907 ACPI_PARSE_OBJECT
*OriginalOp
,
908 ACPI_PARSE_OBJECT
*ParentOp
);
911 TrCreateValuedLeafOp (
916 TrCreateConstantLeafOp (
930 * asltree.c - Parse tree management
934 ACPI_PARSE_OBJECT
*Op
,
935 ACPI_PARSE_OBJECT
*ParentOp
);
938 TrSetOpIntegerValue (
940 ACPI_PARSE_OBJECT
*Op
);
943 TrSetOpEndLineNumber (
944 ACPI_PARSE_OBJECT
*Op
);
947 TrSetOpCurrentFilename (
948 ACPI_PARSE_OBJECT
*Op
);
951 TrSetOpIntegerWidth (
952 ACPI_PARSE_OBJECT
*TableSignature
,
953 ACPI_PARSE_OBJECT
*Revision
);
957 ACPI_PARSE_OBJECT
*Op
,
963 ACPI_PARSE_OBJECT
*Op1
,
964 ACPI_PARSE_OBJECT
*Op2
);
968 ACPI_PARSE_OBJECT
*Op1
,
969 ACPI_PARSE_OBJECT
*Op2
);
973 ACPI_PARSE_OBJECT
*Op
,
978 ACPI_PARSE_OBJECT
*Op
,
988 ACPI_PARSE_OBJECT
*Op
,
990 ASL_WALK_CALLBACK DescendingCallback
,
991 ASL_WALK_CALLBACK AscendingCallback
,
996 * aslfiles - File I/O support
999 FlAddIncludeDirectory (
1005 char *FilePathname
);
1009 ACPI_PARSE_OBJECT
*Op
);
1061 char *InputFilename
);
1064 FlOpenAmlOutputFile (
1065 char *InputFilename
);
1068 FlOpenMiscOutputFiles (
1069 char *InputFilename
);
1072 * aslhwmap - hardware map summary
1080 * asload - load namespace in prep for cross reference
1084 ACPI_PARSE_OBJECT
*RootOp
);
1088 * asllookup - namespace lookup functions
1091 LkFindUnreferencedObjects (
1095 * aslhelp - help screens
1106 AslDisassemblyHelp (
1111 * aslnamesp - namespace output file generation
1114 NsDisplayNamespace (
1118 NsSetupNamespaceListing (
1122 * asloptions - command line processing
1130 * aslxref - namespace cross reference
1133 XfCrossReferenceNamespace (
1150 ACPI_PARSE_OBJECT
*Op
,
1152 ASL_METHOD_INFO
*MethodInfo
);
1156 * aslutils - common compiler utilites
1164 /* Type values for above */
1166 #define ASL_DEBUG_OUTPUT 0
1167 #define ASL_PARSE_OUTPUT 1
1168 #define ASL_TREE_OUTPUT 2
1171 UtIsBigEndianMachine (
1175 UtQueryForOverwrite (
1180 ACPI_PARSE_OBJECT
*Op
,
1185 ACPI_PARSE_OBJECT
*Op
,
1187 UINT32 IntegerLength
);
1191 ACPI_PARSE_OBJECT
*Op
,
1196 ACPI_NAMESPACE_NODE
*Node
);
1199 UtNodeIsDescendantOf (
1200 ACPI_NAMESPACE_NODE
*Node1
,
1201 ACPI_NAMESPACE_NODE
*Node2
);
1204 UtDisplaySupportedTables (
1208 UtDisplayConstantOpcodes (
1224 UtConvertByteToHex (
1229 UtConvertByteToAsmHex (
1235 UINT32 ParseOpcode
);
1239 ACPI_PARSE_OBJECT
*Op
);
1244 char **ConvertedName
);
1247 UtAttachNamepathToOwner (
1248 ACPI_PARSE_OBJECT
*Op
,
1249 ACPI_PARSE_OBJECT
*NameNode
);
1252 UtCheckIntegerRange (
1253 ACPI_PARSE_OBJECT
*Op
,
1263 * asluuid - UUID support
1270 AuConvertUuidToString (
1275 * aslresource - Resource template generation utilities
1278 RsSmallAddressCheck (
1284 ACPI_PARSE_OBJECT
*MinOp
,
1285 ACPI_PARSE_OBJECT
*MaxOp
,
1286 ACPI_PARSE_OBJECT
*LengthOp
,
1287 ACPI_PARSE_OBJECT
*AlignOp
,
1288 ACPI_PARSE_OBJECT
*Op
);
1291 RsLargeAddressCheck (
1297 ACPI_PARSE_OBJECT
*MinOp
,
1298 ACPI_PARSE_OBJECT
*MaxOp
,
1299 ACPI_PARSE_OBJECT
*LengthOp
,
1300 ACPI_PARSE_OBJECT
*GranOp
,
1301 ACPI_PARSE_OBJECT
*Op
);
1304 RsGetStringDataLength (
1305 ACPI_PARSE_OBJECT
*InitializerOp
);
1308 RsAllocateResourceNode (
1312 RsCreateResourceField (
1313 ACPI_PARSE_OBJECT
*Op
,
1322 ACPI_PARSE_OBJECT
*Op
,
1329 ACPI_PARSE_OBJECT
*Op
,
1334 RsCompleteNodeAndGetNext (
1335 ACPI_PARSE_OBJECT
*Op
);
1338 RsCheckListForDuplicates (
1339 ACPI_PARSE_OBJECT
*Op
);
1342 RsDoOneResourceDescriptor (
1343 ASL_RESOURCE_INFO
*Info
,
1346 /* Values for State above */
1348 #define ACPI_RSTATE_NORMAL 0
1349 #define ACPI_RSTATE_START_DEPENDENT 1
1350 #define ACPI_RSTATE_DEPENDENT_LIST 2
1353 RsLinkDescriptorChain (
1354 ASL_RESOURCE_NODE
**PreviousRnode
,
1355 ASL_RESOURCE_NODE
*Rnode
);
1358 RsDoResourceTemplate (
1359 ACPI_PARSE_OBJECT
*Op
);
1363 * aslrestype1 - Miscellaneous Small descriptors
1366 RsDoEndTagDescriptor (
1367 ASL_RESOURCE_INFO
*Info
);
1370 RsDoEndDependentDescriptor (
1371 ASL_RESOURCE_INFO
*Info
);
1374 RsDoMemory24Descriptor (
1375 ASL_RESOURCE_INFO
*Info
);
1378 RsDoMemory32Descriptor (
1379 ASL_RESOURCE_INFO
*Info
);
1382 RsDoMemory32FixedDescriptor (
1383 ASL_RESOURCE_INFO
*Info
);
1386 RsDoStartDependentDescriptor (
1387 ASL_RESOURCE_INFO
*Info
);
1390 RsDoStartDependentNoPriDescriptor (
1391 ASL_RESOURCE_INFO
*Info
);
1394 RsDoVendorSmallDescriptor (
1395 ASL_RESOURCE_INFO
*Info
);
1399 * aslrestype1i - I/O-related Small descriptors
1403 ASL_RESOURCE_INFO
*Info
);
1406 RsDoFixedDmaDescriptor (
1407 ASL_RESOURCE_INFO
*Info
);
1410 RsDoFixedIoDescriptor (
1411 ASL_RESOURCE_INFO
*Info
);
1415 ASL_RESOURCE_INFO
*Info
);
1419 ASL_RESOURCE_INFO
*Info
);
1422 RsDoIrqNoFlagsDescriptor (
1423 ASL_RESOURCE_INFO
*Info
);
1427 * aslrestype2 - Large resource descriptors
1430 RsDoInterruptDescriptor (
1431 ASL_RESOURCE_INFO
*Info
);
1434 RsDoVendorLargeDescriptor (
1435 ASL_RESOURCE_INFO
*Info
);
1438 RsDoGeneralRegisterDescriptor (
1439 ASL_RESOURCE_INFO
*Info
);
1442 RsDoGpioIntDescriptor (
1443 ASL_RESOURCE_INFO
*Info
);
1446 RsDoGpioIoDescriptor (
1447 ASL_RESOURCE_INFO
*Info
);
1450 RsDoI2cSerialBusDescriptor (
1451 ASL_RESOURCE_INFO
*Info
);
1454 RsDoSpiSerialBusDescriptor (
1455 ASL_RESOURCE_INFO
*Info
);
1458 RsDoUartSerialBusDescriptor (
1459 ASL_RESOURCE_INFO
*Info
);
1462 RsDoPinFunctionDescriptor (
1463 ASL_RESOURCE_INFO
*Info
);
1466 RsDoPinConfigDescriptor (
1467 ASL_RESOURCE_INFO
*Info
);
1470 RsDoPinGroupDescriptor (
1471 ASL_RESOURCE_INFO
*Info
);
1474 RsDoPinGroupFunctionDescriptor (
1475 ASL_RESOURCE_INFO
*Info
);
1478 RsDoPinGroupConfigDescriptor (
1479 ASL_RESOURCE_INFO
*Info
);
1482 * aslrestype2d - DWord address descriptors
1485 RsDoDwordIoDescriptor (
1486 ASL_RESOURCE_INFO
*Info
);
1489 RsDoDwordMemoryDescriptor (
1490 ASL_RESOURCE_INFO
*Info
);
1493 RsDoDwordSpaceDescriptor (
1494 ASL_RESOURCE_INFO
*Info
);
1498 * aslrestype2e - Extended address descriptors
1501 RsDoExtendedIoDescriptor (
1502 ASL_RESOURCE_INFO
*Info
);
1505 RsDoExtendedMemoryDescriptor (
1506 ASL_RESOURCE_INFO
*Info
);
1509 RsDoExtendedSpaceDescriptor (
1510 ASL_RESOURCE_INFO
*Info
);
1514 * aslrestype2q - QWord address descriptors
1517 RsDoQwordIoDescriptor (
1518 ASL_RESOURCE_INFO
*Info
);
1521 RsDoQwordMemoryDescriptor (
1522 ASL_RESOURCE_INFO
*Info
);
1525 RsDoQwordSpaceDescriptor (
1526 ASL_RESOURCE_INFO
*Info
);
1530 * aslrestype2w - Word address descriptors
1533 RsDoWordIoDescriptor (
1534 ASL_RESOURCE_INFO
*Info
);
1537 RsDoWordSpaceDescriptor (
1538 ASL_RESOURCE_INFO
*Info
);
1541 RsDoWordBusNumberDescriptor (
1542 ASL_RESOURCE_INFO
*Info
);
1546 * Entry to data table compiler subsystem
1558 * ASL/ASL+ converter debug
1566 #endif /* __ASLCOMPILER_H */