aslresources.y revision 1.1.1.2 1 1.1 christos NoEcho('
2 1.1 christos /******************************************************************************
3 1.1 christos *
4 1.1 christos * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 1.1 christos *
6 1.1 christos *****************************************************************************/
7 1.1 christos
8 1.1 christos /*
9 1.1 christos * Copyright (C) 2000 - 2016, Intel Corp.
10 1.1 christos * All rights reserved.
11 1.1 christos *
12 1.1 christos * Redistribution and use in source and binary forms, with or without
13 1.1 christos * modification, are permitted provided that the following conditions
14 1.1 christos * are met:
15 1.1 christos * 1. Redistributions of source code must retain the above copyright
16 1.1 christos * notice, this list of conditions, and the following disclaimer,
17 1.1 christos * without modification.
18 1.1 christos * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 1.1 christos * substantially similar to the "NO WARRANTY" disclaimer below
20 1.1 christos * ("Disclaimer") and any redistribution must be conditioned upon
21 1.1 christos * including a substantially similar Disclaimer requirement for further
22 1.1 christos * binary redistribution.
23 1.1 christos * 3. Neither the names of the above-listed copyright holders nor the names
24 1.1 christos * of any contributors may be used to endorse or promote products derived
25 1.1 christos * from this software without specific prior written permission.
26 1.1 christos *
27 1.1 christos * Alternatively, this software may be distributed under the terms of the
28 1.1 christos * GNU General Public License ("GPL") version 2 as published by the Free
29 1.1 christos * Software Foundation.
30 1.1 christos *
31 1.1 christos * NO WARRANTY
32 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 1.1 christos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 1.1 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 1.1 christos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 1.1 christos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 1.1 christos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 1.1 christos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 1.1 christos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 1.1 christos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 1.1 christos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 1.1 christos * POSSIBILITY OF SUCH DAMAGES.
43 1.1 christos */
44 1.1 christos
45 1.1 christos ')
46 1.1 christos
47 1.1 christos /*******************************************************************************
48 1.1 christos *
49 1.1 christos * ASL Parameter Keyword Terms
50 1.1 christos *
51 1.1 christos ******************************************************************************/
52 1.1 christos
53 1.1 christos AccessAttribKeyword
54 1.1 christos : PARSEOP_ACCESSATTRIB_BLOCK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK);}
55 1.1 christos | PARSEOP_ACCESSATTRIB_BLOCK_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK_CALL);}
56 1.1 christos | PARSEOP_ACCESSATTRIB_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BYTE);}
57 1.1 christos | PARSEOP_ACCESSATTRIB_QUICK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_QUICK );}
58 1.1 christos | PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);}
59 1.1 christos | PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);}
60 1.1 christos | PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);}
61 1.1 christos | PARSEOP_ACCESSATTRIB_MULTIBYTE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
62 1.1 christos ByteConst
63 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
64 1.1 christos | PARSEOP_ACCESSATTRIB_RAW_BYTES '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
65 1.1 christos ByteConst
66 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
67 1.1 christos | PARSEOP_ACCESSATTRIB_RAW_PROCESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
68 1.1 christos ByteConst
69 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
70 1.1 christos ;
71 1.1 christos
72 1.1 christos AccessTypeKeyword
73 1.1 christos : PARSEOP_ACCESSTYPE_ANY {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_ANY);}
74 1.1 christos | PARSEOP_ACCESSTYPE_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BYTE);}
75 1.1 christos | PARSEOP_ACCESSTYPE_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_WORD);}
76 1.1 christos | PARSEOP_ACCESSTYPE_DWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_DWORD);}
77 1.1 christos | PARSEOP_ACCESSTYPE_QWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_QWORD);}
78 1.1 christos | PARSEOP_ACCESSTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BUF);}
79 1.1 christos ;
80 1.1 christos
81 1.1 christos AddressingModeKeyword
82 1.1 christos : PARSEOP_ADDRESSINGMODE_7BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_7BIT);}
83 1.1 christos | PARSEOP_ADDRESSINGMODE_10BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_10BIT);}
84 1.1 christos ;
85 1.1 christos
86 1.1 christos AddressKeyword
87 1.1 christos : PARSEOP_ADDRESSTYPE_MEMORY {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_MEMORY);}
88 1.1 christos | PARSEOP_ADDRESSTYPE_RESERVED {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_RESERVED);}
89 1.1 christos | PARSEOP_ADDRESSTYPE_NVS {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_NVS);}
90 1.1 christos | PARSEOP_ADDRESSTYPE_ACPI {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_ACPI);}
91 1.1 christos ;
92 1.1 christos
93 1.1 christos AddressSpaceKeyword
94 1.1 christos : ByteConst {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);}
95 1.1 christos | RegionSpaceKeyword {}
96 1.1 christos ;
97 1.1 christos
98 1.1 christos BitsPerByteKeyword
99 1.1 christos : PARSEOP_BITSPERBYTE_FIVE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_FIVE);}
100 1.1 christos | PARSEOP_BITSPERBYTE_SIX {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SIX);}
101 1.1 christos | PARSEOP_BITSPERBYTE_SEVEN {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SEVEN);}
102 1.1 christos | PARSEOP_BITSPERBYTE_EIGHT {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_EIGHT);}
103 1.1 christos | PARSEOP_BITSPERBYTE_NINE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_NINE);}
104 1.1 christos ;
105 1.1 christos
106 1.1 christos ClockPhaseKeyword
107 1.1 christos : PARSEOP_CLOCKPHASE_FIRST {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_FIRST);}
108 1.1 christos | PARSEOP_CLOCKPHASE_SECOND {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_SECOND);}
109 1.1 christos ;
110 1.1 christos
111 1.1 christos ClockPolarityKeyword
112 1.1 christos : PARSEOP_CLOCKPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_LOW);}
113 1.1 christos | PARSEOP_CLOCKPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_HIGH);}
114 1.1 christos ;
115 1.1 christos
116 1.1 christos DecodeKeyword
117 1.1 christos : PARSEOP_DECODETYPE_POS {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_POS);}
118 1.1 christos | PARSEOP_DECODETYPE_SUB {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_SUB);}
119 1.1 christos ;
120 1.1 christos
121 1.1 christos DevicePolarityKeyword
122 1.1 christos : PARSEOP_DEVICEPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_LOW);}
123 1.1 christos | PARSEOP_DEVICEPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_HIGH);}
124 1.1 christos ;
125 1.1 christos
126 1.1 christos DMATypeKeyword
127 1.1 christos : PARSEOP_DMATYPE_A {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_A);}
128 1.1 christos | PARSEOP_DMATYPE_COMPATIBILITY {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_COMPATIBILITY);}
129 1.1 christos | PARSEOP_DMATYPE_B {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_B);}
130 1.1 christos | PARSEOP_DMATYPE_F {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_F);}
131 1.1 christos ;
132 1.1 christos
133 1.1 christos EndianKeyword
134 1.1 christos : PARSEOP_ENDIAN_LITTLE {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_LITTLE);}
135 1.1 christos | PARSEOP_ENDIAN_BIG {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_BIG);}
136 1.1 christos ;
137 1.1 christos
138 1.1 christos FlowControlKeyword
139 1.1 christos : PARSEOP_FLOWCONTROL_HW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_HW);}
140 1.1 christos | PARSEOP_FLOWCONTROL_NONE {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_NONE);}
141 1.1 christos | PARSEOP_FLOWCONTROL_SW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_SW);}
142 1.1 christos ;
143 1.1 christos
144 1.1 christos InterruptLevel
145 1.1 christos : PARSEOP_INTLEVEL_ACTIVEBOTH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEBOTH);}
146 1.1 christos | PARSEOP_INTLEVEL_ACTIVEHIGH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEHIGH);}
147 1.1 christos | PARSEOP_INTLEVEL_ACTIVELOW {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVELOW);}
148 1.1 christos ;
149 1.1 christos
150 1.1 christos InterruptTypeKeyword
151 1.1 christos : PARSEOP_INTTYPE_EDGE {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_EDGE);}
152 1.1 christos | PARSEOP_INTTYPE_LEVEL {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_LEVEL);}
153 1.1 christos ;
154 1.1 christos
155 1.1 christos IODecodeKeyword
156 1.1 christos : PARSEOP_IODECODETYPE_16 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_16);}
157 1.1 christos | PARSEOP_IODECODETYPE_10 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_10);}
158 1.1 christos ;
159 1.1 christos
160 1.1 christos IoRestrictionKeyword
161 1.1 christos : PARSEOP_IORESTRICT_IN {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_IN);}
162 1.1 christos | PARSEOP_IORESTRICT_OUT {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_OUT);}
163 1.1 christos | PARSEOP_IORESTRICT_NONE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_NONE);}
164 1.1 christos | PARSEOP_IORESTRICT_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_PRESERVE);}
165 1.1 christos ;
166 1.1 christos
167 1.1 christos LockRuleKeyword
168 1.1 christos : PARSEOP_LOCKRULE_LOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_LOCK);}
169 1.1 christos | PARSEOP_LOCKRULE_NOLOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_NOLOCK);}
170 1.1 christos ;
171 1.1 christos
172 1.1 christos MatchOpKeyword
173 1.1 christos : PARSEOP_MATCHTYPE_MTR {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MTR);}
174 1.1 christos | PARSEOP_MATCHTYPE_MEQ {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MEQ);}
175 1.1 christos | PARSEOP_MATCHTYPE_MLE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLE);}
176 1.1 christos | PARSEOP_MATCHTYPE_MLT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLT);}
177 1.1 christos | PARSEOP_MATCHTYPE_MGE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGE);}
178 1.1 christos | PARSEOP_MATCHTYPE_MGT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGT);}
179 1.1 christos ;
180 1.1 christos
181 1.1 christos MaxKeyword
182 1.1 christos : PARSEOP_MAXTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_FIXED);}
183 1.1 christos | PARSEOP_MAXTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_NOTFIXED);}
184 1.1 christos ;
185 1.1 christos
186 1.1 christos MemTypeKeyword
187 1.1 christos : PARSEOP_MEMTYPE_CACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_CACHEABLE);}
188 1.1 christos | PARSEOP_MEMTYPE_WRITECOMBINING {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_WRITECOMBINING);}
189 1.1 christos | PARSEOP_MEMTYPE_PREFETCHABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_PREFETCHABLE);}
190 1.1 christos | PARSEOP_MEMTYPE_NONCACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_NONCACHEABLE);}
191 1.1 christos ;
192 1.1 christos
193 1.1 christos MinKeyword
194 1.1 christos : PARSEOP_MINTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_FIXED);}
195 1.1 christos | PARSEOP_MINTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_NOTFIXED);}
196 1.1 christos ;
197 1.1 christos
198 1.1 christos ObjectTypeKeyword
199 1.1 christos : PARSEOP_OBJECTTYPE_UNK {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
200 1.1 christos | PARSEOP_OBJECTTYPE_INT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_INT);}
201 1.1 christos | PARSEOP_OBJECTTYPE_STR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_STR);}
202 1.1 christos | PARSEOP_OBJECTTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BUF);}
203 1.1 christos | PARSEOP_OBJECTTYPE_PKG {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PKG);}
204 1.1 christos | PARSEOP_OBJECTTYPE_FLD {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_FLD);}
205 1.1 christos | PARSEOP_OBJECTTYPE_DEV {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DEV);}
206 1.1 christos | PARSEOP_OBJECTTYPE_EVT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_EVT);}
207 1.1 christos | PARSEOP_OBJECTTYPE_MTH {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTH);}
208 1.1 christos | PARSEOP_OBJECTTYPE_MTX {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTX);}
209 1.1 christos | PARSEOP_OBJECTTYPE_OPR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_OPR);}
210 1.1 christos | PARSEOP_OBJECTTYPE_POW {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_POW);}
211 1.1 christos | PARSEOP_OBJECTTYPE_PRO {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PRO);}
212 1.1 christos | PARSEOP_OBJECTTYPE_THZ {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_THZ);}
213 1.1 christos | PARSEOP_OBJECTTYPE_BFF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BFF);}
214 1.1 christos | PARSEOP_OBJECTTYPE_DDB {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DDB);}
215 1.1 christos ;
216 1.1 christos
217 1.1 christos ParityTypeKeyword
218 1.1 christos : PARSEOP_PARITYTYPE_SPACE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_SPACE);}
219 1.1 christos | PARSEOP_PARITYTYPE_MARK {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_MARK);}
220 1.1 christos | PARSEOP_PARITYTYPE_ODD {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_ODD);}
221 1.1 christos | PARSEOP_PARITYTYPE_EVEN {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_EVEN);}
222 1.1 christos | PARSEOP_PARITYTYPE_NONE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_NONE);}
223 1.1 christos ;
224 1.1 christos
225 1.1 christos PinConfigByte
226 1.1 christos : PinConfigKeyword {$$ = $1;}
227 1.1 christos | ByteConstExpr {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
228 1.1 christos ;
229 1.1 christos
230 1.1 christos PinConfigKeyword
231 1.1 christos : PARSEOP_PIN_NOPULL {$$ = TrCreateLeafNode (PARSEOP_PIN_NOPULL);}
232 1.1 christos | PARSEOP_PIN_PULLDOWN {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDOWN);}
233 1.1 christos | PARSEOP_PIN_PULLUP {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLUP);}
234 1.1 christos | PARSEOP_PIN_PULLDEFAULT {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDEFAULT);}
235 1.1 christos ;
236 1.1 christos
237 1.1 christos PldKeyword
238 1.1 christos : PARSEOP_PLD_REVISION {$$ = TrCreateLeafNode (PARSEOP_PLD_REVISION);}
239 1.1 christos | PARSEOP_PLD_IGNORECOLOR {$$ = TrCreateLeafNode (PARSEOP_PLD_IGNORECOLOR);}
240 1.1 christos | PARSEOP_PLD_RED {$$ = TrCreateLeafNode (PARSEOP_PLD_RED);}
241 1.1 christos | PARSEOP_PLD_GREEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GREEN);}
242 1.1 christos | PARSEOP_PLD_BLUE {$$ = TrCreateLeafNode (PARSEOP_PLD_BLUE);}
243 1.1 christos | PARSEOP_PLD_WIDTH {$$ = TrCreateLeafNode (PARSEOP_PLD_WIDTH);}
244 1.1 christos | PARSEOP_PLD_HEIGHT {$$ = TrCreateLeafNode (PARSEOP_PLD_HEIGHT);}
245 1.1 christos | PARSEOP_PLD_USERVISIBLE {$$ = TrCreateLeafNode (PARSEOP_PLD_USERVISIBLE);}
246 1.1 christos | PARSEOP_PLD_DOCK {$$ = TrCreateLeafNode (PARSEOP_PLD_DOCK);}
247 1.1 christos | PARSEOP_PLD_LID {$$ = TrCreateLeafNode (PARSEOP_PLD_LID);}
248 1.1 christos | PARSEOP_PLD_PANEL {$$ = TrCreateLeafNode (PARSEOP_PLD_PANEL);}
249 1.1 christos | PARSEOP_PLD_VERTICALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALPOSITION);}
250 1.1 christos | PARSEOP_PLD_HORIZONTALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALPOSITION);}
251 1.1 christos | PARSEOP_PLD_SHAPE {$$ = TrCreateLeafNode (PARSEOP_PLD_SHAPE);}
252 1.1 christos | PARSEOP_PLD_GROUPORIENTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPORIENTATION);}
253 1.1 christos | PARSEOP_PLD_GROUPTOKEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPTOKEN);}
254 1.1 christos | PARSEOP_PLD_GROUPPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPPOSITION);}
255 1.1 christos | PARSEOP_PLD_BAY {$$ = TrCreateLeafNode (PARSEOP_PLD_BAY);}
256 1.1 christos | PARSEOP_PLD_EJECTABLE {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTABLE);}
257 1.1 christos | PARSEOP_PLD_EJECTREQUIRED {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTREQUIRED);}
258 1.1 christos | PARSEOP_PLD_CABINETNUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CABINETNUMBER);}
259 1.1 christos | PARSEOP_PLD_CARDCAGENUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CARDCAGENUMBER);}
260 1.1 christos | PARSEOP_PLD_REFERENCE {$$ = TrCreateLeafNode (PARSEOP_PLD_REFERENCE);}
261 1.1 christos | PARSEOP_PLD_ROTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_ROTATION);}
262 1.1 christos | PARSEOP_PLD_ORDER {$$ = TrCreateLeafNode (PARSEOP_PLD_ORDER);}
263 1.1 christos | PARSEOP_PLD_RESERVED {$$ = TrCreateLeafNode (PARSEOP_PLD_RESERVED);}
264 1.1 christos | PARSEOP_PLD_VERTICALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALOFFSET);}
265 1.1 christos | PARSEOP_PLD_HORIZONTALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALOFFSET);}
266 1.1 christos ;
267 1.1 christos
268 1.1 christos RangeTypeKeyword
269 1.1 christos : PARSEOP_RANGETYPE_ISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ISAONLY);}
270 1.1 christos | PARSEOP_RANGETYPE_NONISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_NONISAONLY);}
271 1.1 christos | PARSEOP_RANGETYPE_ENTIRE {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ENTIRE);}
272 1.1 christos ;
273 1.1 christos
274 1.1 christos RegionSpaceKeyword
275 1.1 christos : PARSEOP_REGIONSPACE_IO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IO);}
276 1.1 christos | PARSEOP_REGIONSPACE_MEM {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_MEM);}
277 1.1 christos | PARSEOP_REGIONSPACE_PCI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCI);}
278 1.1 christos | PARSEOP_REGIONSPACE_EC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_EC);}
279 1.1 christos | PARSEOP_REGIONSPACE_SMBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_SMBUS);}
280 1.1 christos | PARSEOP_REGIONSPACE_CMOS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_CMOS);}
281 1.1 christos | PARSEOP_REGIONSPACE_PCIBAR {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCIBAR);}
282 1.1 christos | PARSEOP_REGIONSPACE_IPMI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IPMI);}
283 1.1 christos | PARSEOP_REGIONSPACE_GPIO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GPIO);}
284 1.1 christos | PARSEOP_REGIONSPACE_GSBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GSBUS);}
285 1.1 christos | PARSEOP_REGIONSPACE_PCC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCC);}
286 1.1 christos | PARSEOP_REGIONSPACE_FFIXEDHW {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_FFIXEDHW);}
287 1.1 christos ;
288 1.1 christos
289 1.1 christos ResourceTypeKeyword
290 1.1 christos : PARSEOP_RESOURCETYPE_CONSUMER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
291 1.1 christos | PARSEOP_RESOURCETYPE_PRODUCER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_PRODUCER);}
292 1.1 christos ;
293 1.1 christos
294 1.1 christos SerializeRuleKeyword
295 1.1 christos : PARSEOP_SERIALIZERULE_SERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_SERIAL);}
296 1.1 christos | PARSEOP_SERIALIZERULE_NOTSERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL);}
297 1.1 christos ;
298 1.1 christos
299 1.1 christos ShareTypeKeyword
300 1.1 christos : PARSEOP_SHARETYPE_SHARED {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHARED);}
301 1.1 christos | PARSEOP_SHARETYPE_EXCLUSIVE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVE);}
302 1.1 christos | PARSEOP_SHARETYPE_SHAREDWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHAREDWAKE);}
303 1.1 christos | PARSEOP_SHARETYPE_EXCLUSIVEWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVEWAKE);}
304 1.1 christos ;
305 1.1 christos
306 1.1 christos SlaveModeKeyword
307 1.1 christos : PARSEOP_SLAVEMODE_CONTROLLERINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_CONTROLLERINIT);}
308 1.1 christos | PARSEOP_SLAVEMODE_DEVICEINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_DEVICEINIT);}
309 1.1 christos ;
310 1.1 christos
311 1.1 christos StopBitsKeyword
312 1.1 christos : PARSEOP_STOPBITS_TWO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_TWO);}
313 1.1 christos | PARSEOP_STOPBITS_ONEPLUSHALF {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONEPLUSHALF);}
314 1.1 christos | PARSEOP_STOPBITS_ONE {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONE);}
315 1.1 christos | PARSEOP_STOPBITS_ZERO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ZERO);}
316 1.1 christos ;
317 1.1 christos
318 1.1 christos TranslationKeyword
319 1.1 christos : PARSEOP_TRANSLATIONTYPE_SPARSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_SPARSE);}
320 1.1 christos | PARSEOP_TRANSLATIONTYPE_DENSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_DENSE);}
321 1.1 christos ;
322 1.1 christos
323 1.1 christos TypeKeyword
324 1.1 christos : PARSEOP_TYPE_TRANSLATION {$$ = TrCreateLeafNode (PARSEOP_TYPE_TRANSLATION);}
325 1.1 christos | PARSEOP_TYPE_STATIC {$$ = TrCreateLeafNode (PARSEOP_TYPE_STATIC);}
326 1.1 christos ;
327 1.1 christos
328 1.1 christos UpdateRuleKeyword
329 1.1 christos : PARSEOP_UPDATERULE_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_PRESERVE);}
330 1.1 christos | PARSEOP_UPDATERULE_ONES {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ONES);}
331 1.1 christos | PARSEOP_UPDATERULE_ZEROS {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ZEROS);}
332 1.1 christos ;
333 1.1 christos
334 1.1 christos WireModeKeyword
335 1.1 christos : PARSEOP_WIREMODE_FOUR {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_FOUR);}
336 1.1 christos | PARSEOP_WIREMODE_THREE {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_THREE);}
337 1.1 christos ;
338 1.1 christos
339 1.1 christos XferSizeKeyword
340 1.1 christos : PARSEOP_XFERSIZE_8 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_8, 0);}
341 1.1 christos | PARSEOP_XFERSIZE_16 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_16, 1);}
342 1.1 christos | PARSEOP_XFERSIZE_32 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
343 1.1 christos | PARSEOP_XFERSIZE_64 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_64, 3);}
344 1.1 christos | PARSEOP_XFERSIZE_128 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_128, 4);}
345 1.1 christos | PARSEOP_XFERSIZE_256 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_256, 5);}
346 1.1 christos ;
347 1.1 christos
348 1.1 christos XferTypeKeyword
349 1.1 christos : PARSEOP_XFERTYPE_8 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8);}
350 1.1 christos | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8_16);}
351 1.1 christos | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_16);}
352 1.1 christos ;
353 1.1 christos
354 1.1 christos
355 1.1 christos /*******************************************************************************
356 1.1 christos *
357 1.1 christos * ASL Resource Template Terms
358 1.1 christos *
359 1.1 christos ******************************************************************************/
360 1.1 christos
361 1.1 christos /*
362 1.1 christos * Note: Create two default nodes to allow conversion to a Buffer AML opcode
363 1.1 christos * Also, insert the EndTag at the end of the template.
364 1.1 christos */
365 1.1 christos ResourceTemplateTerm
366 1.1 christos : PARSEOP_RESOURCETEMPLATE '(' ')'
367 1.1 christos '{'
368 1.1 christos ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
369 1.1 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
370 1.1 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
371 1.1 christos $5,
372 1.1 christos TrCreateLeafNode (PARSEOP_ENDTAG));}
373 1.1 christos ;
374 1.1 christos
375 1.1 christos ResourceMacroList
376 1.1 christos : {$$ = NULL;}
377 1.1 christos | ResourceMacroList
378 1.1 christos ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);}
379 1.1 christos ;
380 1.1 christos
381 1.1 christos ResourceMacroTerm
382 1.1 christos : DMATerm {}
383 1.1 christos | DWordIOTerm {}
384 1.1 christos | DWordMemoryTerm {}
385 1.1 christos | DWordSpaceTerm {}
386 1.1 christos | EndDependentFnTerm {}
387 1.1 christos | ExtendedIOTerm {}
388 1.1 christos | ExtendedMemoryTerm {}
389 1.1 christos | ExtendedSpaceTerm {}
390 1.1 christos | FixedDmaTerm {}
391 1.1 christos | FixedIOTerm {}
392 1.1 christos | GpioIntTerm {}
393 1.1 christos | GpioIoTerm {}
394 1.1 christos | I2cSerialBusTerm {}
395 1.1.1.2 christos | I2cSerialBusTermV2 {}
396 1.1 christos | InterruptTerm {}
397 1.1 christos | IOTerm {}
398 1.1 christos | IRQNoFlagsTerm {}
399 1.1 christos | IRQTerm {}
400 1.1 christos | Memory24Term {}
401 1.1 christos | Memory32FixedTerm {}
402 1.1 christos | Memory32Term {}
403 1.1 christos | QWordIOTerm {}
404 1.1 christos | QWordMemoryTerm {}
405 1.1 christos | QWordSpaceTerm {}
406 1.1 christos | RegisterTerm {}
407 1.1 christos | SpiSerialBusTerm {}
408 1.1.1.2 christos | SpiSerialBusTermV2 {}
409 1.1 christos | StartDependentFnNoPriTerm {}
410 1.1 christos | StartDependentFnTerm {}
411 1.1 christos | UartSerialBusTerm {}
412 1.1.1.2 christos | UartSerialBusTermV2 {}
413 1.1 christos | VendorLongTerm {}
414 1.1 christos | VendorShortTerm {}
415 1.1 christos | WordBusNumberTerm {}
416 1.1 christos | WordIOTerm {}
417 1.1 christos | WordSpaceTerm {}
418 1.1 christos ;
419 1.1 christos
420 1.1 christos DMATerm
421 1.1 christos : PARSEOP_DMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
422 1.1 christos DMATypeKeyword
423 1.1 christos OptionalBusMasterKeyword
424 1.1 christos ',' XferTypeKeyword
425 1.1 christos OptionalNameString_Last
426 1.1 christos ')' '{'
427 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
428 1.1 christos | PARSEOP_DMA '('
429 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
430 1.1 christos ;
431 1.1 christos
432 1.1 christos DWordIOTerm
433 1.1 christos : PARSEOP_DWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
434 1.1 christos OptionalResourceType_First
435 1.1 christos OptionalMinType
436 1.1 christos OptionalMaxType
437 1.1 christos OptionalDecodeType
438 1.1 christos OptionalRangeType
439 1.1 christos ',' DWordConstExpr
440 1.1 christos ',' DWordConstExpr
441 1.1 christos ',' DWordConstExpr
442 1.1 christos ',' DWordConstExpr
443 1.1 christos ',' DWordConstExpr
444 1.1 christos OptionalByteConstExpr
445 1.1 christos OptionalStringData
446 1.1 christos OptionalNameString
447 1.1 christos OptionalType
448 1.1 christos OptionalTranslationType_Last
449 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
450 1.1 christos | PARSEOP_DWORDIO '('
451 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
452 1.1 christos ;
453 1.1 christos
454 1.1 christos DWordMemoryTerm
455 1.1 christos : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
456 1.1 christos OptionalResourceType_First
457 1.1 christos OptionalDecodeType
458 1.1 christos OptionalMinType
459 1.1 christos OptionalMaxType
460 1.1 christos OptionalMemType
461 1.1 christos ',' OptionalReadWriteKeyword
462 1.1 christos ',' DWordConstExpr
463 1.1 christos ',' DWordConstExpr
464 1.1 christos ',' DWordConstExpr
465 1.1 christos ',' DWordConstExpr
466 1.1 christos ',' DWordConstExpr
467 1.1 christos OptionalByteConstExpr
468 1.1 christos OptionalStringData
469 1.1 christos OptionalNameString
470 1.1 christos OptionalAddressRange
471 1.1 christos OptionalType_Last
472 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
473 1.1 christos | PARSEOP_DWORDMEMORY '('
474 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
475 1.1 christos ;
476 1.1 christos
477 1.1 christos DWordSpaceTerm
478 1.1 christos : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
479 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
480 1.1 christos OptionalResourceType
481 1.1 christos OptionalDecodeType
482 1.1 christos OptionalMinType
483 1.1 christos OptionalMaxType
484 1.1 christos ',' ByteConstExpr
485 1.1 christos ',' DWordConstExpr
486 1.1 christos ',' DWordConstExpr
487 1.1 christos ',' DWordConstExpr
488 1.1 christos ',' DWordConstExpr
489 1.1 christos ',' DWordConstExpr
490 1.1 christos OptionalByteConstExpr
491 1.1 christos OptionalStringData
492 1.1 christos OptionalNameString_Last
493 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
494 1.1 christos | PARSEOP_DWORDSPACE '('
495 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
496 1.1 christos ;
497 1.1 christos
498 1.1 christos EndDependentFnTerm
499 1.1 christos : PARSEOP_ENDDEPENDENTFN '('
500 1.1 christos ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
501 1.1 christos | PARSEOP_ENDDEPENDENTFN '('
502 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
503 1.1 christos ;
504 1.1 christos
505 1.1 christos ExtendedIOTerm
506 1.1 christos : PARSEOP_EXTENDEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
507 1.1 christos OptionalResourceType_First
508 1.1 christos OptionalMinType
509 1.1 christos OptionalMaxType
510 1.1 christos OptionalDecodeType
511 1.1 christos OptionalRangeType
512 1.1 christos ',' QWordConstExpr
513 1.1 christos ',' QWordConstExpr
514 1.1 christos ',' QWordConstExpr
515 1.1 christos ',' QWordConstExpr
516 1.1 christos ',' QWordConstExpr
517 1.1 christos OptionalQWordConstExpr
518 1.1 christos OptionalNameString
519 1.1 christos OptionalType
520 1.1 christos OptionalTranslationType_Last
521 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
522 1.1 christos | PARSEOP_EXTENDEDIO '('
523 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
524 1.1 christos ;
525 1.1 christos
526 1.1 christos ExtendedMemoryTerm
527 1.1 christos : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
528 1.1 christos OptionalResourceType_First
529 1.1 christos OptionalDecodeType
530 1.1 christos OptionalMinType
531 1.1 christos OptionalMaxType
532 1.1 christos OptionalMemType
533 1.1 christos ',' OptionalReadWriteKeyword
534 1.1 christos ',' QWordConstExpr
535 1.1 christos ',' QWordConstExpr
536 1.1 christos ',' QWordConstExpr
537 1.1 christos ',' QWordConstExpr
538 1.1 christos ',' QWordConstExpr
539 1.1 christos OptionalQWordConstExpr
540 1.1 christos OptionalNameString
541 1.1 christos OptionalAddressRange
542 1.1 christos OptionalType_Last
543 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
544 1.1 christos | PARSEOP_EXTENDEDMEMORY '('
545 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
546 1.1 christos ;
547 1.1 christos
548 1.1 christos ExtendedSpaceTerm
549 1.1 christos : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
550 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
551 1.1 christos OptionalResourceType
552 1.1 christos OptionalDecodeType
553 1.1 christos OptionalMinType
554 1.1 christos OptionalMaxType
555 1.1 christos ',' ByteConstExpr
556 1.1 christos ',' QWordConstExpr
557 1.1 christos ',' QWordConstExpr
558 1.1 christos ',' QWordConstExpr
559 1.1 christos ',' QWordConstExpr
560 1.1 christos ',' QWordConstExpr
561 1.1 christos OptionalQWordConstExpr
562 1.1 christos OptionalNameString_Last
563 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,13,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
564 1.1 christos | PARSEOP_EXTENDEDSPACE '('
565 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
566 1.1 christos ;
567 1.1 christos
568 1.1 christos FixedDmaTerm
569 1.1 christos : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
570 1.1 christos WordConstExpr /* 04: DMA RequestLines */
571 1.1 christos ',' WordConstExpr /* 06: DMA Channels */
572 1.1 christos OptionalXferSize /* 07: DMA TransferSize */
573 1.1 christos OptionalNameString /* 08: DescriptorName */
574 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
575 1.1 christos | PARSEOP_FIXEDDMA '('
576 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
577 1.1 christos ;
578 1.1 christos
579 1.1 christos FixedIOTerm
580 1.1 christos : PARSEOP_FIXEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
581 1.1 christos WordConstExpr
582 1.1 christos ',' ByteConstExpr
583 1.1 christos OptionalNameString_Last
584 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
585 1.1 christos | PARSEOP_FIXEDIO '('
586 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
587 1.1 christos ;
588 1.1 christos
589 1.1 christos GpioIntTerm
590 1.1 christos : PARSEOP_GPIO_INT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
591 1.1 christos InterruptTypeKeyword /* 04: InterruptType */
592 1.1 christos ',' InterruptLevel /* 06: InterruptLevel */
593 1.1 christos OptionalShareType /* 07: SharedType */
594 1.1 christos ',' PinConfigByte /* 09: PinConfig */
595 1.1 christos OptionalWordConstExpr /* 10: DebounceTimeout */
596 1.1 christos ',' StringData /* 12: ResourceSource */
597 1.1 christos OptionalByteConstExpr /* 13: ResourceSourceIndex */
598 1.1 christos OptionalResourceType /* 14: ResourceType */
599 1.1 christos OptionalNameString /* 15: DescriptorName */
600 1.1 christos OptionalBuffer_Last /* 16: VendorData */
601 1.1 christos ')' '{'
602 1.1 christos DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
603 1.1 christos | PARSEOP_GPIO_INT '('
604 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
605 1.1 christos ;
606 1.1 christos
607 1.1 christos GpioIoTerm
608 1.1 christos : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
609 1.1 christos OptionalShareType_First /* 04: SharedType */
610 1.1 christos ',' PinConfigByte /* 06: PinConfig */
611 1.1 christos OptionalWordConstExpr /* 07: DebounceTimeout */
612 1.1 christos OptionalWordConstExpr /* 08: DriveStrength */
613 1.1 christos OptionalIoRestriction /* 09: IoRestriction */
614 1.1 christos ',' StringData /* 11: ResourceSource */
615 1.1 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
616 1.1 christos OptionalResourceType /* 13: ResourceType */
617 1.1 christos OptionalNameString /* 14: DescriptorName */
618 1.1 christos OptionalBuffer_Last /* 15: VendorData */
619 1.1 christos ')' '{'
620 1.1 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
621 1.1 christos | PARSEOP_GPIO_IO '('
622 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
623 1.1 christos ;
624 1.1 christos
625 1.1 christos I2cSerialBusTerm
626 1.1 christos : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
627 1.1 christos WordConstExpr /* 04: SlaveAddress */
628 1.1 christos OptionalSlaveMode /* 05: SlaveMode */
629 1.1 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
630 1.1 christos OptionalAddressingMode /* 08: AddressingMode */
631 1.1 christos ',' StringData /* 10: ResourceSource */
632 1.1 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
633 1.1 christos OptionalResourceType /* 12: ResourceType */
634 1.1 christos OptionalNameString /* 13: DescriptorName */
635 1.1 christos OptionalBuffer_Last /* 14: VendorData */
636 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13,
637 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
638 1.1 christos | PARSEOP_I2C_SERIALBUS '('
639 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
640 1.1 christos ;
641 1.1 christos
642 1.1.1.2 christos I2cSerialBusTermV2
643 1.1.1.2 christos : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
644 1.1.1.2 christos WordConstExpr /* 04: SlaveAddress */
645 1.1.1.2 christos OptionalSlaveMode /* 05: SlaveMode */
646 1.1.1.2 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
647 1.1.1.2 christos OptionalAddressingMode /* 08: AddressingMode */
648 1.1.1.2 christos ',' StringData /* 10: ResourceSource */
649 1.1.1.2 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
650 1.1.1.2 christos OptionalResourceType /* 12: ResourceType */
651 1.1.1.2 christos OptionalNameString /* 13: DescriptorName */
652 1.1.1.2 christos OptionalShareType /* 14: Share */
653 1.1.1.2 christos OptionalBuffer_Last /* 15: VendorData */
654 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13,
655 1.1.1.2 christos $14,$15);}
656 1.1.1.2 christos | PARSEOP_I2C_SERIALBUS_V2 '('
657 1.1.1.2 christos error ')' {$$ = AslDoError(); yyclearin;}
658 1.1.1.2 christos ;
659 1.1.1.2 christos
660 1.1 christos InterruptTerm
661 1.1 christos : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
662 1.1 christos OptionalResourceType_First
663 1.1 christos ',' InterruptTypeKeyword
664 1.1 christos ',' InterruptLevel
665 1.1 christos OptionalShareType
666 1.1 christos OptionalByteConstExpr
667 1.1 christos OptionalStringData
668 1.1 christos OptionalNameString_Last
669 1.1 christos ')' '{'
670 1.1 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,8,$4,$6,$8,$9,$10,$11,$12,$15);}
671 1.1 christos | PARSEOP_INTERRUPT '('
672 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
673 1.1 christos ;
674 1.1 christos
675 1.1 christos IOTerm
676 1.1 christos : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
677 1.1 christos IODecodeKeyword
678 1.1 christos ',' WordConstExpr
679 1.1 christos ',' WordConstExpr
680 1.1 christos ',' ByteConstExpr
681 1.1 christos ',' ByteConstExpr
682 1.1 christos OptionalNameString_Last
683 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
684 1.1 christos | PARSEOP_IO '('
685 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
686 1.1 christos ;
687 1.1 christos
688 1.1 christos IRQNoFlagsTerm
689 1.1 christos : PARSEOP_IRQNOFLAGS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
690 1.1 christos OptionalNameString_First
691 1.1 christos ')' '{'
692 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
693 1.1 christos | PARSEOP_IRQNOFLAGS '('
694 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
695 1.1 christos ;
696 1.1 christos
697 1.1 christos IRQTerm
698 1.1 christos : PARSEOP_IRQ '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
699 1.1 christos InterruptTypeKeyword
700 1.1 christos ',' InterruptLevel
701 1.1 christos OptionalShareType
702 1.1 christos OptionalNameString_Last
703 1.1 christos ')' '{'
704 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
705 1.1 christos | PARSEOP_IRQ '('
706 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
707 1.1 christos ;
708 1.1 christos
709 1.1 christos Memory24Term
710 1.1 christos : PARSEOP_MEMORY24 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
711 1.1 christos OptionalReadWriteKeyword
712 1.1 christos ',' WordConstExpr
713 1.1 christos ',' WordConstExpr
714 1.1 christos ',' WordConstExpr
715 1.1 christos ',' WordConstExpr
716 1.1 christos OptionalNameString_Last
717 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
718 1.1 christos | PARSEOP_MEMORY24 '('
719 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
720 1.1 christos ;
721 1.1 christos
722 1.1 christos Memory32FixedTerm
723 1.1 christos : PARSEOP_MEMORY32FIXED '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
724 1.1 christos OptionalReadWriteKeyword
725 1.1 christos ',' DWordConstExpr
726 1.1 christos ',' DWordConstExpr
727 1.1 christos OptionalNameString_Last
728 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
729 1.1 christos | PARSEOP_MEMORY32FIXED '('
730 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
731 1.1 christos ;
732 1.1 christos
733 1.1 christos Memory32Term
734 1.1 christos : PARSEOP_MEMORY32 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
735 1.1 christos OptionalReadWriteKeyword
736 1.1 christos ',' DWordConstExpr
737 1.1 christos ',' DWordConstExpr
738 1.1 christos ',' DWordConstExpr
739 1.1 christos ',' DWordConstExpr
740 1.1 christos OptionalNameString_Last
741 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
742 1.1 christos | PARSEOP_MEMORY32 '('
743 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
744 1.1 christos ;
745 1.1 christos
746 1.1 christos QWordIOTerm
747 1.1 christos : PARSEOP_QWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
748 1.1 christos OptionalResourceType_First
749 1.1 christos OptionalMinType
750 1.1 christos OptionalMaxType
751 1.1 christos OptionalDecodeType
752 1.1 christos OptionalRangeType
753 1.1 christos ',' QWordConstExpr
754 1.1 christos ',' QWordConstExpr
755 1.1 christos ',' QWordConstExpr
756 1.1 christos ',' QWordConstExpr
757 1.1 christos ',' QWordConstExpr
758 1.1 christos OptionalByteConstExpr
759 1.1 christos OptionalStringData
760 1.1 christos OptionalNameString
761 1.1 christos OptionalType
762 1.1 christos OptionalTranslationType_Last
763 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
764 1.1 christos | PARSEOP_QWORDIO '('
765 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
766 1.1 christos ;
767 1.1 christos
768 1.1 christos QWordMemoryTerm
769 1.1 christos : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
770 1.1 christos OptionalResourceType_First
771 1.1 christos OptionalDecodeType
772 1.1 christos OptionalMinType
773 1.1 christos OptionalMaxType
774 1.1 christos OptionalMemType
775 1.1 christos ',' OptionalReadWriteKeyword
776 1.1 christos ',' QWordConstExpr
777 1.1 christos ',' QWordConstExpr
778 1.1 christos ',' QWordConstExpr
779 1.1 christos ',' QWordConstExpr
780 1.1 christos ',' QWordConstExpr
781 1.1 christos OptionalByteConstExpr
782 1.1 christos OptionalStringData
783 1.1 christos OptionalNameString
784 1.1 christos OptionalAddressRange
785 1.1 christos OptionalType_Last
786 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
787 1.1 christos | PARSEOP_QWORDMEMORY '('
788 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
789 1.1 christos ;
790 1.1 christos
791 1.1 christos QWordSpaceTerm
792 1.1 christos : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
793 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
794 1.1 christos OptionalResourceType
795 1.1 christos OptionalDecodeType
796 1.1 christos OptionalMinType
797 1.1 christos OptionalMaxType
798 1.1 christos ',' ByteConstExpr
799 1.1 christos ',' QWordConstExpr
800 1.1 christos ',' QWordConstExpr
801 1.1 christos ',' QWordConstExpr
802 1.1 christos ',' QWordConstExpr
803 1.1 christos ',' QWordConstExpr
804 1.1 christos OptionalByteConstExpr
805 1.1 christos OptionalStringData
806 1.1 christos OptionalNameString_Last
807 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
808 1.1 christos | PARSEOP_QWORDSPACE '('
809 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
810 1.1 christos ;
811 1.1 christos
812 1.1 christos RegisterTerm
813 1.1 christos : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
814 1.1 christos AddressSpaceKeyword
815 1.1 christos ',' ByteConstExpr
816 1.1 christos ',' ByteConstExpr
817 1.1 christos ',' QWordConstExpr
818 1.1 christos OptionalAccessSize
819 1.1 christos OptionalNameString_Last
820 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
821 1.1 christos | PARSEOP_REGISTER '('
822 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
823 1.1 christos ;
824 1.1 christos
825 1.1 christos SpiSerialBusTerm
826 1.1 christos : PARSEOP_SPI_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
827 1.1 christos WordConstExpr /* 04: DeviceSelection */
828 1.1 christos OptionalDevicePolarity /* 05: DevicePolarity */
829 1.1 christos OptionalWireMode /* 06: WireMode */
830 1.1 christos ',' ByteConstExpr /* 08: DataBitLength */
831 1.1 christos OptionalSlaveMode /* 09: SlaveMode */
832 1.1 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
833 1.1 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
834 1.1 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
835 1.1 christos ',' StringData /* 17: ResourceSource */
836 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
837 1.1 christos OptionalResourceType /* 19: ResourceType */
838 1.1 christos OptionalNameString /* 20: DescriptorName */
839 1.1 christos OptionalBuffer_Last /* 21: VendorData */
840 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
841 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
842 1.1 christos | PARSEOP_SPI_SERIALBUS '('
843 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
844 1.1 christos ;
845 1.1 christos
846 1.1.1.2 christos SpiSerialBusTermV2
847 1.1.1.2 christos : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
848 1.1.1.2 christos WordConstExpr /* 04: DeviceSelection */
849 1.1.1.2 christos OptionalDevicePolarity /* 05: DevicePolarity */
850 1.1.1.2 christos OptionalWireMode /* 06: WireMode */
851 1.1.1.2 christos ',' ByteConstExpr /* 08: DataBitLength */
852 1.1.1.2 christos OptionalSlaveMode /* 09: SlaveMode */
853 1.1.1.2 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
854 1.1.1.2 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
855 1.1.1.2 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
856 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
857 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
858 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
859 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
860 1.1.1.2 christos OptionalShareType /* 21: Share */
861 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
862 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
863 1.1.1.2 christos $21,$22);}
864 1.1.1.2 christos | PARSEOP_SPI_SERIALBUS_V2 '('
865 1.1.1.2 christos error ')' {$$ = AslDoError(); yyclearin;}
866 1.1.1.2 christos ;
867 1.1.1.2 christos
868 1.1 christos StartDependentFnNoPriTerm
869 1.1 christos : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
870 1.1 christos ')' '{'
871 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}
872 1.1 christos | PARSEOP_STARTDEPENDENTFN_NOPRI '('
873 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
874 1.1 christos ;
875 1.1 christos
876 1.1 christos StartDependentFnTerm
877 1.1 christos : PARSEOP_STARTDEPENDENTFN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
878 1.1 christos ByteConstExpr
879 1.1 christos ',' ByteConstExpr
880 1.1 christos ')' '{'
881 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
882 1.1 christos | PARSEOP_STARTDEPENDENTFN '('
883 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
884 1.1 christos ;
885 1.1 christos
886 1.1 christos UartSerialBusTerm
887 1.1 christos : PARSEOP_UART_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
888 1.1 christos DWordConstExpr /* 04: ConnectionSpeed */
889 1.1 christos OptionalBitsPerByte /* 05: BitsPerByte */
890 1.1 christos OptionalStopBits /* 06: StopBits */
891 1.1 christos ',' ByteConstExpr /* 08: LinesInUse */
892 1.1 christos OptionalEndian /* 09: Endianess */
893 1.1 christos OptionalParityType /* 10: Parity */
894 1.1 christos OptionalFlowControl /* 11: FlowControl */
895 1.1 christos ',' WordConstExpr /* 13: Rx BufferSize */
896 1.1 christos ',' WordConstExpr /* 15: Tx BufferSize */
897 1.1 christos ',' StringData /* 17: ResourceSource */
898 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
899 1.1 christos OptionalResourceType /* 19: ResourceType */
900 1.1 christos OptionalNameString /* 20: DescriptorName */
901 1.1 christos OptionalBuffer_Last /* 21: VendorData */
902 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
903 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
904 1.1 christos | PARSEOP_UART_SERIALBUS '('
905 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
906 1.1 christos ;
907 1.1 christos
908 1.1.1.2 christos UartSerialBusTermV2
909 1.1.1.2 christos : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
910 1.1.1.2 christos DWordConstExpr /* 04: ConnectionSpeed */
911 1.1.1.2 christos OptionalBitsPerByte /* 05: BitsPerByte */
912 1.1.1.2 christos OptionalStopBits /* 06: StopBits */
913 1.1.1.2 christos ',' ByteConstExpr /* 08: LinesInUse */
914 1.1.1.2 christos OptionalEndian /* 09: Endianess */
915 1.1.1.2 christos OptionalParityType /* 10: Parity */
916 1.1.1.2 christos OptionalFlowControl /* 11: FlowControl */
917 1.1.1.2 christos ',' WordConstExpr /* 13: Rx BufferSize */
918 1.1.1.2 christos ',' WordConstExpr /* 15: Tx BufferSize */
919 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
920 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
921 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
922 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
923 1.1.1.2 christos OptionalShareType /* 21: Share */
924 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
925 1.1.1.2 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
926 1.1.1.2 christos $21,$22);}
927 1.1.1.2 christos | PARSEOP_UART_SERIALBUS_V2 '('
928 1.1.1.2 christos error ')' {$$ = AslDoError(); yyclearin;}
929 1.1.1.2 christos ;
930 1.1.1.2 christos
931 1.1 christos VendorLongTerm
932 1.1 christos : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
933 1.1 christos OptionalNameString_First
934 1.1 christos ')' '{'
935 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
936 1.1 christos | PARSEOP_VENDORLONG '('
937 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
938 1.1 christos ;
939 1.1 christos
940 1.1 christos VendorShortTerm
941 1.1 christos : PARSEOP_VENDORSHORT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
942 1.1 christos OptionalNameString_First
943 1.1 christos ')' '{'
944 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
945 1.1 christos | PARSEOP_VENDORSHORT '('
946 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
947 1.1 christos ;
948 1.1 christos
949 1.1 christos WordBusNumberTerm
950 1.1 christos : PARSEOP_WORDBUSNUMBER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
951 1.1 christos OptionalResourceType_First
952 1.1 christos OptionalMinType
953 1.1 christos OptionalMaxType
954 1.1 christos OptionalDecodeType
955 1.1 christos ',' WordConstExpr
956 1.1 christos ',' WordConstExpr
957 1.1 christos ',' WordConstExpr
958 1.1 christos ',' WordConstExpr
959 1.1 christos ',' WordConstExpr
960 1.1 christos OptionalByteConstExpr
961 1.1 christos OptionalStringData
962 1.1 christos OptionalNameString_Last
963 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,12,$4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
964 1.1 christos | PARSEOP_WORDBUSNUMBER '('
965 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
966 1.1 christos ;
967 1.1 christos
968 1.1 christos WordIOTerm
969 1.1 christos : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
970 1.1 christos OptionalResourceType_First
971 1.1 christos OptionalMinType
972 1.1 christos OptionalMaxType
973 1.1 christos OptionalDecodeType
974 1.1 christos OptionalRangeType
975 1.1 christos ',' WordConstExpr
976 1.1 christos ',' WordConstExpr
977 1.1 christos ',' WordConstExpr
978 1.1 christos ',' WordConstExpr
979 1.1 christos ',' WordConstExpr
980 1.1 christos OptionalByteConstExpr
981 1.1 christos OptionalStringData
982 1.1 christos OptionalNameString
983 1.1 christos OptionalType
984 1.1 christos OptionalTranslationType_Last
985 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
986 1.1 christos | PARSEOP_WORDIO '('
987 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
988 1.1 christos ;
989 1.1 christos
990 1.1 christos WordSpaceTerm
991 1.1 christos : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
992 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
993 1.1 christos OptionalResourceType
994 1.1 christos OptionalDecodeType
995 1.1 christos OptionalMinType
996 1.1 christos OptionalMaxType
997 1.1 christos ',' ByteConstExpr
998 1.1 christos ',' WordConstExpr
999 1.1 christos ',' WordConstExpr
1000 1.1 christos ',' WordConstExpr
1001 1.1 christos ',' WordConstExpr
1002 1.1 christos ',' WordConstExpr
1003 1.1 christos OptionalByteConstExpr
1004 1.1 christos OptionalStringData
1005 1.1 christos OptionalNameString_Last
1006 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
1007 1.1 christos | PARSEOP_WORDSPACE '('
1008 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
1009 1.1 christos ;
1010 1.1 christos
1011 1.1 christos
1012 1.1 christos /******* Object References ***********************************************/
1013 1.1 christos
1014 1.1 christos /* Allow IO, DMA, IRQ Resource macro names to also be used as identifiers */
1015 1.1 christos
1016 1.1 christos NameString
1017 1.1 christos : NameSeg {}
1018 1.1 christos | PARSEOP_NAMESTRING {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) AslCompilerlval.s);}
1019 1.1 christos | PARSEOP_IO {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");}
1020 1.1 christos | PARSEOP_DMA {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");}
1021 1.1 christos | PARSEOP_IRQ {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");}
1022 1.1 christos ;
1023 1.1 christos
1024 1.1 christos NameSeg
1025 1.1 christos : PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT) AslCompilerlval.s);}
1026 1.1 christos ;
1027 1.1 christos
1028 1.1 christos
1029 1.1 christos /*******************************************************************************
1030 1.1 christos *
1031 1.1 christos * ASL Helper Terms
1032 1.1 christos *
1033 1.1 christos ******************************************************************************/
1034 1.1 christos
1035 1.1 christos OptionalBusMasterKeyword
1036 1.1 christos : ',' {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
1037 1.1 christos | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
1038 1.1 christos | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_NOTMASTER);}
1039 1.1 christos ;
1040 1.1 christos
1041 1.1 christos OptionalAccessAttribTerm
1042 1.1 christos : {$$ = NULL;}
1043 1.1 christos | ',' {$$ = NULL;}
1044 1.1 christos | ',' ByteConstExpr {$$ = $2;}
1045 1.1 christos | ',' AccessAttribKeyword {$$ = $2;}
1046 1.1 christos ;
1047 1.1 christos
1048 1.1 christos OptionalAccessSize
1049 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
1050 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
1051 1.1 christos | ',' ByteConstExpr {$$ = $2;}
1052 1.1 christos ;
1053 1.1 christos
1054 1.1 christos OptionalAddressingMode
1055 1.1 christos : ',' {$$ = NULL;}
1056 1.1 christos | ',' AddressingModeKeyword {$$ = $2;}
1057 1.1 christos ;
1058 1.1 christos
1059 1.1 christos OptionalAddressRange
1060 1.1 christos : {$$ = NULL;}
1061 1.1 christos | ',' {$$ = NULL;}
1062 1.1 christos | ',' AddressKeyword {$$ = $2;}
1063 1.1 christos ;
1064 1.1 christos
1065 1.1 christos OptionalBitsPerByte
1066 1.1 christos : ',' {$$ = NULL;}
1067 1.1 christos | ',' BitsPerByteKeyword {$$ = $2;}
1068 1.1 christos ;
1069 1.1 christos
1070 1.1 christos OptionalBuffer_Last
1071 1.1 christos : {$$ = NULL;}
1072 1.1 christos | ',' {$$ = NULL;}
1073 1.1 christos | ',' RawDataBufferTerm {$$ = $2;}
1074 1.1 christos ;
1075 1.1 christos
1076 1.1 christos OptionalByteConstExpr
1077 1.1 christos : {$$ = NULL;}
1078 1.1 christos | ',' {$$ = NULL;}
1079 1.1 christos | ',' ByteConstExpr {$$ = $2;}
1080 1.1 christos ;
1081 1.1 christos
1082 1.1 christos OptionalDecodeType
1083 1.1 christos : ',' {$$ = NULL;}
1084 1.1 christos | ',' DecodeKeyword {$$ = $2;}
1085 1.1 christos ;
1086 1.1 christos
1087 1.1 christos OptionalDevicePolarity
1088 1.1 christos : ',' {$$ = NULL;}
1089 1.1 christos | ',' DevicePolarityKeyword {$$ = $2;}
1090 1.1 christos ;
1091 1.1 christos
1092 1.1 christos OptionalDWordConstExpr
1093 1.1 christos : {$$ = NULL;}
1094 1.1 christos | ',' {$$ = NULL;}
1095 1.1 christos | ',' DWordConstExpr {$$ = $2;}
1096 1.1 christos ;
1097 1.1 christos
1098 1.1 christos OptionalEndian
1099 1.1 christos : ',' {$$ = NULL;}
1100 1.1 christos | ',' EndianKeyword {$$ = $2;}
1101 1.1 christos ;
1102 1.1 christos
1103 1.1 christos OptionalFlowControl
1104 1.1 christos : ',' {$$ = NULL;}
1105 1.1 christos | ',' FlowControlKeyword {$$ = $2;}
1106 1.1 christos ;
1107 1.1 christos
1108 1.1 christos OptionalIoRestriction
1109 1.1 christos : ',' {$$ = NULL;}
1110 1.1 christos | ',' IoRestrictionKeyword {$$ = $2;}
1111 1.1 christos ;
1112 1.1 christos
1113 1.1 christos OptionalListString
1114 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1115 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1116 1.1 christos | ',' TermArg {$$ = $2;}
1117 1.1 christos ;
1118 1.1 christos
1119 1.1 christos OptionalMaxType
1120 1.1 christos : ',' {$$ = NULL;}
1121 1.1 christos | ',' MaxKeyword {$$ = $2;}
1122 1.1 christos ;
1123 1.1 christos
1124 1.1 christos OptionalMemType
1125 1.1 christos : ',' {$$ = NULL;}
1126 1.1 christos | ',' MemTypeKeyword {$$ = $2;}
1127 1.1 christos ;
1128 1.1 christos
1129 1.1 christos OptionalMinType
1130 1.1 christos : ',' {$$ = NULL;}
1131 1.1 christos | ',' MinKeyword {$$ = $2;}
1132 1.1 christos ;
1133 1.1 christos
1134 1.1 christos OptionalNameString
1135 1.1 christos : {$$ = NULL;}
1136 1.1 christos | ',' {$$ = NULL;}
1137 1.1 christos | ',' NameString {$$ = $2;}
1138 1.1 christos ;
1139 1.1 christos
1140 1.1 christos OptionalNameString_Last
1141 1.1 christos : {$$ = NULL;}
1142 1.1 christos | ',' {$$ = NULL;}
1143 1.1 christos | ',' NameString {$$ = $2;}
1144 1.1 christos ;
1145 1.1 christos
1146 1.1 christos OptionalNameString_First
1147 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_ZERO);}
1148 1.1 christos | NameString {$$ = $1;}
1149 1.1 christos ;
1150 1.1 christos
1151 1.1 christos OptionalObjectTypeKeyword
1152 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
1153 1.1 christos | ',' ObjectTypeKeyword {$$ = $2;}
1154 1.1 christos ;
1155 1.1 christos
1156 1.1 christos OptionalParityType
1157 1.1 christos : ',' {$$ = NULL;}
1158 1.1 christos | ',' ParityTypeKeyword {$$ = $2;}
1159 1.1 christos ;
1160 1.1 christos
1161 1.1 christos OptionalQWordConstExpr
1162 1.1 christos : {$$ = NULL;}
1163 1.1 christos | ',' {$$ = NULL;}
1164 1.1 christos | ',' QWordConstExpr {$$ = $2;}
1165 1.1 christos ;
1166 1.1 christos
1167 1.1 christos OptionalRangeType
1168 1.1 christos : ',' {$$ = NULL;}
1169 1.1 christos | ',' RangeTypeKeyword {$$ = $2;}
1170 1.1 christos ;
1171 1.1 christos
1172 1.1 christos OptionalReadWriteKeyword
1173 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1174 1.1 christos | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1175 1.1 christos | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_READONLY);}
1176 1.1 christos ;
1177 1.1 christos
1178 1.1 christos OptionalResourceType_First
1179 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1180 1.1 christos | ResourceTypeKeyword {$$ = $1;}
1181 1.1 christos ;
1182 1.1 christos
1183 1.1 christos OptionalResourceType
1184 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1185 1.1 christos | ',' {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1186 1.1 christos | ',' ResourceTypeKeyword {$$ = $2;}
1187 1.1 christos ;
1188 1.1 christos
1189 1.1 christos OptionalSlaveMode
1190 1.1 christos : ',' {$$ = NULL;}
1191 1.1 christos | ',' SlaveModeKeyword {$$ = $2;}
1192 1.1 christos ;
1193 1.1 christos
1194 1.1 christos OptionalShareType
1195 1.1 christos : {$$ = NULL;}
1196 1.1 christos | ',' {$$ = NULL;}
1197 1.1 christos | ',' ShareTypeKeyword {$$ = $2;}
1198 1.1 christos ;
1199 1.1 christos
1200 1.1 christos OptionalShareType_First
1201 1.1 christos : {$$ = NULL;}
1202 1.1 christos | ShareTypeKeyword {$$ = $1;}
1203 1.1 christos ;
1204 1.1 christos
1205 1.1 christos OptionalStopBits
1206 1.1 christos : ',' {$$ = NULL;}
1207 1.1 christos | ',' StopBitsKeyword {$$ = $2;}
1208 1.1 christos ;
1209 1.1 christos
1210 1.1 christos OptionalStringData
1211 1.1 christos : {$$ = NULL;}
1212 1.1 christos | ',' {$$ = NULL;}
1213 1.1 christos | ',' StringData {$$ = $2;}
1214 1.1 christos ;
1215 1.1 christos
1216 1.1 christos OptionalTranslationType_Last
1217 1.1 christos : {$$ = NULL;}
1218 1.1 christos | ',' {$$ = NULL;}
1219 1.1 christos | ',' TranslationKeyword {$$ = $2;}
1220 1.1 christos ;
1221 1.1 christos
1222 1.1 christos OptionalType
1223 1.1 christos : {$$ = NULL;}
1224 1.1 christos | ',' {$$ = NULL;}
1225 1.1 christos | ',' TypeKeyword {$$ = $2;}
1226 1.1 christos ;
1227 1.1 christos
1228 1.1 christos OptionalType_Last
1229 1.1 christos : {$$ = NULL;}
1230 1.1 christos | ',' {$$ = NULL;}
1231 1.1 christos | ',' TypeKeyword {$$ = $2;}
1232 1.1 christos ;
1233 1.1 christos
1234 1.1 christos OptionalWireMode
1235 1.1 christos : ',' {$$ = NULL;}
1236 1.1 christos | ',' WireModeKeyword {$$ = $2;}
1237 1.1 christos ;
1238 1.1 christos
1239 1.1 christos OptionalWordConstExpr
1240 1.1 christos : ',' {$$ = NULL;}
1241 1.1 christos | ',' WordConstExpr {$$ = $2;}
1242 1.1 christos ;
1243 1.1 christos
1244 1.1 christos OptionalXferSize
1245 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1246 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1247 1.1 christos | ',' XferSizeKeyword {$$ = $2;}
1248 1.1 christos ;
1249