1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: asltypes.y - Bison/Yacc production types/names
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2017, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.
21 *
22 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
23 * copy of the source code appearing in this file ("Covered Code") an
24 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
25 * base code distributed originally by Intel ("Original Intel Code") to copy,
26 * make derivatives, distribute, use and display any portion of the Covered
27 * Code in any form, with the right to sublicense such rights; and
28 *
29 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
30 * license (with the right to sublicense), under only those claims of Intel
31 * patents that are infringed by the Original Intel Code, to make, use, sell,
32 * offer to sell, and import the Covered Code and derivative works thereof
33 * solely to the minimum extent necessary to exercise the above copyright
34 * license, and in no event shall the patent license extend to any additions
35 * to or modifications of the Original Intel Code. No other license or right
36 * is granted directly or by implication, estoppel or otherwise;
37 *
38 * The above copyright and patent license is granted only if the following
39 * conditions are met:
40 *
41 * 3. Conditions
42 *
43 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
44 * Redistribution of source code of any substantial portion of the Covered
45 * Code or modification with rights to further distribute source must include
46 * the above Copyright Notice, the above License, this list of Conditions,
47 * and the following Disclaimer and Export Compliance provision. In addition,
48 * Licensee must cause all Covered Code to which Licensee contributes to
49 * contain a file documenting the changes Licensee made to create that Covered
50 * Code and the date of any change. Licensee must include in that file the
51 * documentation of any changes made by any predecessor Licensee. Licensee
52 * must include a prominent statement that the modification is derived,
53 * directly or indirectly, from Original Intel Code.
54 *
55 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
56 * Redistribution of source code of any substantial portion of the Covered
57 * Code or modification without rights to further distribute source must
58 * include the following Disclaimer and Export Compliance provision in the
59 * documentation and/or other materials provided with distribution. In
60 * addition, Licensee may not authorize further sublicense of source of any
61 * portion of the Covered Code, and must include terms to the effect that the
62 * license from Licensee to its licensee is limited to the intellectual
63 * property embodied in the software Licensee provides to its licensee, and
64 * not to intellectual property embodied in modifications its licensee may
65 * make.
66 *
67 * 3.3. Redistribution of Executable. Redistribution in executable form of any
68 * substantial portion of the Covered Code or modification must reproduce the
69 * above Copyright Notice, and the following Disclaimer and Export Compliance
70 * provision in the documentation and/or other materials provided with the
71 * distribution.
72 *
73 * 3.4. Intel retains all right, title, and interest in and to the Original
74 * Intel Code.
75 *
76 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
77 * Intel shall be used in advertising or otherwise to promote the sale, use or
78 * other dealings in products derived from or relating to the Covered Code
79 * without prior written authorization from Intel.
80 *
81 * 4. Disclaimer and Export Compliance
82 *
83 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
84 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
85 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
86 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
87 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
88 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
89 * PARTICULAR PURPOSE.
90 *
91 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
92 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
93 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
94 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
95 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
96 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
97 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
98 * LIMITED REMEDY.
99 *
100 * 4.3. Licensee shall not export, either directly or indirectly, any of this
101 * software or system incorporating such software without first obtaining any
102 * required license or other approval from the U. S. Department of Commerce or
103 * any other agency or department of the United States Government. In the
104 * event Licensee exports any such software from the United States or
105 * re-exports any such software from a foreign destination, Licensee shall
106 * ensure that the distribution and export/re-export of the software is in
107 * compliance with all laws, regulations, orders, or other restrictions of the
108 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
109 * any of its subsidiaries will export/re-export any technical data, process,
110 * software, or service, directly or indirectly, to any country for which the
111 * United States government or any agency thereof requires an export license,
112 * other governmental approval, or letter of assurance, without first obtaining
113 * such license, approval or letter.
114 *
115 *****************************************************************************
116 *
117 * Alternatively, you may choose to be licensed under the terms of the
118 * following license:
119 *
120 * Redistribution and use in source and binary forms, with or without
121 * modification, are permitted provided that the following conditions
122 * are met:
123 * 1. Redistributions of source code must retain the above copyright
124 *    notice, this list of conditions, and the following disclaimer,
125 *    without modification.
126 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
127 *    substantially similar to the "NO WARRANTY" disclaimer below
128 *    ("Disclaimer") and any redistribution must be conditioned upon
129 *    including a substantially similar Disclaimer requirement for further
130 *    binary redistribution.
131 * 3. Neither the names of the above-listed copyright holders nor the names
132 *    of any contributors may be used to endorse or promote products derived
133 *    from this software without specific prior written permission.
134 *
135 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
136 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
137 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
138 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
139 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
140 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
141 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
142 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
143 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
144 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
145 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
146 *
147 * Alternatively, you may choose to be licensed under the terms of the
148 * GNU General Public License ("GPL") version 2 as published by the Free
149 * Software Foundation.
150 *
151 *****************************************************************************/
152
153')
154
155/******************************************************************************
156 *
157 * Production names
158 *
159 *****************************************************************************/
160
161%type <n> ArgList
162%type <n> AslCode
163%type <n> BufferData
164%type <n> BufferTermData
165%type <n> CompilerDirective
166%type <n> DataObject
167%type <n> DefinitionBlockTerm
168%type <n> DefinitionBlockList
169%type <n> IntegerData
170%type <n> NamedObject
171%type <n> NameSpaceModifier
172%type <n> Object
173%type <n> PackageData
174%type <n> ParameterTypePackage
175%type <n> ParameterTypePackageList
176%type <n> ParameterTypesPackage
177%type <n> ParameterTypesPackageList
178%type <n> RequiredTarget
179%type <n> SimpleName
180%type <n> StringData
181%type <n> Target
182%type <n> Term
183%type <n> TermArg
184%type <n> TermList
185%type <n> MethodInvocationTerm
186
187/* Type4Opcode is obsolete */
188
189%type <n> Type1Opcode
190%type <n> Type2BufferOpcode
191%type <n> Type2BufferOrStringOpcode
192%type <n> Type2IntegerOpcode
193%type <n> Type2Opcode
194%type <n> Type2StringOpcode
195%type <n> Type3Opcode
196%type <n> Type5Opcode
197%type <n> Type6Opcode
198
199%type <n> AccessAsTerm
200%type <n> ExternalTerm
201%type <n> FieldUnit
202%type <n> FieldUnitEntry
203%type <n> FieldUnitList
204%type <n> IncludeTerm
205%type <n> OffsetTerm
206%type <n> OptionalAccessAttribTerm
207
208/* Named Objects */
209
210%type <n> BankFieldTerm
211%type <n> CreateBitFieldTerm
212%type <n> CreateByteFieldTerm
213%type <n> CreateDWordFieldTerm
214%type <n> CreateFieldTerm
215%type <n> CreateQWordFieldTerm
216%type <n> CreateWordFieldTerm
217%type <n> DataRegionTerm
218%type <n> DeviceTerm
219%type <n> EventTerm
220%type <n> FieldTerm
221%type <n> FunctionTerm
222%type <n> IndexFieldTerm
223%type <n> MethodTerm
224%type <n> MutexTerm
225%type <n> OpRegionTerm
226%type <n> OpRegionSpaceIdTerm
227%type <n> PowerResTerm
228%type <n> ProcessorTerm
229%type <n> ThermalZoneTerm
230
231/* Namespace modifiers */
232
233%type <n> AliasTerm
234%type <n> NameTerm
235%type <n> ScopeTerm
236
237/* Type 1 opcodes */
238
239%type <n> BreakPointTerm
240%type <n> BreakTerm
241%type <n> CaseDefaultTermList
242%type <n> CaseTerm
243%type <n> ContinueTerm
244%type <n> DefaultTerm
245%type <n> ElseTerm
246%type <n> FatalTerm
247%type <n> ElseIfTerm
248%type <n> IfTerm
249%type <n> LoadTerm
250%type <n> NoOpTerm
251%type <n> NotifyTerm
252%type <n> ReleaseTerm
253%type <n> ResetTerm
254%type <n> ReturnTerm
255%type <n> SignalTerm
256%type <n> SleepTerm
257%type <n> StallTerm
258%type <n> SwitchTerm
259%type <n> UnloadTerm
260%type <n> WhileTerm
261/* %type <n> CaseTermList */
262
263/* Type 2 opcodes */
264
265%type <n> AcquireTerm
266%type <n> AddTerm
267%type <n> AndTerm
268%type <n> ConcatResTerm
269%type <n> ConcatTerm
270%type <n> CondRefOfTerm
271%type <n> CopyObjectTerm
272%type <n> DecTerm
273%type <n> DerefOfTerm
274%type <n> DivideTerm
275%type <n> FindSetLeftBitTerm
276%type <n> FindSetRightBitTerm
277%type <n> FromBCDTerm
278%type <n> IncTerm
279%type <n> IndexTerm
280%type <n> LAndTerm
281%type <n> LEqualTerm
282%type <n> LGreaterEqualTerm
283%type <n> LGreaterTerm
284%type <n> LLessEqualTerm
285%type <n> LLessTerm
286%type <n> LNotEqualTerm
287%type <n> LNotTerm
288%type <n> LoadTableTerm
289%type <n> LOrTerm
290%type <n> MatchTerm
291%type <n> MidTerm
292%type <n> ModTerm
293%type <n> MultiplyTerm
294%type <n> NAndTerm
295%type <n> NOrTerm
296%type <n> NotTerm
297%type <n> ObjectTypeTerm
298%type <n> OrTerm
299%type <n> RawDataBufferTerm
300%type <n> RefOfTerm
301%type <n> ShiftLeftTerm
302%type <n> ShiftRightTerm
303%type <n> SizeOfTerm
304%type <n> StoreTerm
305%type <n> SubtractTerm
306%type <n> TimerTerm
307%type <n> ToBCDTerm
308%type <n> ToBufferTerm
309%type <n> ToDecimalStringTerm
310%type <n> ToHexStringTerm
311%type <n> ToIntegerTerm
312%type <n> ToStringTerm
313%type <n> WaitTerm
314%type <n> XOrTerm
315
316/* Keywords */
317
318%type <n> AccessAttribKeyword
319%type <n> AccessTypeKeyword
320%type <n> AddressingModeKeyword
321%type <n> AddressKeyword
322%type <n> AddressSpaceKeyword
323%type <n> BitsPerByteKeyword
324%type <n> ClockPhaseKeyword
325%type <n> ClockPolarityKeyword
326%type <n> DecodeKeyword
327%type <n> DevicePolarityKeyword
328%type <n> DMATypeKeyword
329%type <n> EndianKeyword
330%type <n> FlowControlKeyword
331%type <n> InterruptLevel
332%type <n> InterruptTypeKeyword
333%type <n> IODecodeKeyword
334%type <n> IoRestrictionKeyword
335%type <n> LockRuleKeyword
336%type <n> MatchOpKeyword
337%type <n> MaxKeyword
338%type <n> MemTypeKeyword
339%type <n> MinKeyword
340%type <n> ObjectTypeKeyword
341%type <n> OptionalBusMasterKeyword
342%type <n> OptionalReadWriteKeyword
343%type <n> ParityTypeKeyword
344%type <n> PinConfigByte
345%type <n> PinConfigKeyword
346%type <n> RangeTypeKeyword
347%type <n> RegionSpaceKeyword
348%type <n> ResourceTypeKeyword
349%type <n> SerializeRuleKeyword
350%type <n> ShareTypeKeyword
351%type <n> SlaveModeKeyword
352%type <n> StopBitsKeyword
353%type <n> TranslationKeyword
354%type <n> TypeKeyword
355%type <n> UpdateRuleKeyword
356%type <n> WireModeKeyword
357%type <n> XferSizeKeyword
358%type <n> XferTypeKeyword
359
360/* Types */
361
362%type <n> SuperName
363%type <n> ObjectTypeSource
364%type <n> DerefOfSource
365%type <n> RefOfSource
366%type <n> CondRefOfSource
367%type <n> ArgTerm
368%type <n> LocalTerm
369%type <n> DebugTerm
370
371%type <n> Integer
372%type <n> ByteConst
373%type <n> WordConst
374%type <n> DWordConst
375%type <n> QWordConst
376%type <n> String
377
378%type <n> ConstTerm
379%type <n> ConstExprTerm
380%type <n> ByteConstExpr
381%type <n> WordConstExpr
382%type <n> DWordConstExpr
383%type <n> QWordConstExpr
384
385%type <n> DWordList
386%type <n> BufferTerm
387%type <n> ByteList
388
389%type <n> PackageElement
390%type <n> PackageList
391%type <n> PackageTerm
392
393/* Macros */
394
395%type <n> EISAIDTerm
396%type <n> ResourceMacroList
397%type <n> ResourceMacroTerm
398%type <n> ResourceTemplateTerm
399%type <n> PldKeyword
400%type <n> PldKeywordList
401%type <n> ToPLDTerm
402%type <n> ToUUIDTerm
403%type <n> UnicodeTerm
404%type <n> PrintfArgList
405%type <n> PrintfTerm
406%type <n> FprintfTerm
407%type <n> ForTerm
408
409/* Resource Descriptors */
410
411%type <n> ConnectionTerm
412%type <n> DMATerm
413%type <n> DWordIOTerm
414%type <n> DWordMemoryTerm
415%type <n> DWordSpaceTerm
416%type <n> EndDependentFnTerm
417%type <n> ExtendedIOTerm
418%type <n> ExtendedMemoryTerm
419%type <n> ExtendedSpaceTerm
420%type <n> FixedDmaTerm
421%type <n> FixedIOTerm
422%type <n> GpioIntTerm
423%type <n> GpioIoTerm
424%type <n> I2cSerialBusTerm
425%type <n> I2cSerialBusTermV2
426%type <n> InterruptTerm
427%type <n> IOTerm
428%type <n> IRQNoFlagsTerm
429%type <n> IRQTerm
430%type <n> Memory24Term
431%type <n> Memory32FixedTerm
432%type <n> Memory32Term
433%type <n> NameSeg
434%type <n> NameString
435%type <n> PinConfigTerm
436%type <n> PinFunctionTerm
437%type <n> PinGroupTerm
438%type <n> PinGroupConfigTerm
439%type <n> PinGroupFunctionTerm
440%type <n> QWordIOTerm
441%type <n> QWordMemoryTerm
442%type <n> QWordSpaceTerm
443%type <n> RegisterTerm
444%type <n> SpiSerialBusTerm
445%type <n> SpiSerialBusTermV2
446%type <n> StartDependentFnNoPriTerm
447%type <n> StartDependentFnTerm
448%type <n> UartSerialBusTerm
449%type <n> UartSerialBusTermV2
450%type <n> VendorLongTerm
451%type <n> VendorShortTerm
452%type <n> WordBusNumberTerm
453%type <n> WordIOTerm
454%type <n> WordSpaceTerm
455
456/* Local types that help construct the AML, not in ACPI spec */
457
458%type <n> AmlPackageLengthTerm
459%type <n> IncludeEndTerm
460%type <n> NameStringItem
461%type <n> TermArgItem
462
463%type <n> OptionalAccessSize
464%type <n> OptionalAddressingMode
465%type <n> OptionalAddressRange
466%type <n> OptionalBitsPerByte
467%type <n> OptionalBuffer_Last
468%type <n> OptionalByteConstExpr
469%type <n> OptionalCount
470%type <n> OptionalDataCount
471%type <n> OptionalDecodeType
472%type <n> OptionalDevicePolarity
473%type <n> OptionalDWordConstExpr
474%type <n> OptionalEndian
475%type <n> OptionalFlowControl
476%type <n> OptionalIoRestriction
477%type <n> OptionalListString
478%type <n> OptionalMaxType
479%type <n> OptionalMemType
480%type <n> OptionalMinType
481%type <n> OptionalNameString
482%type <n> OptionalNameString_First
483%type <n> OptionalNameString_Last
484%type <n> OptionalObjectTypeKeyword
485%type <n> OptionalParameterTypePackage
486%type <n> OptionalParameterTypesPackage
487%type <n> OptionalParentheses
488%type <n> OptionalParityType
489%type <n> OptionalPredicate
490%type <n> OptionalQWordConstExpr
491%type <n> OptionalRangeType
492%type <n> OptionalReference
493%type <n> OptionalResourceType
494%type <n> OptionalResourceType_First
495%type <n> OptionalProducerResourceType
496%type <n> OptionalReturnArg
497%type <n> OptionalSerializeRuleKeyword
498%type <n> OptionalShareType
499%type <n> OptionalShareType_First
500%type <n> OptionalSlaveMode
501%type <n> OptionalStopBits
502%type <n> OptionalStringData
503%type <n> OptionalTermArg
504%type <n> OptionalTranslationType_Last
505%type <n> OptionalType
506%type <n> OptionalType_Last
507%type <n> OptionalWireMode
508%type <n> OptionalWordConst
509%type <n> OptionalWordConstExpr
510%type <n> OptionalXferSize
511
512/*
513 * ASL+ (C-style) parser
514 */
515
516/* Expressions and symbolic operators */
517
518%type <n> Expression
519%type <n> EqualsTerm
520%type <n> IndexExpTerm
521
522/* ASL+ Named object declaration support */
523/*
524%type <n> NameTermAslPlus
525
526%type <n> BufferBegin
527%type <n> BufferEnd
528%type <n> PackageBegin
529%type <n> PackageEnd
530%type <n> OptionalLength
531*/
532/* ASL+ Structure declarations */
533/*
534%type <n> StructureTerm
535%type <n> StructureTermBegin
536%type <n> StructureType
537%type <n> StructureTag
538%type <n> StructureElementList
539%type <n> StructureElement
540%type <n> StructureElementType
541%type <n> OptionalStructureElementType
542%type <n> StructureId
543*/
544/* Structure instantiantion */
545/*
546%type <n> StructureInstanceTerm
547%type <n> StructureTagReference
548%type <n> StructureInstanceEnd
549*/
550/* Pseudo-instantiantion for method Args/Locals */
551/*
552%type <n> MethodStructureTerm
553%type <n> LocalStructureName
554*/
555/* Direct structure references via the Index operator */
556/*
557%type <n> StructureReference
558%type <n> StructureIndexTerm
559%type <n> StructurePointerTerm
560%type <n> StructurePointerReference
561%type <n> OptionalDefinePointer
562*/
563