aslresources.y revision 1.1 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 christos | InterruptTerm {}
396 1.1 christos | IOTerm {}
397 1.1 christos | IRQNoFlagsTerm {}
398 1.1 christos | IRQTerm {}
399 1.1 christos | Memory24Term {}
400 1.1 christos | Memory32FixedTerm {}
401 1.1 christos | Memory32Term {}
402 1.1 christos | QWordIOTerm {}
403 1.1 christos | QWordMemoryTerm {}
404 1.1 christos | QWordSpaceTerm {}
405 1.1 christos | RegisterTerm {}
406 1.1 christos | SpiSerialBusTerm {}
407 1.1 christos | StartDependentFnNoPriTerm {}
408 1.1 christos | StartDependentFnTerm {}
409 1.1 christos | UartSerialBusTerm {}
410 1.1 christos | VendorLongTerm {}
411 1.1 christos | VendorShortTerm {}
412 1.1 christos | WordBusNumberTerm {}
413 1.1 christos | WordIOTerm {}
414 1.1 christos | WordSpaceTerm {}
415 1.1 christos ;
416 1.1 christos
417 1.1 christos DMATerm
418 1.1 christos : PARSEOP_DMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
419 1.1 christos DMATypeKeyword
420 1.1 christos OptionalBusMasterKeyword
421 1.1 christos ',' XferTypeKeyword
422 1.1 christos OptionalNameString_Last
423 1.1 christos ')' '{'
424 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
425 1.1 christos | PARSEOP_DMA '('
426 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
427 1.1 christos ;
428 1.1 christos
429 1.1 christos DWordIOTerm
430 1.1 christos : PARSEOP_DWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
431 1.1 christos OptionalResourceType_First
432 1.1 christos OptionalMinType
433 1.1 christos OptionalMaxType
434 1.1 christos OptionalDecodeType
435 1.1 christos OptionalRangeType
436 1.1 christos ',' DWordConstExpr
437 1.1 christos ',' DWordConstExpr
438 1.1 christos ',' DWordConstExpr
439 1.1 christos ',' DWordConstExpr
440 1.1 christos ',' DWordConstExpr
441 1.1 christos OptionalByteConstExpr
442 1.1 christos OptionalStringData
443 1.1 christos OptionalNameString
444 1.1 christos OptionalType
445 1.1 christos OptionalTranslationType_Last
446 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
447 1.1 christos | PARSEOP_DWORDIO '('
448 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
449 1.1 christos ;
450 1.1 christos
451 1.1 christos DWordMemoryTerm
452 1.1 christos : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
453 1.1 christos OptionalResourceType_First
454 1.1 christos OptionalDecodeType
455 1.1 christos OptionalMinType
456 1.1 christos OptionalMaxType
457 1.1 christos OptionalMemType
458 1.1 christos ',' OptionalReadWriteKeyword
459 1.1 christos ',' DWordConstExpr
460 1.1 christos ',' DWordConstExpr
461 1.1 christos ',' DWordConstExpr
462 1.1 christos ',' DWordConstExpr
463 1.1 christos ',' DWordConstExpr
464 1.1 christos OptionalByteConstExpr
465 1.1 christos OptionalStringData
466 1.1 christos OptionalNameString
467 1.1 christos OptionalAddressRange
468 1.1 christos OptionalType_Last
469 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
470 1.1 christos | PARSEOP_DWORDMEMORY '('
471 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
472 1.1 christos ;
473 1.1 christos
474 1.1 christos DWordSpaceTerm
475 1.1 christos : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
476 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
477 1.1 christos OptionalResourceType
478 1.1 christos OptionalDecodeType
479 1.1 christos OptionalMinType
480 1.1 christos OptionalMaxType
481 1.1 christos ',' ByteConstExpr
482 1.1 christos ',' DWordConstExpr
483 1.1 christos ',' DWordConstExpr
484 1.1 christos ',' DWordConstExpr
485 1.1 christos ',' DWordConstExpr
486 1.1 christos ',' DWordConstExpr
487 1.1 christos OptionalByteConstExpr
488 1.1 christos OptionalStringData
489 1.1 christos OptionalNameString_Last
490 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
491 1.1 christos | PARSEOP_DWORDSPACE '('
492 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
493 1.1 christos ;
494 1.1 christos
495 1.1 christos EndDependentFnTerm
496 1.1 christos : PARSEOP_ENDDEPENDENTFN '('
497 1.1 christos ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
498 1.1 christos | PARSEOP_ENDDEPENDENTFN '('
499 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
500 1.1 christos ;
501 1.1 christos
502 1.1 christos ExtendedIOTerm
503 1.1 christos : PARSEOP_EXTENDEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
504 1.1 christos OptionalResourceType_First
505 1.1 christos OptionalMinType
506 1.1 christos OptionalMaxType
507 1.1 christos OptionalDecodeType
508 1.1 christos OptionalRangeType
509 1.1 christos ',' QWordConstExpr
510 1.1 christos ',' QWordConstExpr
511 1.1 christos ',' QWordConstExpr
512 1.1 christos ',' QWordConstExpr
513 1.1 christos ',' QWordConstExpr
514 1.1 christos OptionalQWordConstExpr
515 1.1 christos OptionalNameString
516 1.1 christos OptionalType
517 1.1 christos OptionalTranslationType_Last
518 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
519 1.1 christos | PARSEOP_EXTENDEDIO '('
520 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
521 1.1 christos ;
522 1.1 christos
523 1.1 christos ExtendedMemoryTerm
524 1.1 christos : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
525 1.1 christos OptionalResourceType_First
526 1.1 christos OptionalDecodeType
527 1.1 christos OptionalMinType
528 1.1 christos OptionalMaxType
529 1.1 christos OptionalMemType
530 1.1 christos ',' OptionalReadWriteKeyword
531 1.1 christos ',' QWordConstExpr
532 1.1 christos ',' QWordConstExpr
533 1.1 christos ',' QWordConstExpr
534 1.1 christos ',' QWordConstExpr
535 1.1 christos ',' QWordConstExpr
536 1.1 christos OptionalQWordConstExpr
537 1.1 christos OptionalNameString
538 1.1 christos OptionalAddressRange
539 1.1 christos OptionalType_Last
540 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
541 1.1 christos | PARSEOP_EXTENDEDMEMORY '('
542 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
543 1.1 christos ;
544 1.1 christos
545 1.1 christos ExtendedSpaceTerm
546 1.1 christos : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
547 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
548 1.1 christos OptionalResourceType
549 1.1 christos OptionalDecodeType
550 1.1 christos OptionalMinType
551 1.1 christos OptionalMaxType
552 1.1 christos ',' ByteConstExpr
553 1.1 christos ',' QWordConstExpr
554 1.1 christos ',' QWordConstExpr
555 1.1 christos ',' QWordConstExpr
556 1.1 christos ',' QWordConstExpr
557 1.1 christos ',' QWordConstExpr
558 1.1 christos OptionalQWordConstExpr
559 1.1 christos OptionalNameString_Last
560 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,13,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
561 1.1 christos | PARSEOP_EXTENDEDSPACE '('
562 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
563 1.1 christos ;
564 1.1 christos
565 1.1 christos FixedDmaTerm
566 1.1 christos : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
567 1.1 christos WordConstExpr /* 04: DMA RequestLines */
568 1.1 christos ',' WordConstExpr /* 06: DMA Channels */
569 1.1 christos OptionalXferSize /* 07: DMA TransferSize */
570 1.1 christos OptionalNameString /* 08: DescriptorName */
571 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
572 1.1 christos | PARSEOP_FIXEDDMA '('
573 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
574 1.1 christos ;
575 1.1 christos
576 1.1 christos FixedIOTerm
577 1.1 christos : PARSEOP_FIXEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
578 1.1 christos WordConstExpr
579 1.1 christos ',' ByteConstExpr
580 1.1 christos OptionalNameString_Last
581 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
582 1.1 christos | PARSEOP_FIXEDIO '('
583 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
584 1.1 christos ;
585 1.1 christos
586 1.1 christos GpioIntTerm
587 1.1 christos : PARSEOP_GPIO_INT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
588 1.1 christos InterruptTypeKeyword /* 04: InterruptType */
589 1.1 christos ',' InterruptLevel /* 06: InterruptLevel */
590 1.1 christos OptionalShareType /* 07: SharedType */
591 1.1 christos ',' PinConfigByte /* 09: PinConfig */
592 1.1 christos OptionalWordConstExpr /* 10: DebounceTimeout */
593 1.1 christos ',' StringData /* 12: ResourceSource */
594 1.1 christos OptionalByteConstExpr /* 13: ResourceSourceIndex */
595 1.1 christos OptionalResourceType /* 14: ResourceType */
596 1.1 christos OptionalNameString /* 15: DescriptorName */
597 1.1 christos OptionalBuffer_Last /* 16: VendorData */
598 1.1 christos ')' '{'
599 1.1 christos DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
600 1.1 christos | PARSEOP_GPIO_INT '('
601 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
602 1.1 christos ;
603 1.1 christos
604 1.1 christos GpioIoTerm
605 1.1 christos : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
606 1.1 christos OptionalShareType_First /* 04: SharedType */
607 1.1 christos ',' PinConfigByte /* 06: PinConfig */
608 1.1 christos OptionalWordConstExpr /* 07: DebounceTimeout */
609 1.1 christos OptionalWordConstExpr /* 08: DriveStrength */
610 1.1 christos OptionalIoRestriction /* 09: IoRestriction */
611 1.1 christos ',' StringData /* 11: ResourceSource */
612 1.1 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
613 1.1 christos OptionalResourceType /* 13: ResourceType */
614 1.1 christos OptionalNameString /* 14: DescriptorName */
615 1.1 christos OptionalBuffer_Last /* 15: VendorData */
616 1.1 christos ')' '{'
617 1.1 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
618 1.1 christos | PARSEOP_GPIO_IO '('
619 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
620 1.1 christos ;
621 1.1 christos
622 1.1 christos I2cSerialBusTerm
623 1.1 christos : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
624 1.1 christos WordConstExpr /* 04: SlaveAddress */
625 1.1 christos OptionalSlaveMode /* 05: SlaveMode */
626 1.1 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
627 1.1 christos OptionalAddressingMode /* 08: AddressingMode */
628 1.1 christos ',' StringData /* 10: ResourceSource */
629 1.1 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
630 1.1 christos OptionalResourceType /* 12: ResourceType */
631 1.1 christos OptionalNameString /* 13: DescriptorName */
632 1.1 christos OptionalBuffer_Last /* 14: VendorData */
633 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,9,$4,$5,$7,$8,$10,$11,$12,$13,$14);}
634 1.1 christos | PARSEOP_I2C_SERIALBUS '('
635 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
636 1.1 christos ;
637 1.1 christos
638 1.1 christos InterruptTerm
639 1.1 christos : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
640 1.1 christos OptionalResourceType_First
641 1.1 christos ',' InterruptTypeKeyword
642 1.1 christos ',' InterruptLevel
643 1.1 christos OptionalShareType
644 1.1 christos OptionalByteConstExpr
645 1.1 christos OptionalStringData
646 1.1 christos OptionalNameString_Last
647 1.1 christos ')' '{'
648 1.1 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,8,$4,$6,$8,$9,$10,$11,$12,$15);}
649 1.1 christos | PARSEOP_INTERRUPT '('
650 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
651 1.1 christos ;
652 1.1 christos
653 1.1 christos IOTerm
654 1.1 christos : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
655 1.1 christos IODecodeKeyword
656 1.1 christos ',' WordConstExpr
657 1.1 christos ',' WordConstExpr
658 1.1 christos ',' ByteConstExpr
659 1.1 christos ',' ByteConstExpr
660 1.1 christos OptionalNameString_Last
661 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
662 1.1 christos | PARSEOP_IO '('
663 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
664 1.1 christos ;
665 1.1 christos
666 1.1 christos IRQNoFlagsTerm
667 1.1 christos : PARSEOP_IRQNOFLAGS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
668 1.1 christos OptionalNameString_First
669 1.1 christos ')' '{'
670 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
671 1.1 christos | PARSEOP_IRQNOFLAGS '('
672 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
673 1.1 christos ;
674 1.1 christos
675 1.1 christos IRQTerm
676 1.1 christos : PARSEOP_IRQ '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
677 1.1 christos InterruptTypeKeyword
678 1.1 christos ',' InterruptLevel
679 1.1 christos OptionalShareType
680 1.1 christos OptionalNameString_Last
681 1.1 christos ')' '{'
682 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
683 1.1 christos | PARSEOP_IRQ '('
684 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
685 1.1 christos ;
686 1.1 christos
687 1.1 christos Memory24Term
688 1.1 christos : PARSEOP_MEMORY24 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
689 1.1 christos OptionalReadWriteKeyword
690 1.1 christos ',' WordConstExpr
691 1.1 christos ',' WordConstExpr
692 1.1 christos ',' WordConstExpr
693 1.1 christos ',' WordConstExpr
694 1.1 christos OptionalNameString_Last
695 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
696 1.1 christos | PARSEOP_MEMORY24 '('
697 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
698 1.1 christos ;
699 1.1 christos
700 1.1 christos Memory32FixedTerm
701 1.1 christos : PARSEOP_MEMORY32FIXED '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
702 1.1 christos OptionalReadWriteKeyword
703 1.1 christos ',' DWordConstExpr
704 1.1 christos ',' DWordConstExpr
705 1.1 christos OptionalNameString_Last
706 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
707 1.1 christos | PARSEOP_MEMORY32FIXED '('
708 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
709 1.1 christos ;
710 1.1 christos
711 1.1 christos Memory32Term
712 1.1 christos : PARSEOP_MEMORY32 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
713 1.1 christos OptionalReadWriteKeyword
714 1.1 christos ',' DWordConstExpr
715 1.1 christos ',' DWordConstExpr
716 1.1 christos ',' DWordConstExpr
717 1.1 christos ',' DWordConstExpr
718 1.1 christos OptionalNameString_Last
719 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
720 1.1 christos | PARSEOP_MEMORY32 '('
721 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
722 1.1 christos ;
723 1.1 christos
724 1.1 christos QWordIOTerm
725 1.1 christos : PARSEOP_QWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
726 1.1 christos OptionalResourceType_First
727 1.1 christos OptionalMinType
728 1.1 christos OptionalMaxType
729 1.1 christos OptionalDecodeType
730 1.1 christos OptionalRangeType
731 1.1 christos ',' QWordConstExpr
732 1.1 christos ',' QWordConstExpr
733 1.1 christos ',' QWordConstExpr
734 1.1 christos ',' QWordConstExpr
735 1.1 christos ',' QWordConstExpr
736 1.1 christos OptionalByteConstExpr
737 1.1 christos OptionalStringData
738 1.1 christos OptionalNameString
739 1.1 christos OptionalType
740 1.1 christos OptionalTranslationType_Last
741 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
742 1.1 christos | PARSEOP_QWORDIO '('
743 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
744 1.1 christos ;
745 1.1 christos
746 1.1 christos QWordMemoryTerm
747 1.1 christos : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
748 1.1 christos OptionalResourceType_First
749 1.1 christos OptionalDecodeType
750 1.1 christos OptionalMinType
751 1.1 christos OptionalMaxType
752 1.1 christos OptionalMemType
753 1.1 christos ',' OptionalReadWriteKeyword
754 1.1 christos ',' QWordConstExpr
755 1.1 christos ',' QWordConstExpr
756 1.1 christos ',' QWordConstExpr
757 1.1 christos ',' QWordConstExpr
758 1.1 christos ',' QWordConstExpr
759 1.1 christos OptionalByteConstExpr
760 1.1 christos OptionalStringData
761 1.1 christos OptionalNameString
762 1.1 christos OptionalAddressRange
763 1.1 christos OptionalType_Last
764 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
765 1.1 christos | PARSEOP_QWORDMEMORY '('
766 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
767 1.1 christos ;
768 1.1 christos
769 1.1 christos QWordSpaceTerm
770 1.1 christos : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
771 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
772 1.1 christos OptionalResourceType
773 1.1 christos OptionalDecodeType
774 1.1 christos OptionalMinType
775 1.1 christos OptionalMaxType
776 1.1 christos ',' ByteConstExpr
777 1.1 christos ',' QWordConstExpr
778 1.1 christos ',' QWordConstExpr
779 1.1 christos ',' QWordConstExpr
780 1.1 christos ',' QWordConstExpr
781 1.1 christos ',' QWordConstExpr
782 1.1 christos OptionalByteConstExpr
783 1.1 christos OptionalStringData
784 1.1 christos OptionalNameString_Last
785 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
786 1.1 christos | PARSEOP_QWORDSPACE '('
787 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
788 1.1 christos ;
789 1.1 christos
790 1.1 christos RegisterTerm
791 1.1 christos : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
792 1.1 christos AddressSpaceKeyword
793 1.1 christos ',' ByteConstExpr
794 1.1 christos ',' ByteConstExpr
795 1.1 christos ',' QWordConstExpr
796 1.1 christos OptionalAccessSize
797 1.1 christos OptionalNameString_Last
798 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
799 1.1 christos | PARSEOP_REGISTER '('
800 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
801 1.1 christos ;
802 1.1 christos
803 1.1 christos SpiSerialBusTerm
804 1.1 christos : PARSEOP_SPI_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
805 1.1 christos WordConstExpr /* 04: DeviceSelection */
806 1.1 christos OptionalDevicePolarity /* 05: DevicePolarity */
807 1.1 christos OptionalWireMode /* 06: WireMode */
808 1.1 christos ',' ByteConstExpr /* 08: DataBitLength */
809 1.1 christos OptionalSlaveMode /* 09: SlaveMode */
810 1.1 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
811 1.1 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
812 1.1 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
813 1.1 christos ',' StringData /* 17: ResourceSource */
814 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
815 1.1 christos OptionalResourceType /* 19: ResourceType */
816 1.1 christos OptionalNameString /* 20: DescriptorName */
817 1.1 christos OptionalBuffer_Last /* 21: VendorData */
818 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,13,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21);}
819 1.1 christos | PARSEOP_SPI_SERIALBUS '('
820 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
821 1.1 christos ;
822 1.1 christos
823 1.1 christos StartDependentFnNoPriTerm
824 1.1 christos : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
825 1.1 christos ')' '{'
826 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}
827 1.1 christos | PARSEOP_STARTDEPENDENTFN_NOPRI '('
828 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
829 1.1 christos ;
830 1.1 christos
831 1.1 christos StartDependentFnTerm
832 1.1 christos : PARSEOP_STARTDEPENDENTFN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
833 1.1 christos ByteConstExpr
834 1.1 christos ',' ByteConstExpr
835 1.1 christos ')' '{'
836 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
837 1.1 christos | PARSEOP_STARTDEPENDENTFN '('
838 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
839 1.1 christos ;
840 1.1 christos
841 1.1 christos UartSerialBusTerm
842 1.1 christos : PARSEOP_UART_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
843 1.1 christos DWordConstExpr /* 04: ConnectionSpeed */
844 1.1 christos OptionalBitsPerByte /* 05: BitsPerByte */
845 1.1 christos OptionalStopBits /* 06: StopBits */
846 1.1 christos ',' ByteConstExpr /* 08: LinesInUse */
847 1.1 christos OptionalEndian /* 09: Endianess */
848 1.1 christos OptionalParityType /* 10: Parity */
849 1.1 christos OptionalFlowControl /* 11: FlowControl */
850 1.1 christos ',' WordConstExpr /* 13: Rx BufferSize */
851 1.1 christos ',' WordConstExpr /* 15: Tx BufferSize */
852 1.1 christos ',' StringData /* 17: ResourceSource */
853 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
854 1.1 christos OptionalResourceType /* 19: ResourceType */
855 1.1 christos OptionalNameString /* 20: DescriptorName */
856 1.1 christos OptionalBuffer_Last /* 21: VendorData */
857 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21);}
858 1.1 christos | PARSEOP_UART_SERIALBUS '('
859 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
860 1.1 christos ;
861 1.1 christos
862 1.1 christos VendorLongTerm
863 1.1 christos : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
864 1.1 christos OptionalNameString_First
865 1.1 christos ')' '{'
866 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
867 1.1 christos | PARSEOP_VENDORLONG '('
868 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
869 1.1 christos ;
870 1.1 christos
871 1.1 christos VendorShortTerm
872 1.1 christos : PARSEOP_VENDORSHORT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
873 1.1 christos OptionalNameString_First
874 1.1 christos ')' '{'
875 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
876 1.1 christos | PARSEOP_VENDORSHORT '('
877 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
878 1.1 christos ;
879 1.1 christos
880 1.1 christos WordBusNumberTerm
881 1.1 christos : PARSEOP_WORDBUSNUMBER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
882 1.1 christos OptionalResourceType_First
883 1.1 christos OptionalMinType
884 1.1 christos OptionalMaxType
885 1.1 christos OptionalDecodeType
886 1.1 christos ',' WordConstExpr
887 1.1 christos ',' WordConstExpr
888 1.1 christos ',' WordConstExpr
889 1.1 christos ',' WordConstExpr
890 1.1 christos ',' WordConstExpr
891 1.1 christos OptionalByteConstExpr
892 1.1 christos OptionalStringData
893 1.1 christos OptionalNameString_Last
894 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,12,$4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
895 1.1 christos | PARSEOP_WORDBUSNUMBER '('
896 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
897 1.1 christos ;
898 1.1 christos
899 1.1 christos WordIOTerm
900 1.1 christos : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
901 1.1 christos OptionalResourceType_First
902 1.1 christos OptionalMinType
903 1.1 christos OptionalMaxType
904 1.1 christos OptionalDecodeType
905 1.1 christos OptionalRangeType
906 1.1 christos ',' WordConstExpr
907 1.1 christos ',' WordConstExpr
908 1.1 christos ',' WordConstExpr
909 1.1 christos ',' WordConstExpr
910 1.1 christos ',' WordConstExpr
911 1.1 christos OptionalByteConstExpr
912 1.1 christos OptionalStringData
913 1.1 christos OptionalNameString
914 1.1 christos OptionalType
915 1.1 christos OptionalTranslationType_Last
916 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
917 1.1 christos | PARSEOP_WORDIO '('
918 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
919 1.1 christos ;
920 1.1 christos
921 1.1 christos WordSpaceTerm
922 1.1 christos : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
923 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
924 1.1 christos OptionalResourceType
925 1.1 christos OptionalDecodeType
926 1.1 christos OptionalMinType
927 1.1 christos OptionalMaxType
928 1.1 christos ',' ByteConstExpr
929 1.1 christos ',' WordConstExpr
930 1.1 christos ',' WordConstExpr
931 1.1 christos ',' WordConstExpr
932 1.1 christos ',' WordConstExpr
933 1.1 christos ',' WordConstExpr
934 1.1 christos OptionalByteConstExpr
935 1.1 christos OptionalStringData
936 1.1 christos OptionalNameString_Last
937 1.1 christos ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
938 1.1 christos | PARSEOP_WORDSPACE '('
939 1.1 christos error ')' {$$ = AslDoError(); yyclearin;}
940 1.1 christos ;
941 1.1 christos
942 1.1 christos
943 1.1 christos /******* Object References ***********************************************/
944 1.1 christos
945 1.1 christos /* Allow IO, DMA, IRQ Resource macro names to also be used as identifiers */
946 1.1 christos
947 1.1 christos NameString
948 1.1 christos : NameSeg {}
949 1.1 christos | PARSEOP_NAMESTRING {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) AslCompilerlval.s);}
950 1.1 christos | PARSEOP_IO {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");}
951 1.1 christos | PARSEOP_DMA {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");}
952 1.1 christos | PARSEOP_IRQ {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");}
953 1.1 christos ;
954 1.1 christos
955 1.1 christos NameSeg
956 1.1 christos : PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT) AslCompilerlval.s);}
957 1.1 christos ;
958 1.1 christos
959 1.1 christos
960 1.1 christos /*******************************************************************************
961 1.1 christos *
962 1.1 christos * ASL Helper Terms
963 1.1 christos *
964 1.1 christos ******************************************************************************/
965 1.1 christos
966 1.1 christos OptionalBusMasterKeyword
967 1.1 christos : ',' {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
968 1.1 christos | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
969 1.1 christos | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_NOTMASTER);}
970 1.1 christos ;
971 1.1 christos
972 1.1 christos OptionalAccessAttribTerm
973 1.1 christos : {$$ = NULL;}
974 1.1 christos | ',' {$$ = NULL;}
975 1.1 christos | ',' ByteConstExpr {$$ = $2;}
976 1.1 christos | ',' AccessAttribKeyword {$$ = $2;}
977 1.1 christos ;
978 1.1 christos
979 1.1 christos OptionalAccessSize
980 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
981 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
982 1.1 christos | ',' ByteConstExpr {$$ = $2;}
983 1.1 christos ;
984 1.1 christos
985 1.1 christos OptionalAddressingMode
986 1.1 christos : ',' {$$ = NULL;}
987 1.1 christos | ',' AddressingModeKeyword {$$ = $2;}
988 1.1 christos ;
989 1.1 christos
990 1.1 christos OptionalAddressRange
991 1.1 christos : {$$ = NULL;}
992 1.1 christos | ',' {$$ = NULL;}
993 1.1 christos | ',' AddressKeyword {$$ = $2;}
994 1.1 christos ;
995 1.1 christos
996 1.1 christos OptionalBitsPerByte
997 1.1 christos : ',' {$$ = NULL;}
998 1.1 christos | ',' BitsPerByteKeyword {$$ = $2;}
999 1.1 christos ;
1000 1.1 christos
1001 1.1 christos OptionalBuffer_Last
1002 1.1 christos : {$$ = NULL;}
1003 1.1 christos | ',' {$$ = NULL;}
1004 1.1 christos | ',' RawDataBufferTerm {$$ = $2;}
1005 1.1 christos ;
1006 1.1 christos
1007 1.1 christos OptionalByteConstExpr
1008 1.1 christos : {$$ = NULL;}
1009 1.1 christos | ',' {$$ = NULL;}
1010 1.1 christos | ',' ByteConstExpr {$$ = $2;}
1011 1.1 christos ;
1012 1.1 christos
1013 1.1 christos OptionalDecodeType
1014 1.1 christos : ',' {$$ = NULL;}
1015 1.1 christos | ',' DecodeKeyword {$$ = $2;}
1016 1.1 christos ;
1017 1.1 christos
1018 1.1 christos OptionalDevicePolarity
1019 1.1 christos : ',' {$$ = NULL;}
1020 1.1 christos | ',' DevicePolarityKeyword {$$ = $2;}
1021 1.1 christos ;
1022 1.1 christos
1023 1.1 christos OptionalDWordConstExpr
1024 1.1 christos : {$$ = NULL;}
1025 1.1 christos | ',' {$$ = NULL;}
1026 1.1 christos | ',' DWordConstExpr {$$ = $2;}
1027 1.1 christos ;
1028 1.1 christos
1029 1.1 christos OptionalEndian
1030 1.1 christos : ',' {$$ = NULL;}
1031 1.1 christos | ',' EndianKeyword {$$ = $2;}
1032 1.1 christos ;
1033 1.1 christos
1034 1.1 christos OptionalFlowControl
1035 1.1 christos : ',' {$$ = NULL;}
1036 1.1 christos | ',' FlowControlKeyword {$$ = $2;}
1037 1.1 christos ;
1038 1.1 christos
1039 1.1 christos OptionalIoRestriction
1040 1.1 christos : ',' {$$ = NULL;}
1041 1.1 christos | ',' IoRestrictionKeyword {$$ = $2;}
1042 1.1 christos ;
1043 1.1 christos
1044 1.1 christos OptionalListString
1045 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1046 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1047 1.1 christos | ',' TermArg {$$ = $2;}
1048 1.1 christos ;
1049 1.1 christos
1050 1.1 christos OptionalMaxType
1051 1.1 christos : ',' {$$ = NULL;}
1052 1.1 christos | ',' MaxKeyword {$$ = $2;}
1053 1.1 christos ;
1054 1.1 christos
1055 1.1 christos OptionalMemType
1056 1.1 christos : ',' {$$ = NULL;}
1057 1.1 christos | ',' MemTypeKeyword {$$ = $2;}
1058 1.1 christos ;
1059 1.1 christos
1060 1.1 christos OptionalMinType
1061 1.1 christos : ',' {$$ = NULL;}
1062 1.1 christos | ',' MinKeyword {$$ = $2;}
1063 1.1 christos ;
1064 1.1 christos
1065 1.1 christos OptionalNameString
1066 1.1 christos : {$$ = NULL;}
1067 1.1 christos | ',' {$$ = NULL;}
1068 1.1 christos | ',' NameString {$$ = $2;}
1069 1.1 christos ;
1070 1.1 christos
1071 1.1 christos OptionalNameString_Last
1072 1.1 christos : {$$ = NULL;}
1073 1.1 christos | ',' {$$ = NULL;}
1074 1.1 christos | ',' NameString {$$ = $2;}
1075 1.1 christos ;
1076 1.1 christos
1077 1.1 christos OptionalNameString_First
1078 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_ZERO);}
1079 1.1 christos | NameString {$$ = $1;}
1080 1.1 christos ;
1081 1.1 christos
1082 1.1 christos OptionalObjectTypeKeyword
1083 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
1084 1.1 christos | ',' ObjectTypeKeyword {$$ = $2;}
1085 1.1 christos ;
1086 1.1 christos
1087 1.1 christos OptionalParityType
1088 1.1 christos : ',' {$$ = NULL;}
1089 1.1 christos | ',' ParityTypeKeyword {$$ = $2;}
1090 1.1 christos ;
1091 1.1 christos
1092 1.1 christos OptionalQWordConstExpr
1093 1.1 christos : {$$ = NULL;}
1094 1.1 christos | ',' {$$ = NULL;}
1095 1.1 christos | ',' QWordConstExpr {$$ = $2;}
1096 1.1 christos ;
1097 1.1 christos
1098 1.1 christos OptionalRangeType
1099 1.1 christos : ',' {$$ = NULL;}
1100 1.1 christos | ',' RangeTypeKeyword {$$ = $2;}
1101 1.1 christos ;
1102 1.1 christos
1103 1.1 christos OptionalReadWriteKeyword
1104 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1105 1.1 christos | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1106 1.1 christos | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_READONLY);}
1107 1.1 christos ;
1108 1.1 christos
1109 1.1 christos OptionalResourceType_First
1110 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1111 1.1 christos | ResourceTypeKeyword {$$ = $1;}
1112 1.1 christos ;
1113 1.1 christos
1114 1.1 christos OptionalResourceType
1115 1.1 christos : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1116 1.1 christos | ',' {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1117 1.1 christos | ',' ResourceTypeKeyword {$$ = $2;}
1118 1.1 christos ;
1119 1.1 christos
1120 1.1 christos OptionalSlaveMode
1121 1.1 christos : ',' {$$ = NULL;}
1122 1.1 christos | ',' SlaveModeKeyword {$$ = $2;}
1123 1.1 christos ;
1124 1.1 christos
1125 1.1 christos OptionalShareType
1126 1.1 christos : {$$ = NULL;}
1127 1.1 christos | ',' {$$ = NULL;}
1128 1.1 christos | ',' ShareTypeKeyword {$$ = $2;}
1129 1.1 christos ;
1130 1.1 christos
1131 1.1 christos OptionalShareType_First
1132 1.1 christos : {$$ = NULL;}
1133 1.1 christos | ShareTypeKeyword {$$ = $1;}
1134 1.1 christos ;
1135 1.1 christos
1136 1.1 christos OptionalStopBits
1137 1.1 christos : ',' {$$ = NULL;}
1138 1.1 christos | ',' StopBitsKeyword {$$ = $2;}
1139 1.1 christos ;
1140 1.1 christos
1141 1.1 christos OptionalStringData
1142 1.1 christos : {$$ = NULL;}
1143 1.1 christos | ',' {$$ = NULL;}
1144 1.1 christos | ',' StringData {$$ = $2;}
1145 1.1 christos ;
1146 1.1 christos
1147 1.1 christos OptionalTranslationType_Last
1148 1.1 christos : {$$ = NULL;}
1149 1.1 christos | ',' {$$ = NULL;}
1150 1.1 christos | ',' TranslationKeyword {$$ = $2;}
1151 1.1 christos ;
1152 1.1 christos
1153 1.1 christos OptionalType
1154 1.1 christos : {$$ = NULL;}
1155 1.1 christos | ',' {$$ = NULL;}
1156 1.1 christos | ',' TypeKeyword {$$ = $2;}
1157 1.1 christos ;
1158 1.1 christos
1159 1.1 christos OptionalType_Last
1160 1.1 christos : {$$ = NULL;}
1161 1.1 christos | ',' {$$ = NULL;}
1162 1.1 christos | ',' TypeKeyword {$$ = $2;}
1163 1.1 christos ;
1164 1.1 christos
1165 1.1 christos OptionalWireMode
1166 1.1 christos : ',' {$$ = NULL;}
1167 1.1 christos | ',' WireModeKeyword {$$ = $2;}
1168 1.1 christos ;
1169 1.1 christos
1170 1.1 christos OptionalWordConstExpr
1171 1.1 christos : ',' {$$ = NULL;}
1172 1.1 christos | ',' WordConstExpr {$$ = $2;}
1173 1.1 christos ;
1174 1.1 christos
1175 1.1 christos OptionalXferSize
1176 1.1 christos : {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1177 1.1 christos | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1178 1.1 christos | ',' XferSizeKeyword {$$ = $2;}
1179 1.1 christos ;
1180