ahaslops.c revision 1.1.1.14 1 1.1 jruoho /******************************************************************************
2 1.1 jruoho *
3 1.1 jruoho * Module Name: ahaslops - Table of all known ASL operators
4 1.1 jruoho *
5 1.1 jruoho *****************************************************************************/
6 1.1 jruoho
7 1.1.1.14 christos /******************************************************************************
8 1.1.1.14 christos *
9 1.1.1.14 christos * 1. Copyright Notice
10 1.1.1.14 christos *
11 1.1.1.14 christos * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
12 1.1 jruoho * All rights reserved.
13 1.1 jruoho *
14 1.1.1.14 christos * 2. License
15 1.1.1.14 christos *
16 1.1.1.14 christos * 2.1. This is your license from Intel Corp. under its intellectual property
17 1.1.1.14 christos * rights. You may have additional license terms from the party that provided
18 1.1.1.14 christos * you this software, covering your right to use that party's intellectual
19 1.1.1.14 christos * property rights.
20 1.1.1.14 christos *
21 1.1.1.14 christos * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 1.1.1.14 christos * copy of the source code appearing in this file ("Covered Code") an
23 1.1.1.14 christos * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 1.1.1.14 christos * base code distributed originally by Intel ("Original Intel Code") to copy,
25 1.1.1.14 christos * make derivatives, distribute, use and display any portion of the Covered
26 1.1.1.14 christos * Code in any form, with the right to sublicense such rights; and
27 1.1.1.14 christos *
28 1.1.1.14 christos * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 1.1.1.14 christos * license (with the right to sublicense), under only those claims of Intel
30 1.1.1.14 christos * patents that are infringed by the Original Intel Code, to make, use, sell,
31 1.1.1.14 christos * offer to sell, and import the Covered Code and derivative works thereof
32 1.1.1.14 christos * solely to the minimum extent necessary to exercise the above copyright
33 1.1.1.14 christos * license, and in no event shall the patent license extend to any additions
34 1.1.1.14 christos * to or modifications of the Original Intel Code. No other license or right
35 1.1.1.14 christos * is granted directly or by implication, estoppel or otherwise;
36 1.1.1.14 christos *
37 1.1.1.14 christos * The above copyright and patent license is granted only if the following
38 1.1.1.14 christos * conditions are met:
39 1.1.1.14 christos *
40 1.1.1.14 christos * 3. Conditions
41 1.1.1.14 christos *
42 1.1.1.14 christos * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 1.1.1.14 christos * Redistribution of source code of any substantial portion of the Covered
44 1.1.1.14 christos * Code or modification with rights to further distribute source must include
45 1.1.1.14 christos * the above Copyright Notice, the above License, this list of Conditions,
46 1.1.1.14 christos * and the following Disclaimer and Export Compliance provision. In addition,
47 1.1.1.14 christos * Licensee must cause all Covered Code to which Licensee contributes to
48 1.1.1.14 christos * contain a file documenting the changes Licensee made to create that Covered
49 1.1.1.14 christos * Code and the date of any change. Licensee must include in that file the
50 1.1.1.14 christos * documentation of any changes made by any predecessor Licensee. Licensee
51 1.1.1.14 christos * must include a prominent statement that the modification is derived,
52 1.1.1.14 christos * directly or indirectly, from Original Intel Code.
53 1.1.1.14 christos *
54 1.1.1.14 christos * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 1.1.1.14 christos * Redistribution of source code of any substantial portion of the Covered
56 1.1.1.14 christos * Code or modification without rights to further distribute source must
57 1.1.1.14 christos * include the following Disclaimer and Export Compliance provision in the
58 1.1.1.14 christos * documentation and/or other materials provided with distribution. In
59 1.1.1.14 christos * addition, Licensee may not authorize further sublicense of source of any
60 1.1.1.14 christos * portion of the Covered Code, and must include terms to the effect that the
61 1.1.1.14 christos * license from Licensee to its licensee is limited to the intellectual
62 1.1.1.14 christos * property embodied in the software Licensee provides to its licensee, and
63 1.1.1.14 christos * not to intellectual property embodied in modifications its licensee may
64 1.1.1.14 christos * make.
65 1.1.1.14 christos *
66 1.1.1.14 christos * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 1.1.1.14 christos * substantial portion of the Covered Code or modification must reproduce the
68 1.1.1.14 christos * above Copyright Notice, and the following Disclaimer and Export Compliance
69 1.1.1.14 christos * provision in the documentation and/or other materials provided with the
70 1.1.1.14 christos * distribution.
71 1.1.1.14 christos *
72 1.1.1.14 christos * 3.4. Intel retains all right, title, and interest in and to the Original
73 1.1.1.14 christos * Intel Code.
74 1.1.1.14 christos *
75 1.1.1.14 christos * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 1.1.1.14 christos * Intel shall be used in advertising or otherwise to promote the sale, use or
77 1.1.1.14 christos * other dealings in products derived from or relating to the Covered Code
78 1.1.1.14 christos * without prior written authorization from Intel.
79 1.1.1.14 christos *
80 1.1.1.14 christos * 4. Disclaimer and Export Compliance
81 1.1.1.14 christos *
82 1.1.1.14 christos * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 1.1.1.14 christos * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 1.1.1.14 christos * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 1.1.1.14 christos * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 1.1.1.14 christos * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 1.1.1.14 christos * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88 1.1.1.14 christos * PARTICULAR PURPOSE.
89 1.1.1.14 christos *
90 1.1.1.14 christos * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 1.1.1.14 christos * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 1.1.1.14 christos * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 1.1.1.14 christos * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 1.1.1.14 christos * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 1.1.1.14 christos * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 1.1.1.14 christos * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97 1.1.1.14 christos * LIMITED REMEDY.
98 1.1.1.14 christos *
99 1.1.1.14 christos * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 1.1.1.14 christos * software or system incorporating such software without first obtaining any
101 1.1.1.14 christos * required license or other approval from the U. S. Department of Commerce or
102 1.1.1.14 christos * any other agency or department of the United States Government. In the
103 1.1.1.14 christos * event Licensee exports any such software from the United States or
104 1.1.1.14 christos * re-exports any such software from a foreign destination, Licensee shall
105 1.1.1.14 christos * ensure that the distribution and export/re-export of the software is in
106 1.1.1.14 christos * compliance with all laws, regulations, orders, or other restrictions of the
107 1.1.1.14 christos * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 1.1.1.14 christos * any of its subsidiaries will export/re-export any technical data, process,
109 1.1.1.14 christos * software, or service, directly or indirectly, to any country for which the
110 1.1.1.14 christos * United States government or any agency thereof requires an export license,
111 1.1.1.14 christos * other governmental approval, or letter of assurance, without first obtaining
112 1.1.1.14 christos * such license, approval or letter.
113 1.1.1.14 christos *
114 1.1.1.14 christos *****************************************************************************
115 1.1.1.14 christos *
116 1.1.1.14 christos * Alternatively, you may choose to be licensed under the terms of the
117 1.1.1.14 christos * following license:
118 1.1.1.14 christos *
119 1.1 jruoho * Redistribution and use in source and binary forms, with or without
120 1.1 jruoho * modification, are permitted provided that the following conditions
121 1.1 jruoho * are met:
122 1.1 jruoho * 1. Redistributions of source code must retain the above copyright
123 1.1 jruoho * notice, this list of conditions, and the following disclaimer,
124 1.1 jruoho * without modification.
125 1.1 jruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126 1.1 jruoho * substantially similar to the "NO WARRANTY" disclaimer below
127 1.1 jruoho * ("Disclaimer") and any redistribution must be conditioned upon
128 1.1 jruoho * including a substantially similar Disclaimer requirement for further
129 1.1 jruoho * binary redistribution.
130 1.1 jruoho * 3. Neither the names of the above-listed copyright holders nor the names
131 1.1 jruoho * of any contributors may be used to endorse or promote products derived
132 1.1 jruoho * from this software without specific prior written permission.
133 1.1 jruoho *
134 1.1 jruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135 1.1 jruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136 1.1.1.11 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137 1.1 jruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138 1.1.1.14 christos * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139 1.1.1.14 christos * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140 1.1.1.14 christos * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141 1.1.1.14 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142 1.1.1.14 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143 1.1.1.14 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144 1.1.1.14 christos * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145 1.1.1.14 christos *
146 1.1.1.14 christos * Alternatively, you may choose to be licensed under the terms of the
147 1.1.1.14 christos * GNU General Public License ("GPL") version 2 as published by the Free
148 1.1.1.14 christos * Software Foundation.
149 1.1.1.14 christos *
150 1.1.1.14 christos *****************************************************************************/
151 1.1 jruoho
152 1.1 jruoho #include "acpihelp.h"
153 1.1 jruoho
154 1.1 jruoho /*
155 1.1 jruoho * ASL operators with syntax (directly from ACPI specification).
156 1.1 jruoho * Note: All tokens require a space separator.
157 1.1 jruoho * Long lines are automatically split during output.
158 1.1 jruoho */
159 1.1.1.7 christos const AH_ASL_OPERATOR Gbl_AslOperatorInfo[] =
160 1.1 jruoho {
161 1.1.1.2 christos {"AccessAs", "(AccessType, AccessAttribKeyword | "
162 1.1.1.2 christos "ExtendedAttribKeyword (AccessLength))",
163 1.1.1.2 christos "ChangeFieldUnitAccess"},
164 1.1 jruoho {"Acquire", "(SyncObject, TimeoutValue) => Boolean",
165 1.1 jruoho "Acquire a mutex"},
166 1.1 jruoho {"Add", "(Addend1, Addend2, Result) => Integer",
167 1.1 jruoho "Integer Add"},
168 1.1 jruoho {"Alias", "(SourceObject, AliasObject)",
169 1.1 jruoho "Define a name alias"},
170 1.1 jruoho {"And", "(Source1, Source2, Result) => Integer",
171 1.1 jruoho "Integer Bitwise And"},
172 1.1 jruoho {"Arg", "Arg0 - Arg6",
173 1.1 jruoho "Method argument data objects"},
174 1.1.1.2 christos {"BankField", "(RegionName, BankName, BankValue, "
175 1.1.1.2 christos "AccessTypeKeyword, LockRuleKeyword, "
176 1.1.1.2 christos "UpdateRuleKeyword) {FieldUnitList}",
177 1.1 jruoho "Declare fields in a banked configuration object"},
178 1.1.1.2 christos {"Break", "No parameters",
179 1.1 jruoho "Continue following the innermost enclosing While"},
180 1.1.1.2 christos {"BreakPoint", "No parameters",
181 1.1 jruoho "Used for debugging, stops execution in the debugger"},
182 1.1 jruoho {"Buffer", "(BufferSize) {String or ByteList} => Buffer",
183 1.1 jruoho "Declare Buffer object"},
184 1.1 jruoho {"Case", "(Value) {TermList}",
185 1.1 jruoho "Expression for conditional execution"},
186 1.1 jruoho {"Concatenate", "(Source1, Source2, Result) => ComputationalData",
187 1.1.1.2 christos "Concatenate two strings, integers or buffers"},
188 1.1 jruoho {"ConcatenateResTemplate", "(Source1, Source2, Result) => Buffer",
189 1.1 jruoho "Concatenate two resource templates"},
190 1.1 jruoho {"CondRefOf", "(Source, Result) => Boolean",
191 1.1 jruoho "Conditional reference to an object"},
192 1.1.1.2 christos {"Connection", "(ResourceMacro)",
193 1.1.1.2 christos "Associate connection with FieldUnits within a Field object"},
194 1.1.1.2 christos {"Continue", "No parameters",
195 1.1 jruoho "Continue innermost enclosing While loop"},
196 1.1 jruoho {"CopyObject", "(Source, Destination) => DataRefObject",
197 1.1 jruoho "Copy and existing object"},
198 1.1 jruoho {"CreateBitField", "(SourceBuffer, BitIndex, BitFieldName)",
199 1.1 jruoho "Declare a bit field object of a buffer object"},
200 1.1 jruoho {"CreateByteField", "(SourceBuffer, ByteIndex, ByteFieldName)",
201 1.1 jruoho "Declare a byte field object of a buffer object"},
202 1.1 jruoho {"CreateDWordField", "(SourceBuffer, ByteIndex, DWordFieldName)",
203 1.1 jruoho "Declare a DWord field object of a buffer object"},
204 1.1 jruoho {"CreateField", "(SourceBuffer, BitIndex, NumBits, FieldName)",
205 1.1 jruoho "Declare an arbitrary length bit field of a buffer object"},
206 1.1 jruoho {"CreateQWordField", "(SourceBuffer, ByteIndex, QWordFieldName)",
207 1.1 jruoho "Declare a QWord field object of a buffer object"},
208 1.1 jruoho {"CreateWordField", "(SourceBuffer, ByteIndex, WordFieldName)",
209 1.1 jruoho "Declare a Word field object of a buffer object"},
210 1.1 jruoho {"DataTableRegion", "(RegionName, SignatureString, OemIDString, OemTableIDString)",
211 1.1 jruoho "Declare a Data Table Region"},
212 1.1.1.2 christos {"Debug", "No parameters",
213 1.1 jruoho "Debugger output"},
214 1.1 jruoho {"Decrement", "(Minuend) => Integer",
215 1.1 jruoho "Decrement an Integer"},
216 1.1 jruoho {"Default", "{TermList}",
217 1.1 jruoho "Default execution path in Switch()"},
218 1.1.1.2 christos {"DefinitionBlock", "(AmlFileName, TableSignature, ComplianceRevision, "
219 1.1.1.2 christos "OemId, TableId, OemRevision) {TermList}",
220 1.1 jruoho "Declare a Definition Block"},
221 1.1 jruoho {"DerefOf", "(Source) => Object",
222 1.1 jruoho "Dereference an object reference"},
223 1.1.1.6 christos {"Device", "(DeviceName) {TermList}",
224 1.1 jruoho "Declare a bus/device object"},
225 1.1 jruoho {"Divide", "(Dividend, Divisor, Remainder, Result) => Integer",
226 1.1 jruoho "Integer Divide"},
227 1.1.1.4 christos {"Dma", "(DmaTypeKeyword, BusMasterKeyword, XferTypeKeyword, "
228 1.1.1.2 christos "DescriptorName) {DmaChannelList} => Buffer",
229 1.1 jruoho "DMA Resource Descriptor macro"},
230 1.1.1.4 christos {"DWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, "
231 1.1.1.2 christos "DecodeKeyword, RangeTypeKeyword, AddressGranularity, "
232 1.1.1.2 christos "AddressMinimum, AddressMaximum, AddressTranslation, "
233 1.1.1.2 christos "RangeLength, ResourceSourceIndex, "
234 1.1.1.2 christos "ResourceSource, DescriptorName, TypeKeyword, TranslationKeyword)",
235 1.1.1.4 christos "DWord I/O Resource Descriptor macro"},
236 1.1.1.2 christos {"DWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
237 1.1.1.2 christos "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, "
238 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
239 1.1.1.2 christos "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName, AddressKeyword, "
240 1.1.1.2 christos "TypeKeyword)",
241 1.1 jruoho "DWord Memory Resource Descriptor macro"},
242 1.1.1.2 christos {"DWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
243 1.1.1.2 christos "MinKeyword, MaxKeyword, TypeSpecificFlags, "
244 1.1.1.2 christos "AddressGranularity, AddressMinimum, AddressMaximum, "
245 1.1.1.2 christos "AddressTranslation, RangeLength, "
246 1.1 jruoho "ResourceSourceIndex, ResourceSource, DescriptorName)",
247 1.1 jruoho "DWord Space Resource Descriptor macro"},
248 1.1.1.4 christos {"EisaId", "(EisaIdString) => DWordConst",
249 1.1 jruoho "EISA ID String to Integer conversion macro"},
250 1.1 jruoho {"Else", "{TermList}",
251 1.1 jruoho "Alternate conditional execution"},
252 1.1 jruoho {"ElseIf", "(Predicate)",
253 1.1 jruoho "Conditional execution"},
254 1.1 jruoho {"EndDependentFn", "() => Buffer",
255 1.1 jruoho "End Dependent Function Resource Descriptor macro"},
256 1.1 jruoho {"Event", "(EventName)",
257 1.1 jruoho "Declare an event synchronization object"},
258 1.1.1.4 christos {"ExtendedIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, "
259 1.1.1.2 christos "DecodeKeyword, RangeTypeKeyword, AddressGranularity, "
260 1.1 jruoho "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
261 1.1.1.2 christos "TypeSpecificAttributes, DescriptorName, TypeKeyword, TranslationKeyword)",
262 1.1.1.4 christos "Extended I/O Resource Descriptor macro"},
263 1.1.1.2 christos {"ExtendedMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
264 1.1.1.2 christos "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, "
265 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
266 1.1.1.2 christos "RangeLength, TypeSpecificAttributes, DescriptorName, "
267 1.1.1.2 christos "AddressKeyword, TypeKeyword)",
268 1.1 jruoho "Extended Memory Resource Descriptor macro"},
269 1.1.1.2 christos {"ExtendedSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
270 1.1.1.2 christos "MinKeyword, MaxKeyword, TypeSpecificFlags, "
271 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
272 1.1 jruoho "RangeLength, TypeSpecificAttributes, DescriptorName)",
273 1.1 jruoho "Extended Space Resource Descriptor macro"},
274 1.1.1.2 christos {"External", "(ObjectName, ObjectTypeKeyword, ReturnType, ParameterTypes)",
275 1.1 jruoho "Declare external objects"},
276 1.1 jruoho {"Fatal", "(Type, Code, Arg)",
277 1.1 jruoho "Fatal error check"},
278 1.1.1.2 christos {"Field", "(RegionName, AccessTypeKeyword, LockRuleKeyword, "
279 1.1.1.2 christos "UpdateRuleKeyword) {FieldUnitList}",
280 1.1 jruoho "Declare fields of an operation region object"},
281 1.1 jruoho {"FindSetLeftBit", "(Source, Result) => Integer",
282 1.1 jruoho "Index of first least significant bit set"},
283 1.1 jruoho {"FindSetRightBit", "(Source, Result) => Integer",
284 1.1 jruoho "Index of first most significant bit set"},
285 1.1.1.4 christos {"FixedDma", "(DmaRequestLine, Channel, TransferWidthKeyword, DescriptorName) => Buffer",
286 1.1.1.2 christos "Fixed DMA Resource Descriptor macro"},
287 1.1.1.4 christos {"FixedIo", "(AddressBase, RangeLength, DescriptorName) => Buffer",
288 1.1 jruoho "Fixed I/O Resource Descriptor macro"},
289 1.1.1.4 christos {"FromBcd", "(BcdValue, Result) => Integer",
290 1.1 jruoho "Convert from BCD to numeric"},
291 1.1 jruoho {"Function", "(FunctionName, ReturnType, ParameterTypes) {TermList}",
292 1.1 jruoho "Declare control method"},
293 1.1.1.2 christos {"GpioInt", "(InterruptTypeKeyword, InterruptLevelKeyword, "
294 1.1.1.2 christos "ShareTypeKeyword, PinConfigKeyword, "
295 1.1.1.2 christos "DebounceTimeout, ResourceSource, "
296 1.1.1.2 christos "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, "
297 1.1.1.2 christos "RawDataBuffer() {VendorData}) {Pin}",
298 1.1.1.2 christos "GPIO Interrupt Connection Resource Descriptor Macro"},
299 1.1.1.2 christos {"GpioIo", "(ShareTypeKeyword, PinConfigKeyword, DebounceTimeout, DriveStrength, "
300 1.1.1.2 christos "IoRestrictionKeyword, ResourceSource, "
301 1.1.1.2 christos "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, "
302 1.1.1.2 christos "RawDataBuffer() {VendorData}) {PinList}",
303 1.1.1.2 christos "GPIO I/O Connection Resource Descriptor Macro"},
304 1.1.1.6 christos {"I2cSerialBusV2", "(SlaveAddress, SlaveModeKeyword, ConnectionSpeed, "
305 1.1.1.2 christos "AddressingModeKeyword, ResourceSource, "
306 1.1.1.6 christos "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, "
307 1.1.1.2 christos "RawDataBuffer() {VendorData})",
308 1.1.1.2 christos "I2C Serial Bus Connection Resource Descriptor Macro"},
309 1.1 jruoho {"If", "(Predicate) {TermList}",
310 1.1 jruoho "Conditional execution"},
311 1.1 jruoho {"Include", "(FilePathName)",
312 1.1 jruoho "Include another ASL file"},
313 1.1 jruoho {"Increment", "(Addend) => Integer",
314 1.1 jruoho "Increment a Integer"},
315 1.1 jruoho {"Index", "(Source, Index, Destination) => ObjectReference",
316 1.1 jruoho "Indexed Reference to member object"},
317 1.1.1.2 christos {"IndexField", "(IndexName, DataName, AccessTypeKeyword, LockRuleKeyword, "
318 1.1.1.2 christos "UpdateRuleKeyword) {FieldUnitList}",
319 1.1 jruoho "Declare Index/Data Fields"},
320 1.1.1.2 christos {"Interrupt", "(ResourceTypeKeyword, InterruptTypeKeyword, InterruptLevelKeyword, "
321 1.1.1.2 christos "ShareTypeKeyword, ResourceSourceIndex, "
322 1.1 jruoho "ResourceSource, DescriptorName) {InterruptList} => Buffer",
323 1.1 jruoho "Interrupt Resource Descriptor macro"},
324 1.1.1.4 christos {"Io", "(IoDecodeKeyword, AddressMin, AddressMax, AddressAlignment, "
325 1.1.1.2 christos "RangeLength, DescriptorName) => Buffer",
326 1.1.1.4 christos "I/O Resource Descriptor macro"},
327 1.1.1.4 christos {"Irq", "(InterruptTypeKeyword, InterruptLevelKeyword, ShareTypeKeyword, "
328 1.1.1.2 christos "DescriptorName) {InterruptList} => Buffer",
329 1.1 jruoho "Interrupt Resource Descriptor macro"},
330 1.1.1.4 christos {"IrqNoFlags", "(DescriptorName) {InterruptList} => Buffer",
331 1.1 jruoho "Short Interrupt Resource Descriptor macro"},
332 1.1 jruoho {"LAnd", "(Source1, Source2) => Boolean",
333 1.1 jruoho "Logical And"},
334 1.1 jruoho {"LEqual", "(Source1, Source2) => Boolean",
335 1.1 jruoho "Logical Equal"},
336 1.1 jruoho {"LGreater", "(Source1, Source2) => Boolean",
337 1.1 jruoho "Logical Greater"},
338 1.1 jruoho {"LGreaterEqual", "(Source1, Source2) => Boolean",
339 1.1 jruoho "Logical Not less"},
340 1.1 jruoho {"LLess", "(Source1, Source2) => Boolean",
341 1.1 jruoho "Logical Less"},
342 1.1 jruoho {"LLessEqual", "(Source1, Source2) => Boolean",
343 1.1 jruoho "Logical Not greater"},
344 1.1 jruoho {"LNot", "(Source) => Boolean",
345 1.1 jruoho "Logical Not"},
346 1.1 jruoho {"LNotEqual", "(Source1, Source2) => Boolean",
347 1.1 jruoho "Logical Not equal"},
348 1.1 jruoho {"Load", "(Object, DDBHandle)",
349 1.1 jruoho "Load differentiating definition block"},
350 1.1.1.2 christos {"LoadTable", "(SignatureString, OemIdString, OemTableIdString, RootPathString, "
351 1.1 jruoho "ParameterPathString, ParameterData) => DDBHandle",
352 1.1 jruoho "Load Table from RSDT/XSDT"},
353 1.1.1.2 christos {"Local", "Local0 - Local7",
354 1.1 jruoho "Method local data objects"},
355 1.1 jruoho {"LOr", "(Source1, Source2) => Boolean",
356 1.1 jruoho "Logical Or"},
357 1.1.1.2 christos {"Match", "(SearchPackage, MatchOpKeyword, MatchObject1, MatchOpKeyword, "
358 1.1.1.2 christos "MatchObject2, StartIndex) => Ones | Integer",
359 1.1 jruoho "Search for match in package array"},
360 1.1.1.2 christos {"Memory24", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, "
361 1.1 jruoho "RangeLength, DescriptorName)",
362 1.1 jruoho "Memory Resource Descriptor macro"},
363 1.1.1.2 christos {"Memory32", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, "
364 1.1 jruoho "RangeLength, DescriptorName)",
365 1.1 jruoho "Memory Resource Descriptor macro"},
366 1.1.1.2 christos {"Memory32Fixed", "(ReadWriteKeyword, AddressBase, RangeLength, DescriptorName)",
367 1.1 jruoho "Memory Resource Descriptor macro"},
368 1.1.1.2 christos {"Method", "(MethodName, NumArgs, SerializeRuleKeyword, "
369 1.1.1.2 christos "SyncLevel, ReturnType, ParameterTypes) "
370 1.1 jruoho "{TermList}",
371 1.1 jruoho "Declare a control method"},
372 1.1 jruoho {"Mid", "(Source, Index, Length, Result) => Buffer or String",
373 1.1 jruoho "Return a portion of buffer or string"},
374 1.1 jruoho {"Mod", "(Dividend, Divisor, Result) => Integer",
375 1.1 jruoho "Integer Modulo"},
376 1.1 jruoho {"Multiply", "(Multiplicand, Multiplier, Result) => Integer",
377 1.1 jruoho "Integer Multiply"},
378 1.1 jruoho {"Mutex", "(MutexName, SyncLevel)",
379 1.1 jruoho "Declare a mutex synchronization object"},
380 1.1 jruoho {"Name", "(ObjectName, Object)",
381 1.1 jruoho "Declare a Named object"},
382 1.1 jruoho {"NAnd", "(Source1, Source2, Result) => Integer",
383 1.1 jruoho "Integer Bitwise Nand"},
384 1.1.1.2 christos {"NoOp", "No parameters",
385 1.1 jruoho "No operation"},
386 1.1 jruoho {"NOr", "(Source1, Source2, Result) => Integer",
387 1.1 jruoho "Integer Bitwise Nor"},
388 1.1 jruoho {"Not", "(Source, Result) => Integer",
389 1.1 jruoho "Integer Bitwise Not"},
390 1.1 jruoho {"Notify", "(Object, NotificationValue)",
391 1.1 jruoho "Notify Object of event"},
392 1.1 jruoho {"ObjectType", "(Object) => Integer",
393 1.1 jruoho "Type of object"},
394 1.1.1.2 christos {"Offset", "(ByteOffset)",
395 1.1.1.2 christos "Change Current Field Unit Offset"},
396 1.1 jruoho {"One", "=> Integer",
397 1.1 jruoho "Constant One Object (1)"},
398 1.1 jruoho {"Ones", "=> Integer",
399 1.1.1.2 christos "Constant Ones Object (0xFFFFFFFF or 0xFFFFFFFFFFFFFFFF)"},
400 1.1.1.2 christos {"OperationRegion", "(RegionName, RegionSpaceKeyword, Offset, Length)",
401 1.1 jruoho "Declare an operational region"},
402 1.1 jruoho {"Or", "(Source1, Source2, Result) => Integer",
403 1.1 jruoho "Integer Bitwise Or"},
404 1.1 jruoho {"Package", "(NumElements) {PackageList} => Package",
405 1.1 jruoho "Declare a package object"},
406 1.1.1.6 christos {"PowerResource", "(ResourceName, SystemLevel, ResourceOrder) {TermList}",
407 1.1 jruoho "Declare a power resource object"},
408 1.1.1.6 christos {"Processor", "(ProcessorName, ProcessorID, PBlockAddress, PblockLength) {TermList}",
409 1.1 jruoho "Declare a processor package"},
410 1.1.1.4 christos {"QWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
411 1.1.1.2 christos "RangeTypeKeyword, AddressGranularity, "
412 1.1 jruoho "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
413 1.1.1.2 christos "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, "
414 1.1.1.2 christos "TranslationKeyword)",
415 1.1.1.4 christos "QWord I/O Resource Descriptor macro"},
416 1.1.1.2 christos {"QWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, MaxKeyword, "
417 1.1.1.2 christos "MemTypeKeyword, ReadWriteKeyword, "
418 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
419 1.1.1.2 christos "RangeLength, ResourceSourceIndex, ResourceSource, "
420 1.1.1.2 christos "DescriptorName, AddressKeyword, "
421 1.1.1.2 christos "TypeKeyword)",
422 1.1 jruoho "QWord Memory Resource Descriptor macro"},
423 1.1.1.2 christos {"QWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
424 1.1.1.2 christos "MinKeyword, MaxKeyword, TypeSpecificFlags, "
425 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
426 1.1 jruoho "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)",
427 1.1 jruoho "Qword Space Resource Descriptor macro"},
428 1.1.1.2 christos {"RawDataBuffer", "(BufferSize) {ByteList} => RawDataBuffer",
429 1.1.1.2 christos "Create a raw data buffer (does not use Buffer AML opcode)"},
430 1.1 jruoho {"RefOf", "(Object) => ObjectReference",
431 1.1 jruoho "Create Reference to an object"},
432 1.1.1.2 christos {"Register", "(AddressSpaceKeyword, RegisterBitWidth, "
433 1.1.1.2 christos "RegisterBitOffset, RegisterAddress, "
434 1.1 jruoho "AccessSize, DescriptorName)",
435 1.1 jruoho "Generic register Resource Descriptor macro"},
436 1.1 jruoho {"Release", "(SyncObject)",
437 1.1 jruoho "Release a synchronization object"},
438 1.1 jruoho {"Reset", "(SyncObject)",
439 1.1 jruoho "Reset a synchronization object"},
440 1.1 jruoho {"ResourceTemplate", "() {ResourceMacroList} => Buffer",
441 1.1 jruoho "Resource to buffer conversion macro"},
442 1.1 jruoho {"Return", "None | () | (ReturnArg)",
443 1.1 jruoho "Return from method execution"},
444 1.1 jruoho {"Revision", "=> Integer",
445 1.1 jruoho "Constant revision object"},
446 1.1.1.6 christos {"Scope", "(Location) {TermList}",
447 1.1 jruoho "Open named scope "},
448 1.1 jruoho {"ShiftLeft", "(Source, ShiftCount, Result) => Integer",
449 1.1 jruoho "Integer shift value left"},
450 1.1 jruoho {"ShiftRight", "(Source, ShiftCount, Result) => Integer",
451 1.1 jruoho "Integer shift value right"},
452 1.1 jruoho {"Signal", "(SyncObject)",
453 1.1 jruoho "Signal a synchronization object"},
454 1.1 jruoho {"SizeOf", "(ObjectName) => Integer",
455 1.1 jruoho "Get the size of a buffer}, string}, or package"},
456 1.1.1.2 christos {"Sleep", "(Milliseconds)",
457 1.1 jruoho "Sleep n milliseconds (yields the processor)"},
458 1.1.1.6 christos {"SpiSerialBusV2", "(DeviceSelection, PolarityKeyword, WireModeKeyword, "
459 1.1.1.2 christos "DataBitLength, SlaveModeKeyword, "
460 1.1.1.2 christos "ConnectionSpeed, ClockPolarityKeyword, ClockPhaseKeyword, "
461 1.1.1.2 christos "ResourceSource, ResourceSourceIndex, "
462 1.1.1.6 christos "ResourceTypeKeyword, DescriptorName, Shared, RawDataBuffer() {VendorData})",
463 1.1.1.2 christos "SPI Serial Bus Connection Resource Descriptor Macro"},
464 1.1.1.2 christos {"Stall", "(Microseconds)",
465 1.1 jruoho "Delay n microseconds (does not yield the processor)"},
466 1.1 jruoho {"StartDependentFn", "(CompatibilityPriority, PerformancePriority) {ResourceList}",
467 1.1 jruoho "Start Dependent Function Resource Descriptor macro"},
468 1.1 jruoho {"StartDependentFnNoPri", "() {ResourceList}",
469 1.1 jruoho "Start Dependent Function Resource Descriptor macro"},
470 1.1 jruoho {"Store", "(Source, Destination) => DataRefObject",
471 1.1 jruoho "Store object"},
472 1.1 jruoho {"Subtract", "(Minuend, Subtrahend, Result) => Integer",
473 1.1 jruoho "Integer Subtract"},
474 1.1 jruoho {"Switch", "(Expression) {CaseTermList}",
475 1.1 jruoho "Select code to execute based on expression value"},
476 1.1.1.6 christos {"ThermalZone", "(ThermalZoneName) {TermList}",
477 1.1 jruoho "Declare a thermal zone package"},
478 1.1 jruoho {"Timer", "=> Integer",
479 1.1 jruoho "Get 64-bit timer value"},
480 1.1.1.4 christos {"ToBcd", "(Value, Result) => Integer",
481 1.1 jruoho "Convert Integer to BCD"},
482 1.1 jruoho {"ToBuffer", "(Data, Result) => Buffer",
483 1.1 jruoho "Convert data type to buffer"},
484 1.1 jruoho {"ToDecimalString", "(Data, Result) => String",
485 1.1 jruoho "Convert data type to decimal string"},
486 1.1 jruoho {"ToHexString", "(Data, Result) => String",
487 1.1 jruoho "Convert data type to hexadecimal string"},
488 1.1 jruoho {"ToInteger", "(Data, Result) => Integer",
489 1.1 jruoho "Convert data type to integer"},
490 1.1 jruoho {"ToString", "(Source, Length, Result) => String",
491 1.1 jruoho "Copy ASCII string from buffer"},
492 1.1.1.4 christos {"ToUuid", "(AsciiString) => Buffer",
493 1.1 jruoho "Convert Ascii string to UUID"},
494 1.1.1.6 christos {"UartSerialBusV2", "(ConnectionSpeed, ByteLengthKeyword, StopBitsKeyword, "
495 1.1.1.2 christos "LinesInUse, EndianKeyword, ParityKeyword, "
496 1.1.1.2 christos "FlowControlKeyword, ReceiveBufferSize, TransmitBufferSize, ResourceSource, "
497 1.1.1.6 christos "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, "
498 1.1.1.2 christos "RawDataBuffer() {VendorData})",
499 1.1.1.2 christos "UART Serial Bus Connection Resource Descriptor Macro"},
500 1.1 jruoho {"Unicode", "(String) => Buffer",
501 1.1 jruoho "String to Unicode conversion macro"},
502 1.1 jruoho {"Unload", "(Handle)",
503 1.1 jruoho "Unload definition block"},
504 1.1 jruoho {"VendorLong", "(DescriptorName) {VendorByteList}",
505 1.1 jruoho "Vendor Resource Descriptor"},
506 1.1 jruoho {"VendorShort", "(DescriptorName) {VendorByteList}",
507 1.1 jruoho "Vendor Resource Descriptor"},
508 1.1 jruoho {"Wait", "(SyncObject, TimeoutValue) => Boolean",
509 1.1 jruoho "Wait on an Event"},
510 1.1 jruoho {"While", "(Predicate) {TermList}",
511 1.1 jruoho "Conditional loop"},
512 1.1.1.2 christos {"WordBusNumber", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
513 1.1.1.2 christos "AddressGranularity, AddressMinimum, "
514 1.1 jruoho "AddressMaximum, AddressTranslation, RangeLength, ResourceSourceIndex, "
515 1.1 jruoho "ResourceSource, DescriptorName)",
516 1.1 jruoho "Word Bus number Resource Descriptor macro"},
517 1.1.1.4 christos {"WordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
518 1.1.1.2 christos "RangeTypeKeyword, AddressGranularity, "
519 1.1 jruoho "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
520 1.1.1.2 christos "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, "
521 1.1.1.2 christos "TranslationKeyword)",
522 1.1.1.4 christos "Word I/O Resource Descriptor macro"},
523 1.1.1.2 christos {"WordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
524 1.1.1.2 christos "MaxKeyword, TypeSpecificFlags, "
525 1.1 jruoho "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
526 1.1 jruoho "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)",
527 1.1 jruoho "Word Space Resource Descriptor macro"},
528 1.1.1.4 christos {"Xor", "(Source1, Source2, Result) => Integer",
529 1.1 jruoho "Integer Bitwise Xor"},
530 1.1 jruoho {"Zero", "=> Integer",
531 1.1 jruoho "Constant Zero object (0)"},
532 1.1 jruoho {NULL, NULL, NULL}
533 1.1 jruoho };
534