aslresources.y (f8146b882bc156c1d8ddf14bbea67253ebc064bb) aslresources.y (493deb390baef09f40125589cbdb714cb274ab04)
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 *
6 *****************************************************************************/
7
8/*

--- 30 unchanged lines hidden (view full) ---

39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
43 */
44
45')
46
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 *
6 *****************************************************************************/
7
8/*

--- 30 unchanged lines hidden (view full) ---

39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
43 */
44
45')
46
47/*******************************************************************************
48 *
49 * ASL Parameter Keyword Terms
50 *
51 ******************************************************************************/
52
47
53AccessAttribKeyword
54 : PARSEOP_ACCESSATTRIB_BLOCK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK);}
55 | PARSEOP_ACCESSATTRIB_BLOCK_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK_CALL);}
56 | PARSEOP_ACCESSATTRIB_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BYTE);}
57 | PARSEOP_ACCESSATTRIB_QUICK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_QUICK );}
58 | PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);}
59 | PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);}
60 | PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);}
61 | PARSEOP_ACCESSATTRIB_MULTIBYTE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
62 ByteConst
63 ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
64 | PARSEOP_ACCESSATTRIB_RAW_BYTES '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
65 ByteConst
66 ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
67 | PARSEOP_ACCESSATTRIB_RAW_PROCESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
68 ByteConst
69 ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
70 ;
71
72AccessTypeKeyword
73 : PARSEOP_ACCESSTYPE_ANY {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_ANY);}
74 | PARSEOP_ACCESSTYPE_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BYTE);}
75 | PARSEOP_ACCESSTYPE_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_WORD);}
76 | PARSEOP_ACCESSTYPE_DWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_DWORD);}
77 | PARSEOP_ACCESSTYPE_QWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_QWORD);}
78 | PARSEOP_ACCESSTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BUF);}
79 ;
80
81AddressingModeKeyword
82 : PARSEOP_ADDRESSINGMODE_7BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_7BIT);}
83 | PARSEOP_ADDRESSINGMODE_10BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_10BIT);}
84 ;
85
86AddressKeyword
87 : PARSEOP_ADDRESSTYPE_MEMORY {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_MEMORY);}
88 | PARSEOP_ADDRESSTYPE_RESERVED {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_RESERVED);}
89 | PARSEOP_ADDRESSTYPE_NVS {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_NVS);}
90 | PARSEOP_ADDRESSTYPE_ACPI {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_ACPI);}
91 ;
92
93AddressSpaceKeyword
94 : ByteConst {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);}
95 | RegionSpaceKeyword {}
96 ;
97
98BitsPerByteKeyword
99 : PARSEOP_BITSPERBYTE_FIVE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_FIVE);}
100 | PARSEOP_BITSPERBYTE_SIX {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SIX);}
101 | PARSEOP_BITSPERBYTE_SEVEN {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SEVEN);}
102 | PARSEOP_BITSPERBYTE_EIGHT {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_EIGHT);}
103 | PARSEOP_BITSPERBYTE_NINE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_NINE);}
104 ;
105
106ClockPhaseKeyword
107 : PARSEOP_CLOCKPHASE_FIRST {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_FIRST);}
108 | PARSEOP_CLOCKPHASE_SECOND {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_SECOND);}
109 ;
110
111ClockPolarityKeyword
112 : PARSEOP_CLOCKPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_LOW);}
113 | PARSEOP_CLOCKPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_HIGH);}
114 ;
115
116DecodeKeyword
117 : PARSEOP_DECODETYPE_POS {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_POS);}
118 | PARSEOP_DECODETYPE_SUB {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_SUB);}
119 ;
120
121DevicePolarityKeyword
122 : PARSEOP_DEVICEPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_LOW);}
123 | PARSEOP_DEVICEPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_HIGH);}
124 ;
125
126DMATypeKeyword
127 : PARSEOP_DMATYPE_A {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_A);}
128 | PARSEOP_DMATYPE_COMPATIBILITY {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_COMPATIBILITY);}
129 | PARSEOP_DMATYPE_B {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_B);}
130 | PARSEOP_DMATYPE_F {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_F);}
131 ;
132
133EndianKeyword
134 : PARSEOP_ENDIAN_LITTLE {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_LITTLE);}
135 | PARSEOP_ENDIAN_BIG {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_BIG);}
136 ;
137
138FlowControlKeyword
139 : PARSEOP_FLOWCONTROL_HW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_HW);}
140 | PARSEOP_FLOWCONTROL_NONE {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_NONE);}
141 | PARSEOP_FLOWCONTROL_SW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_SW);}
142 ;
143
144InterruptLevel
145 : PARSEOP_INTLEVEL_ACTIVEBOTH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEBOTH);}
146 | PARSEOP_INTLEVEL_ACTIVEHIGH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEHIGH);}
147 | PARSEOP_INTLEVEL_ACTIVELOW {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVELOW);}
148 ;
149
150InterruptTypeKeyword
151 : PARSEOP_INTTYPE_EDGE {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_EDGE);}
152 | PARSEOP_INTTYPE_LEVEL {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_LEVEL);}
153 ;
154
155IODecodeKeyword
156 : PARSEOP_IODECODETYPE_16 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_16);}
157 | PARSEOP_IODECODETYPE_10 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_10);}
158 ;
159
160IoRestrictionKeyword
161 : PARSEOP_IORESTRICT_IN {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_IN);}
162 | PARSEOP_IORESTRICT_OUT {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_OUT);}
163 | PARSEOP_IORESTRICT_NONE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_NONE);}
164 | PARSEOP_IORESTRICT_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_PRESERVE);}
165 ;
166
167LockRuleKeyword
168 : PARSEOP_LOCKRULE_LOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_LOCK);}
169 | PARSEOP_LOCKRULE_NOLOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_NOLOCK);}
170 ;
171
172MatchOpKeyword
173 : PARSEOP_MATCHTYPE_MTR {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MTR);}
174 | PARSEOP_MATCHTYPE_MEQ {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MEQ);}
175 | PARSEOP_MATCHTYPE_MLE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLE);}
176 | PARSEOP_MATCHTYPE_MLT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLT);}
177 | PARSEOP_MATCHTYPE_MGE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGE);}
178 | PARSEOP_MATCHTYPE_MGT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGT);}
179 ;
180
181MaxKeyword
182 : PARSEOP_MAXTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_FIXED);}
183 | PARSEOP_MAXTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_NOTFIXED);}
184 ;
185
186MemTypeKeyword
187 : PARSEOP_MEMTYPE_CACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_CACHEABLE);}
188 | PARSEOP_MEMTYPE_WRITECOMBINING {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_WRITECOMBINING);}
189 | PARSEOP_MEMTYPE_PREFETCHABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_PREFETCHABLE);}
190 | PARSEOP_MEMTYPE_NONCACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_NONCACHEABLE);}
191 ;
192
193MinKeyword
194 : PARSEOP_MINTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_FIXED);}
195 | PARSEOP_MINTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_NOTFIXED);}
196 ;
197
198ObjectTypeKeyword
199 : PARSEOP_OBJECTTYPE_UNK {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
200 | PARSEOP_OBJECTTYPE_INT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_INT);}
201 | PARSEOP_OBJECTTYPE_STR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_STR);}
202 | PARSEOP_OBJECTTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BUF);}
203 | PARSEOP_OBJECTTYPE_PKG {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PKG);}
204 | PARSEOP_OBJECTTYPE_FLD {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_FLD);}
205 | PARSEOP_OBJECTTYPE_DEV {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DEV);}
206 | PARSEOP_OBJECTTYPE_EVT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_EVT);}
207 | PARSEOP_OBJECTTYPE_MTH {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTH);}
208 | PARSEOP_OBJECTTYPE_MTX {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTX);}
209 | PARSEOP_OBJECTTYPE_OPR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_OPR);}
210 | PARSEOP_OBJECTTYPE_POW {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_POW);}
211 | PARSEOP_OBJECTTYPE_PRO {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PRO);}
212 | PARSEOP_OBJECTTYPE_THZ {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_THZ);}
213 | PARSEOP_OBJECTTYPE_BFF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BFF);}
214 | PARSEOP_OBJECTTYPE_DDB {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DDB);}
215 ;
216
217ParityTypeKeyword
218 : PARSEOP_PARITYTYPE_SPACE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_SPACE);}
219 | PARSEOP_PARITYTYPE_MARK {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_MARK);}
220 | PARSEOP_PARITYTYPE_ODD {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_ODD);}
221 | PARSEOP_PARITYTYPE_EVEN {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_EVEN);}
222 | PARSEOP_PARITYTYPE_NONE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_NONE);}
223 ;
224
225PinConfigByte
226 : PinConfigKeyword {$$ = $1;}
227 | ByteConstExpr {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
228 ;
229
230PinConfigKeyword
231 : PARSEOP_PIN_NOPULL {$$ = TrCreateLeafNode (PARSEOP_PIN_NOPULL);}
232 | PARSEOP_PIN_PULLDOWN {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDOWN);}
233 | PARSEOP_PIN_PULLUP {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLUP);}
234 | PARSEOP_PIN_PULLDEFAULT {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDEFAULT);}
235 ;
236
237PldKeyword
238 : PARSEOP_PLD_REVISION {$$ = TrCreateLeafNode (PARSEOP_PLD_REVISION);}
239 | PARSEOP_PLD_IGNORECOLOR {$$ = TrCreateLeafNode (PARSEOP_PLD_IGNORECOLOR);}
240 | PARSEOP_PLD_RED {$$ = TrCreateLeafNode (PARSEOP_PLD_RED);}
241 | PARSEOP_PLD_GREEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GREEN);}
242 | PARSEOP_PLD_BLUE {$$ = TrCreateLeafNode (PARSEOP_PLD_BLUE);}
243 | PARSEOP_PLD_WIDTH {$$ = TrCreateLeafNode (PARSEOP_PLD_WIDTH);}
244 | PARSEOP_PLD_HEIGHT {$$ = TrCreateLeafNode (PARSEOP_PLD_HEIGHT);}
245 | PARSEOP_PLD_USERVISIBLE {$$ = TrCreateLeafNode (PARSEOP_PLD_USERVISIBLE);}
246 | PARSEOP_PLD_DOCK {$$ = TrCreateLeafNode (PARSEOP_PLD_DOCK);}
247 | PARSEOP_PLD_LID {$$ = TrCreateLeafNode (PARSEOP_PLD_LID);}
248 | PARSEOP_PLD_PANEL {$$ = TrCreateLeafNode (PARSEOP_PLD_PANEL);}
249 | PARSEOP_PLD_VERTICALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALPOSITION);}
250 | PARSEOP_PLD_HORIZONTALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALPOSITION);}
251 | PARSEOP_PLD_SHAPE {$$ = TrCreateLeafNode (PARSEOP_PLD_SHAPE);}
252 | PARSEOP_PLD_GROUPORIENTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPORIENTATION);}
253 | PARSEOP_PLD_GROUPTOKEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPTOKEN);}
254 | PARSEOP_PLD_GROUPPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPPOSITION);}
255 | PARSEOP_PLD_BAY {$$ = TrCreateLeafNode (PARSEOP_PLD_BAY);}
256 | PARSEOP_PLD_EJECTABLE {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTABLE);}
257 | PARSEOP_PLD_EJECTREQUIRED {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTREQUIRED);}
258 | PARSEOP_PLD_CABINETNUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CABINETNUMBER);}
259 | PARSEOP_PLD_CARDCAGENUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CARDCAGENUMBER);}
260 | PARSEOP_PLD_REFERENCE {$$ = TrCreateLeafNode (PARSEOP_PLD_REFERENCE);}
261 | PARSEOP_PLD_ROTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_ROTATION);}
262 | PARSEOP_PLD_ORDER {$$ = TrCreateLeafNode (PARSEOP_PLD_ORDER);}
263 | PARSEOP_PLD_RESERVED {$$ = TrCreateLeafNode (PARSEOP_PLD_RESERVED);}
264 | PARSEOP_PLD_VERTICALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALOFFSET);}
265 | PARSEOP_PLD_HORIZONTALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALOFFSET);}
266 ;
267
268RangeTypeKeyword
269 : PARSEOP_RANGETYPE_ISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ISAONLY);}
270 | PARSEOP_RANGETYPE_NONISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_NONISAONLY);}
271 | PARSEOP_RANGETYPE_ENTIRE {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ENTIRE);}
272 ;
273
274RegionSpaceKeyword
275 : PARSEOP_REGIONSPACE_IO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IO);}
276 | PARSEOP_REGIONSPACE_MEM {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_MEM);}
277 | PARSEOP_REGIONSPACE_PCI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCI);}
278 | PARSEOP_REGIONSPACE_EC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_EC);}
279 | PARSEOP_REGIONSPACE_SMBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_SMBUS);}
280 | PARSEOP_REGIONSPACE_CMOS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_CMOS);}
281 | PARSEOP_REGIONSPACE_PCIBAR {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCIBAR);}
282 | PARSEOP_REGIONSPACE_IPMI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IPMI);}
283 | PARSEOP_REGIONSPACE_GPIO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GPIO);}
284 | PARSEOP_REGIONSPACE_GSBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GSBUS);}
285 | PARSEOP_REGIONSPACE_PCC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCC);}
286 | PARSEOP_REGIONSPACE_FFIXEDHW {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_FFIXEDHW);}
287 ;
288
289ResourceTypeKeyword
290 : PARSEOP_RESOURCETYPE_CONSUMER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
291 | PARSEOP_RESOURCETYPE_PRODUCER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_PRODUCER);}
292 ;
293
294SerializeRuleKeyword
295 : PARSEOP_SERIALIZERULE_SERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_SERIAL);}
296 | PARSEOP_SERIALIZERULE_NOTSERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL);}
297 ;
298
299ShareTypeKeyword
300 : PARSEOP_SHARETYPE_SHARED {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHARED);}
301 | PARSEOP_SHARETYPE_EXCLUSIVE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVE);}
302 | PARSEOP_SHARETYPE_SHAREDWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHAREDWAKE);}
303 | PARSEOP_SHARETYPE_EXCLUSIVEWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVEWAKE);}
304 ;
305
306SlaveModeKeyword
307 : PARSEOP_SLAVEMODE_CONTROLLERINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_CONTROLLERINIT);}
308 | PARSEOP_SLAVEMODE_DEVICEINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_DEVICEINIT);}
309 ;
310
311StopBitsKeyword
312 : PARSEOP_STOPBITS_TWO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_TWO);}
313 | PARSEOP_STOPBITS_ONEPLUSHALF {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONEPLUSHALF);}
314 | PARSEOP_STOPBITS_ONE {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONE);}
315 | PARSEOP_STOPBITS_ZERO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ZERO);}
316 ;
317
318TranslationKeyword
319 : PARSEOP_TRANSLATIONTYPE_SPARSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_SPARSE);}
320 | PARSEOP_TRANSLATIONTYPE_DENSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_DENSE);}
321 ;
322
323TypeKeyword
324 : PARSEOP_TYPE_TRANSLATION {$$ = TrCreateLeafNode (PARSEOP_TYPE_TRANSLATION);}
325 | PARSEOP_TYPE_STATIC {$$ = TrCreateLeafNode (PARSEOP_TYPE_STATIC);}
326 ;
327
328UpdateRuleKeyword
329 : PARSEOP_UPDATERULE_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_PRESERVE);}
330 | PARSEOP_UPDATERULE_ONES {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ONES);}
331 | PARSEOP_UPDATERULE_ZEROS {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ZEROS);}
332 ;
333
334WireModeKeyword
335 : PARSEOP_WIREMODE_FOUR {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_FOUR);}
336 | PARSEOP_WIREMODE_THREE {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_THREE);}
337 ;
338
339XferSizeKeyword
340 : PARSEOP_XFERSIZE_8 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_8, 0);}
341 | PARSEOP_XFERSIZE_16 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_16, 1);}
342 | PARSEOP_XFERSIZE_32 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
343 | PARSEOP_XFERSIZE_64 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_64, 3);}
344 | PARSEOP_XFERSIZE_128 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_128, 4);}
345 | PARSEOP_XFERSIZE_256 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_256, 5);}
346 ;
347
348XferTypeKeyword
349 : PARSEOP_XFERTYPE_8 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8);}
350 | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8_16);}
351 | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_16);}
352 ;
353
354
355/*******************************************************************************
356 *
357 * ASL Resource Template Terms
358 *
359 ******************************************************************************/
360
361/*
362 * Note: Create two default nodes to allow conversion to a Buffer AML opcode
363 * Also, insert the EndTag at the end of the template.
364 */
365ResourceTemplateTerm
48/*******************************************************************************
49 *
50 * ASL Resource Template Terms
51 *
52 ******************************************************************************/
53
54/*
55 * Note: Create two default nodes to allow conversion to a Buffer AML opcode
56 * Also, insert the EndTag at the end of the template.
57 */
58ResourceTemplateTerm
366 : PARSEOP_RESOURCETEMPLATE '(' ')'
59 : PARSEOP_RESOURCETEMPLATE OptionalParentheses
367 '{'
368 ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
369 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
370 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
60 '{'
61 ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
62 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
63 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
371 $5,
64 $4,
372 TrCreateLeafNode (PARSEOP_ENDTAG));}
373 ;
374
65 TrCreateLeafNode (PARSEOP_ENDTAG));}
66 ;
67
68OptionalParentheses
69 : {$$ = NULL;}
70 | '(' ')' {$$ = NULL;}
71 ;
72
375ResourceMacroList
376 : {$$ = NULL;}
377 | ResourceMacroList
378 ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);}
379 ;
380
381ResourceMacroTerm
382 : DMATerm {}

--- 58 unchanged lines hidden (view full) ---

441 ',' DWordConstExpr
442 ',' DWordConstExpr
443 ',' DWordConstExpr
444 OptionalByteConstExpr
445 OptionalStringData
446 OptionalNameString
447 OptionalType
448 OptionalTranslationType_Last
73ResourceMacroList
74 : {$$ = NULL;}
75 | ResourceMacroList
76 ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);}
77 ;
78
79ResourceMacroTerm
80 : DMATerm {}

--- 58 unchanged lines hidden (view full) ---

139 ',' DWordConstExpr
140 ',' DWordConstExpr
141 ',' DWordConstExpr
142 OptionalByteConstExpr
143 OptionalStringData
144 OptionalNameString
145 OptionalType
146 OptionalTranslationType_Last
449 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
147 ')' {$$ = TrLinkChildren ($<n>3,15,
148 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
450 | PARSEOP_DWORDIO '('
451 error ')' {$$ = AslDoError(); yyclearin;}
452 ;
453
454DWordMemoryTerm
455 : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
456 OptionalResourceType_First
457 OptionalDecodeType

--- 6 unchanged lines hidden (view full) ---

464 ',' DWordConstExpr
465 ',' DWordConstExpr
466 ',' DWordConstExpr
467 OptionalByteConstExpr
468 OptionalStringData
469 OptionalNameString
470 OptionalAddressRange
471 OptionalType_Last
149 | PARSEOP_DWORDIO '('
150 error ')' {$$ = AslDoError(); yyclearin;}
151 ;
152
153DWordMemoryTerm
154 : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
155 OptionalResourceType_First
156 OptionalDecodeType

--- 6 unchanged lines hidden (view full) ---

163 ',' DWordConstExpr
164 ',' DWordConstExpr
165 ',' DWordConstExpr
166 OptionalByteConstExpr
167 OptionalStringData
168 OptionalNameString
169 OptionalAddressRange
170 OptionalType_Last
472 ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
171 ')' {$$ = TrLinkChildren ($<n>3,16,
172 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
473 | PARSEOP_DWORDMEMORY '('
474 error ')' {$$ = AslDoError(); yyclearin;}
475 ;
476
477DWordSpaceTerm
478 : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
479 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
480 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

485 ',' DWordConstExpr
486 ',' DWordConstExpr
487 ',' DWordConstExpr
488 ',' DWordConstExpr
489 ',' DWordConstExpr
490 OptionalByteConstExpr
491 OptionalStringData
492 OptionalNameString_Last
173 | PARSEOP_DWORDMEMORY '('
174 error ')' {$$ = AslDoError(); yyclearin;}
175 ;
176
177DWordSpaceTerm
178 : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
179 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
180 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

185 ',' DWordConstExpr
186 ',' DWordConstExpr
187 ',' DWordConstExpr
188 ',' DWordConstExpr
189 ',' DWordConstExpr
190 OptionalByteConstExpr
191 OptionalStringData
192 OptionalNameString_Last
493 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
193 ')' {$$ = TrLinkChildren ($<n>3,14,
194 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
494 | PARSEOP_DWORDSPACE '('
495 error ')' {$$ = AslDoError(); yyclearin;}
496 ;
497
498EndDependentFnTerm
499 : PARSEOP_ENDDEPENDENTFN '('
500 ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
501 | PARSEOP_ENDDEPENDENTFN '('

--- 11 unchanged lines hidden (view full) ---

513 ',' QWordConstExpr
514 ',' QWordConstExpr
515 ',' QWordConstExpr
516 ',' QWordConstExpr
517 OptionalQWordConstExpr
518 OptionalNameString
519 OptionalType
520 OptionalTranslationType_Last
195 | PARSEOP_DWORDSPACE '('
196 error ')' {$$ = AslDoError(); yyclearin;}
197 ;
198
199EndDependentFnTerm
200 : PARSEOP_ENDDEPENDENTFN '('
201 ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
202 | PARSEOP_ENDDEPENDENTFN '('

--- 11 unchanged lines hidden (view full) ---

214 ',' QWordConstExpr
215 ',' QWordConstExpr
216 ',' QWordConstExpr
217 ',' QWordConstExpr
218 OptionalQWordConstExpr
219 OptionalNameString
220 OptionalType
221 OptionalTranslationType_Last
521 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
222 ')' {$$ = TrLinkChildren ($<n>3,14,
223 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
522 | PARSEOP_EXTENDEDIO '('
523 error ')' {$$ = AslDoError(); yyclearin;}
524 ;
525
526ExtendedMemoryTerm
527 : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
528 OptionalResourceType_First
529 OptionalDecodeType

--- 5 unchanged lines hidden (view full) ---

535 ',' QWordConstExpr
536 ',' QWordConstExpr
537 ',' QWordConstExpr
538 ',' QWordConstExpr
539 OptionalQWordConstExpr
540 OptionalNameString
541 OptionalAddressRange
542 OptionalType_Last
224 | PARSEOP_EXTENDEDIO '('
225 error ')' {$$ = AslDoError(); yyclearin;}
226 ;
227
228ExtendedMemoryTerm
229 : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
230 OptionalResourceType_First
231 OptionalDecodeType

--- 5 unchanged lines hidden (view full) ---

237 ',' QWordConstExpr
238 ',' QWordConstExpr
239 ',' QWordConstExpr
240 ',' QWordConstExpr
241 OptionalQWordConstExpr
242 OptionalNameString
243 OptionalAddressRange
244 OptionalType_Last
543 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
245 ')' {$$ = TrLinkChildren ($<n>3,15,
246 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
544 | PARSEOP_EXTENDEDMEMORY '('
545 error ')' {$$ = AslDoError(); yyclearin;}
546 ;
547
548ExtendedSpaceTerm
549 : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
550 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
551 OptionalResourceType
552 OptionalDecodeType
553 OptionalMinType
554 OptionalMaxType
555 ',' ByteConstExpr
556 ',' QWordConstExpr
557 ',' QWordConstExpr
558 ',' QWordConstExpr
559 ',' QWordConstExpr
560 ',' QWordConstExpr
561 OptionalQWordConstExpr
562 OptionalNameString_Last
247 | PARSEOP_EXTENDEDMEMORY '('
248 error ')' {$$ = AslDoError(); yyclearin;}
249 ;
250
251ExtendedSpaceTerm
252 : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
253 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
254 OptionalResourceType
255 OptionalDecodeType
256 OptionalMinType
257 OptionalMaxType
258 ',' ByteConstExpr
259 ',' QWordConstExpr
260 ',' QWordConstExpr
261 ',' QWordConstExpr
262 ',' QWordConstExpr
263 ',' QWordConstExpr
264 OptionalQWordConstExpr
265 OptionalNameString_Last
563 ')' {$$ = TrLinkChildren ($<n>3,13,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
266 ')' {$$ = TrLinkChildren ($<n>3,13,
267 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
564 | PARSEOP_EXTENDEDSPACE '('
565 error ')' {$$ = AslDoError(); yyclearin;}
566 ;
567
568FixedDmaTerm
569 : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
570 WordConstExpr /* 04: DMA RequestLines */
571 ',' WordConstExpr /* 06: DMA Channels */

--- 22 unchanged lines hidden (view full) ---

594 ',' PinConfigByte /* 09: PinConfig */
595 OptionalWordConstExpr /* 10: DebounceTimeout */
596 ',' StringData /* 12: ResourceSource */
597 OptionalByteConstExpr /* 13: ResourceSourceIndex */
598 OptionalResourceType /* 14: ResourceType */
599 OptionalNameString /* 15: DescriptorName */
600 OptionalBuffer_Last /* 16: VendorData */
601 ')' '{'
268 | PARSEOP_EXTENDEDSPACE '('
269 error ')' {$$ = AslDoError(); yyclearin;}
270 ;
271
272FixedDmaTerm
273 : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
274 WordConstExpr /* 04: DMA RequestLines */
275 ',' WordConstExpr /* 06: DMA Channels */

--- 22 unchanged lines hidden (view full) ---

298 ',' PinConfigByte /* 09: PinConfig */
299 OptionalWordConstExpr /* 10: DebounceTimeout */
300 ',' StringData /* 12: ResourceSource */
301 OptionalByteConstExpr /* 13: ResourceSourceIndex */
302 OptionalResourceType /* 14: ResourceType */
303 OptionalNameString /* 15: DescriptorName */
304 OptionalBuffer_Last /* 16: VendorData */
305 ')' '{'
602 DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
306 DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,
307 $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
603 | PARSEOP_GPIO_INT '('
604 error ')' {$$ = AslDoError(); yyclearin;}
605 ;
606
607GpioIoTerm
608 : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
609 OptionalShareType_First /* 04: SharedType */
610 ',' PinConfigByte /* 06: PinConfig */
611 OptionalWordConstExpr /* 07: DebounceTimeout */
612 OptionalWordConstExpr /* 08: DriveStrength */
613 OptionalIoRestriction /* 09: IoRestriction */
614 ',' StringData /* 11: ResourceSource */
615 OptionalByteConstExpr /* 12: ResourceSourceIndex */
616 OptionalResourceType /* 13: ResourceType */
617 OptionalNameString /* 14: DescriptorName */
618 OptionalBuffer_Last /* 15: VendorData */
619 ')' '{'
308 | PARSEOP_GPIO_INT '('
309 error ')' {$$ = AslDoError(); yyclearin;}
310 ;
311
312GpioIoTerm
313 : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
314 OptionalShareType_First /* 04: SharedType */
315 ',' PinConfigByte /* 06: PinConfig */
316 OptionalWordConstExpr /* 07: DebounceTimeout */
317 OptionalWordConstExpr /* 08: DriveStrength */
318 OptionalIoRestriction /* 09: IoRestriction */
319 ',' StringData /* 11: ResourceSource */
320 OptionalByteConstExpr /* 12: ResourceSourceIndex */
321 OptionalResourceType /* 13: ResourceType */
322 OptionalNameString /* 14: DescriptorName */
323 OptionalBuffer_Last /* 15: VendorData */
324 ')' '{'
620 DWordList '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
325 DWordList '}' {$$ = TrLinkChildren ($<n>3,11,
326 $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
621 | PARSEOP_GPIO_IO '('
622 error ')' {$$ = AslDoError(); yyclearin;}
623 ;
624
625I2cSerialBusTerm
626 : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
627 WordConstExpr /* 04: SlaveAddress */
628 OptionalSlaveMode /* 05: SlaveMode */
629 ',' DWordConstExpr /* 07: ConnectionSpeed */
630 OptionalAddressingMode /* 08: AddressingMode */
631 ',' StringData /* 10: ResourceSource */
632 OptionalByteConstExpr /* 11: ResourceSourceIndex */
633 OptionalResourceType /* 12: ResourceType */
634 OptionalNameString /* 13: DescriptorName */
635 OptionalBuffer_Last /* 14: VendorData */
327 | PARSEOP_GPIO_IO '('
328 error ')' {$$ = AslDoError(); yyclearin;}
329 ;
330
331I2cSerialBusTerm
332 : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
333 WordConstExpr /* 04: SlaveAddress */
334 OptionalSlaveMode /* 05: SlaveMode */
335 ',' DWordConstExpr /* 07: ConnectionSpeed */
336 OptionalAddressingMode /* 08: AddressingMode */
337 ',' StringData /* 10: ResourceSource */
338 OptionalByteConstExpr /* 11: ResourceSourceIndex */
339 OptionalResourceType /* 12: ResourceType */
340 OptionalNameString /* 13: DescriptorName */
341 OptionalBuffer_Last /* 14: VendorData */
636 ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13,
342 ')' {$$ = TrLinkChildren ($<n>3,10,
343 $4,$5,$7,$8,$10,$11,$12,$13,
637 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
638 | PARSEOP_I2C_SERIALBUS '('
639 error ')' {$$ = AslDoError(); yyclearin;}
640 ;
641
642I2cSerialBusTermV2
643 : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
644 WordConstExpr /* 04: SlaveAddress */
645 OptionalSlaveMode /* 05: SlaveMode */
646 ',' DWordConstExpr /* 07: ConnectionSpeed */
647 OptionalAddressingMode /* 08: AddressingMode */
648 ',' StringData /* 10: ResourceSource */
649 OptionalByteConstExpr /* 11: ResourceSourceIndex */
650 OptionalResourceType /* 12: ResourceType */
651 OptionalNameString /* 13: DescriptorName */
652 OptionalShareType /* 14: Share */
653 OptionalBuffer_Last /* 15: VendorData */
344 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
345 | PARSEOP_I2C_SERIALBUS '('
346 error ')' {$$ = AslDoError(); yyclearin;}
347 ;
348
349I2cSerialBusTermV2
350 : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
351 WordConstExpr /* 04: SlaveAddress */
352 OptionalSlaveMode /* 05: SlaveMode */
353 ',' DWordConstExpr /* 07: ConnectionSpeed */
354 OptionalAddressingMode /* 08: AddressingMode */
355 ',' StringData /* 10: ResourceSource */
356 OptionalByteConstExpr /* 11: ResourceSourceIndex */
357 OptionalResourceType /* 12: ResourceType */
358 OptionalNameString /* 13: DescriptorName */
359 OptionalShareType /* 14: Share */
360 OptionalBuffer_Last /* 15: VendorData */
654 ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13,
655 $14,$15);}
361 ')' {$$ = TrLinkChildren ($<n>3,10,
362 $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
656 | PARSEOP_I2C_SERIALBUS_V2 '('
657 error ')' {$$ = AslDoError(); yyclearin;}
658 ;
659
660InterruptTerm
661 : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
662 OptionalResourceType_First
663 ',' InterruptTypeKeyword
664 ',' InterruptLevel
665 OptionalShareType
666 OptionalByteConstExpr
667 OptionalStringData
668 OptionalNameString_Last
669 ')' '{'
363 | PARSEOP_I2C_SERIALBUS_V2 '('
364 error ')' {$$ = AslDoError(); yyclearin;}
365 ;
366
367InterruptTerm
368 : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
369 OptionalResourceType_First
370 ',' InterruptTypeKeyword
371 ',' InterruptLevel
372 OptionalShareType
373 OptionalByteConstExpr
374 OptionalStringData
375 OptionalNameString_Last
376 ')' '{'
670 DWordList '}' {$$ = TrLinkChildren ($<n>3,8,$4,$6,$8,$9,$10,$11,$12,$15);}
377 DWordList '}' {$$ = TrLinkChildren ($<n>3,8,
378 $4,$6,$8,$9,$10,$11,$12,$15);}
671 | PARSEOP_INTERRUPT '('
672 error ')' {$$ = AslDoError(); yyclearin;}
673 ;
674
675IOTerm
676 : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
677 IODecodeKeyword
678 ',' WordConstExpr

--- 76 unchanged lines hidden (view full) ---

755 ',' QWordConstExpr
756 ',' QWordConstExpr
757 ',' QWordConstExpr
758 OptionalByteConstExpr
759 OptionalStringData
760 OptionalNameString
761 OptionalType
762 OptionalTranslationType_Last
379 | PARSEOP_INTERRUPT '('
380 error ')' {$$ = AslDoError(); yyclearin;}
381 ;
382
383IOTerm
384 : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
385 IODecodeKeyword
386 ',' WordConstExpr

--- 76 unchanged lines hidden (view full) ---

463 ',' QWordConstExpr
464 ',' QWordConstExpr
465 ',' QWordConstExpr
466 OptionalByteConstExpr
467 OptionalStringData
468 OptionalNameString
469 OptionalType
470 OptionalTranslationType_Last
763 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
471 ')' {$$ = TrLinkChildren ($<n>3,15,
472 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
764 | PARSEOP_QWORDIO '('
765 error ')' {$$ = AslDoError(); yyclearin;}
766 ;
767
768QWordMemoryTerm
769 : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
770 OptionalResourceType_First
771 OptionalDecodeType

--- 6 unchanged lines hidden (view full) ---

778 ',' QWordConstExpr
779 ',' QWordConstExpr
780 ',' QWordConstExpr
781 OptionalByteConstExpr
782 OptionalStringData
783 OptionalNameString
784 OptionalAddressRange
785 OptionalType_Last
473 | PARSEOP_QWORDIO '('
474 error ')' {$$ = AslDoError(); yyclearin;}
475 ;
476
477QWordMemoryTerm
478 : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
479 OptionalResourceType_First
480 OptionalDecodeType

--- 6 unchanged lines hidden (view full) ---

487 ',' QWordConstExpr
488 ',' QWordConstExpr
489 ',' QWordConstExpr
490 OptionalByteConstExpr
491 OptionalStringData
492 OptionalNameString
493 OptionalAddressRange
494 OptionalType_Last
786 ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
495 ')' {$$ = TrLinkChildren ($<n>3,16,
496 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
787 | PARSEOP_QWORDMEMORY '('
788 error ')' {$$ = AslDoError(); yyclearin;}
789 ;
790
791QWordSpaceTerm
792 : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
793 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
794 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

799 ',' QWordConstExpr
800 ',' QWordConstExpr
801 ',' QWordConstExpr
802 ',' QWordConstExpr
803 ',' QWordConstExpr
804 OptionalByteConstExpr
805 OptionalStringData
806 OptionalNameString_Last
497 | PARSEOP_QWORDMEMORY '('
498 error ')' {$$ = AslDoError(); yyclearin;}
499 ;
500
501QWordSpaceTerm
502 : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
503 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
504 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

509 ',' QWordConstExpr
510 ',' QWordConstExpr
511 ',' QWordConstExpr
512 ',' QWordConstExpr
513 ',' QWordConstExpr
514 OptionalByteConstExpr
515 OptionalStringData
516 OptionalNameString_Last
807 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
517 ')' {$$ = TrLinkChildren ($<n>3,14,
518 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
808 | PARSEOP_QWORDSPACE '('
809 error ')' {$$ = AslDoError(); yyclearin;}
810 ;
811
812RegisterTerm
813 : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
814 AddressSpaceKeyword
815 ',' ByteConstExpr

--- 16 unchanged lines hidden (view full) ---

832 ',' DWordConstExpr /* 11: ConnectionSpeed */
833 ',' ClockPolarityKeyword /* 13: ClockPolarity */
834 ',' ClockPhaseKeyword /* 15: ClockPhase */
835 ',' StringData /* 17: ResourceSource */
836 OptionalByteConstExpr /* 18: ResourceSourceIndex */
837 OptionalResourceType /* 19: ResourceType */
838 OptionalNameString /* 20: DescriptorName */
839 OptionalBuffer_Last /* 21: VendorData */
519 | PARSEOP_QWORDSPACE '('
520 error ')' {$$ = AslDoError(); yyclearin;}
521 ;
522
523RegisterTerm
524 : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
525 AddressSpaceKeyword
526 ',' ByteConstExpr

--- 16 unchanged lines hidden (view full) ---

543 ',' DWordConstExpr /* 11: ConnectionSpeed */
544 ',' ClockPolarityKeyword /* 13: ClockPolarity */
545 ',' ClockPhaseKeyword /* 15: ClockPhase */
546 ',' StringData /* 17: ResourceSource */
547 OptionalByteConstExpr /* 18: ResourceSourceIndex */
548 OptionalResourceType /* 19: ResourceType */
549 OptionalNameString /* 20: DescriptorName */
550 OptionalBuffer_Last /* 21: VendorData */
840 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
551 ')' {$$ = TrLinkChildren ($<n>3,14,
552 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
841 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
842 | PARSEOP_SPI_SERIALBUS '('
843 error ')' {$$ = AslDoError(); yyclearin;}
844 ;
845
846SpiSerialBusTermV2
847 : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
848 WordConstExpr /* 04: DeviceSelection */

--- 5 unchanged lines hidden (view full) ---

854 ',' ClockPolarityKeyword /* 13: ClockPolarity */
855 ',' ClockPhaseKeyword /* 15: ClockPhase */
856 ',' StringData /* 17: ResourceSource */
857 OptionalByteConstExpr /* 18: ResourceSourceIndex */
858 OptionalResourceType /* 19: ResourceType */
859 OptionalNameString /* 20: DescriptorName */
860 OptionalShareType /* 21: Share */
861 OptionalBuffer_Last /* 22: VendorData */
553 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
554 | PARSEOP_SPI_SERIALBUS '('
555 error ')' {$$ = AslDoError(); yyclearin;}
556 ;
557
558SpiSerialBusTermV2
559 : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
560 WordConstExpr /* 04: DeviceSelection */

--- 5 unchanged lines hidden (view full) ---

566 ',' ClockPolarityKeyword /* 13: ClockPolarity */
567 ',' ClockPhaseKeyword /* 15: ClockPhase */
568 ',' StringData /* 17: ResourceSource */
569 OptionalByteConstExpr /* 18: ResourceSourceIndex */
570 OptionalResourceType /* 19: ResourceType */
571 OptionalNameString /* 20: DescriptorName */
572 OptionalShareType /* 21: Share */
573 OptionalBuffer_Last /* 22: VendorData */
862 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
863 $21,$22);}
574 ')' {$$ = TrLinkChildren ($<n>3,14,
575 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
864 | PARSEOP_SPI_SERIALBUS_V2 '('
865 error ')' {$$ = AslDoError(); yyclearin;}
866 ;
867
868StartDependentFnNoPriTerm
869 : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
870 ')' '{'
871 ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}

--- 22 unchanged lines hidden (view full) ---

894 OptionalFlowControl /* 11: FlowControl */
895 ',' WordConstExpr /* 13: Rx BufferSize */
896 ',' WordConstExpr /* 15: Tx BufferSize */
897 ',' StringData /* 17: ResourceSource */
898 OptionalByteConstExpr /* 18: ResourceSourceIndex */
899 OptionalResourceType /* 19: ResourceType */
900 OptionalNameString /* 20: DescriptorName */
901 OptionalBuffer_Last /* 21: VendorData */
576 | PARSEOP_SPI_SERIALBUS_V2 '('
577 error ')' {$$ = AslDoError(); yyclearin;}
578 ;
579
580StartDependentFnNoPriTerm
581 : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
582 ')' '{'
583 ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}

--- 22 unchanged lines hidden (view full) ---

606 OptionalFlowControl /* 11: FlowControl */
607 ',' WordConstExpr /* 13: Rx BufferSize */
608 ',' WordConstExpr /* 15: Tx BufferSize */
609 ',' StringData /* 17: ResourceSource */
610 OptionalByteConstExpr /* 18: ResourceSourceIndex */
611 OptionalResourceType /* 19: ResourceType */
612 OptionalNameString /* 20: DescriptorName */
613 OptionalBuffer_Last /* 21: VendorData */
902 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
614 ')' {$$ = TrLinkChildren ($<n>3,15,
615 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
903 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
904 | PARSEOP_UART_SERIALBUS '('
905 error ')' {$$ = AslDoError(); yyclearin;}
906 ;
907
908UartSerialBusTermV2
909 : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
910 DWordConstExpr /* 04: ConnectionSpeed */

--- 6 unchanged lines hidden (view full) ---

917 ',' WordConstExpr /* 13: Rx BufferSize */
918 ',' WordConstExpr /* 15: Tx BufferSize */
919 ',' StringData /* 17: ResourceSource */
920 OptionalByteConstExpr /* 18: ResourceSourceIndex */
921 OptionalResourceType /* 19: ResourceType */
922 OptionalNameString /* 20: DescriptorName */
923 OptionalShareType /* 21: Share */
924 OptionalBuffer_Last /* 22: VendorData */
616 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
617 | PARSEOP_UART_SERIALBUS '('
618 error ')' {$$ = AslDoError(); yyclearin;}
619 ;
620
621UartSerialBusTermV2
622 : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
623 DWordConstExpr /* 04: ConnectionSpeed */

--- 6 unchanged lines hidden (view full) ---

630 ',' WordConstExpr /* 13: Rx BufferSize */
631 ',' WordConstExpr /* 15: Tx BufferSize */
632 ',' StringData /* 17: ResourceSource */
633 OptionalByteConstExpr /* 18: ResourceSourceIndex */
634 OptionalResourceType /* 19: ResourceType */
635 OptionalNameString /* 20: DescriptorName */
636 OptionalShareType /* 21: Share */
637 OptionalBuffer_Last /* 22: VendorData */
925 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
926 $21,$22);}
638 ')' {$$ = TrLinkChildren ($<n>3,15,
639 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
927 | PARSEOP_UART_SERIALBUS_V2 '('
928 error ')' {$$ = AslDoError(); yyclearin;}
929 ;
930
931VendorLongTerm
932 : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
933 OptionalNameString_First
934 ')' '{'

--- 20 unchanged lines hidden (view full) ---

955 ',' WordConstExpr
956 ',' WordConstExpr
957 ',' WordConstExpr
958 ',' WordConstExpr
959 ',' WordConstExpr
960 OptionalByteConstExpr
961 OptionalStringData
962 OptionalNameString_Last
640 | PARSEOP_UART_SERIALBUS_V2 '('
641 error ')' {$$ = AslDoError(); yyclearin;}
642 ;
643
644VendorLongTerm
645 : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
646 OptionalNameString_First
647 ')' '{'

--- 20 unchanged lines hidden (view full) ---

668 ',' WordConstExpr
669 ',' WordConstExpr
670 ',' WordConstExpr
671 ',' WordConstExpr
672 ',' WordConstExpr
673 OptionalByteConstExpr
674 OptionalStringData
675 OptionalNameString_Last
963 ')' {$$ = TrLinkChildren ($<n>3,12,$4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
676 ')' {$$ = TrLinkChildren ($<n>3,12,
677 $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
964 | PARSEOP_WORDBUSNUMBER '('
965 error ')' {$$ = AslDoError(); yyclearin;}
966 ;
967
968WordIOTerm
969 : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
970 OptionalResourceType_First
971 OptionalMinType

--- 5 unchanged lines hidden (view full) ---

977 ',' WordConstExpr
978 ',' WordConstExpr
979 ',' WordConstExpr
980 OptionalByteConstExpr
981 OptionalStringData
982 OptionalNameString
983 OptionalType
984 OptionalTranslationType_Last
678 | PARSEOP_WORDBUSNUMBER '('
679 error ')' {$$ = AslDoError(); yyclearin;}
680 ;
681
682WordIOTerm
683 : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
684 OptionalResourceType_First
685 OptionalMinType

--- 5 unchanged lines hidden (view full) ---

691 ',' WordConstExpr
692 ',' WordConstExpr
693 ',' WordConstExpr
694 OptionalByteConstExpr
695 OptionalStringData
696 OptionalNameString
697 OptionalType
698 OptionalTranslationType_Last
985 ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
699 ')' {$$ = TrLinkChildren ($<n>3,15,
700 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
986 | PARSEOP_WORDIO '('
987 error ')' {$$ = AslDoError(); yyclearin;}
988 ;
989
990WordSpaceTerm
991 : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
992 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
993 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

998 ',' WordConstExpr
999 ',' WordConstExpr
1000 ',' WordConstExpr
1001 ',' WordConstExpr
1002 ',' WordConstExpr
1003 OptionalByteConstExpr
1004 OptionalStringData
1005 OptionalNameString_Last
701 | PARSEOP_WORDIO '('
702 error ')' {$$ = AslDoError(); yyclearin;}
703 ;
704
705WordSpaceTerm
706 : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
707 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
708 OptionalResourceType

--- 4 unchanged lines hidden (view full) ---

713 ',' WordConstExpr
714 ',' WordConstExpr
715 ',' WordConstExpr
716 ',' WordConstExpr
717 ',' WordConstExpr
718 OptionalByteConstExpr
719 OptionalStringData
720 OptionalNameString_Last
1006 ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
721 ')' {$$ = TrLinkChildren ($<n>3,14,
722 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
1007 | PARSEOP_WORDSPACE '('
1008 error ')' {$$ = AslDoError(); yyclearin;}
1009 ;
723 | PARSEOP_WORDSPACE '('
724 error ')' {$$ = AslDoError(); yyclearin;}
725 ;
1010
1011
1012/******* Object References ***********************************************/
1013
1014/* Allow IO, DMA, IRQ Resource macro names to also be used as identifiers */
1015
1016NameString
1017 : NameSeg {}
1018 | PARSEOP_NAMESTRING {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) AslCompilerlval.s);}
1019 | PARSEOP_IO {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");}
1020 | PARSEOP_DMA {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");}
1021 | PARSEOP_IRQ {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");}
1022 ;
1023
1024NameSeg
1025 : PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT) AslCompilerlval.s);}
1026 ;
1027
1028
1029/*******************************************************************************
1030 *
1031 * ASL Helper Terms
1032 *
1033 ******************************************************************************/
1034
1035OptionalBusMasterKeyword
1036 : ',' {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
1037 | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);}
1038 | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_NOTMASTER);}
1039 ;
1040
1041OptionalAccessAttribTerm
1042 : {$$ = NULL;}
1043 | ',' {$$ = NULL;}
1044 | ',' ByteConstExpr {$$ = $2;}
1045 | ',' AccessAttribKeyword {$$ = $2;}
1046 ;
1047
1048OptionalAccessSize
1049 : {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
1050 | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);}
1051 | ',' ByteConstExpr {$$ = $2;}
1052 ;
1053
1054OptionalAddressingMode
1055 : ',' {$$ = NULL;}
1056 | ',' AddressingModeKeyword {$$ = $2;}
1057 ;
1058
1059OptionalAddressRange
1060 : {$$ = NULL;}
1061 | ',' {$$ = NULL;}
1062 | ',' AddressKeyword {$$ = $2;}
1063 ;
1064
1065OptionalBitsPerByte
1066 : ',' {$$ = NULL;}
1067 | ',' BitsPerByteKeyword {$$ = $2;}
1068 ;
1069
1070OptionalBuffer_Last
1071 : {$$ = NULL;}
1072 | ',' {$$ = NULL;}
1073 | ',' RawDataBufferTerm {$$ = $2;}
1074 ;
1075
1076OptionalByteConstExpr
1077 : {$$ = NULL;}
1078 | ',' {$$ = NULL;}
1079 | ',' ByteConstExpr {$$ = $2;}
1080 ;
1081
1082OptionalDecodeType
1083 : ',' {$$ = NULL;}
1084 | ',' DecodeKeyword {$$ = $2;}
1085 ;
1086
1087OptionalDevicePolarity
1088 : ',' {$$ = NULL;}
1089 | ',' DevicePolarityKeyword {$$ = $2;}
1090 ;
1091
1092OptionalDWordConstExpr
1093 : {$$ = NULL;}
1094 | ',' {$$ = NULL;}
1095 | ',' DWordConstExpr {$$ = $2;}
1096 ;
1097
1098OptionalEndian
1099 : ',' {$$ = NULL;}
1100 | ',' EndianKeyword {$$ = $2;}
1101 ;
1102
1103OptionalFlowControl
1104 : ',' {$$ = NULL;}
1105 | ',' FlowControlKeyword {$$ = $2;}
1106 ;
1107
1108OptionalIoRestriction
1109 : ',' {$$ = NULL;}
1110 | ',' IoRestrictionKeyword {$$ = $2;}
1111 ;
1112
1113OptionalListString
1114 : {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1115 | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */
1116 | ',' TermArg {$$ = $2;}
1117 ;
1118
1119OptionalMaxType
1120 : ',' {$$ = NULL;}
1121 | ',' MaxKeyword {$$ = $2;}
1122 ;
1123
1124OptionalMemType
1125 : ',' {$$ = NULL;}
1126 | ',' MemTypeKeyword {$$ = $2;}
1127 ;
1128
1129OptionalMinType
1130 : ',' {$$ = NULL;}
1131 | ',' MinKeyword {$$ = $2;}
1132 ;
1133
1134OptionalNameString
1135 : {$$ = NULL;}
1136 | ',' {$$ = NULL;}
1137 | ',' NameString {$$ = $2;}
1138 ;
1139
1140OptionalNameString_Last
1141 : {$$ = NULL;}
1142 | ',' {$$ = NULL;}
1143 | ',' NameString {$$ = $2;}
1144 ;
1145
1146OptionalNameString_First
1147 : {$$ = TrCreateLeafNode (PARSEOP_ZERO);}
1148 | NameString {$$ = $1;}
1149 ;
1150
1151OptionalObjectTypeKeyword
1152 : {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
1153 | ',' ObjectTypeKeyword {$$ = $2;}
1154 ;
1155
1156OptionalParityType
1157 : ',' {$$ = NULL;}
1158 | ',' ParityTypeKeyword {$$ = $2;}
1159 ;
1160
1161OptionalQWordConstExpr
1162 : {$$ = NULL;}
1163 | ',' {$$ = NULL;}
1164 | ',' QWordConstExpr {$$ = $2;}
1165 ;
1166
1167OptionalRangeType
1168 : ',' {$$ = NULL;}
1169 | ',' RangeTypeKeyword {$$ = $2;}
1170 ;
1171
1172OptionalReadWriteKeyword
1173 : {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1174 | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);}
1175 | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_READONLY);}
1176 ;
1177
1178OptionalResourceType_First
1179 : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1180 | ResourceTypeKeyword {$$ = $1;}
1181 ;
1182
1183OptionalResourceType
1184 : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1185 | ',' {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
1186 | ',' ResourceTypeKeyword {$$ = $2;}
1187 ;
1188
1189OptionalSlaveMode
1190 : ',' {$$ = NULL;}
1191 | ',' SlaveModeKeyword {$$ = $2;}
1192 ;
1193
1194OptionalShareType
1195 : {$$ = NULL;}
1196 | ',' {$$ = NULL;}
1197 | ',' ShareTypeKeyword {$$ = $2;}
1198 ;
1199
1200OptionalShareType_First
1201 : {$$ = NULL;}
1202 | ShareTypeKeyword {$$ = $1;}
1203 ;
1204
1205OptionalStopBits
1206 : ',' {$$ = NULL;}
1207 | ',' StopBitsKeyword {$$ = $2;}
1208 ;
1209
1210OptionalStringData
1211 : {$$ = NULL;}
1212 | ',' {$$ = NULL;}
1213 | ',' StringData {$$ = $2;}
1214 ;
1215
1216OptionalTranslationType_Last
1217 : {$$ = NULL;}
1218 | ',' {$$ = NULL;}
1219 | ',' TranslationKeyword {$$ = $2;}
1220 ;
1221
1222OptionalType
1223 : {$$ = NULL;}
1224 | ',' {$$ = NULL;}
1225 | ',' TypeKeyword {$$ = $2;}
1226 ;
1227
1228OptionalType_Last
1229 : {$$ = NULL;}
1230 | ',' {$$ = NULL;}
1231 | ',' TypeKeyword {$$ = $2;}
1232 ;
1233
1234OptionalWireMode
1235 : ',' {$$ = NULL;}
1236 | ',' WireModeKeyword {$$ = $2;}
1237 ;
1238
1239OptionalWordConstExpr
1240 : ',' {$$ = NULL;}
1241 | ',' WordConstExpr {$$ = $2;}
1242 ;
1243
1244OptionalXferSize
1245 : {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1246 | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);}
1247 | ',' XferSizeKeyword {$$ = $2;}
1248 ;