1 NoEcho('
2 /******************************************************************************
3 *
4 * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 * - Keep this file synched with the
6 * CvParseOpBlockType function in cvcompiler.c
7 *
8 *****************************************************************************/
9
10 /******************************************************************************
11 *
12 * 1. Copyright Notice
13 *
14 * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
15 * All rights reserved.
16 *
17 * 2. License
18 *
19 * 2.1. This is your license from Intel Corp. under its intellectual property
20 * rights. You may have additional license terms from the party that provided
21 * you this software, covering your right to use that party's intellectual
22 * property rights.
23 *
24 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
25 * copy of the source code appearing in this file ("Covered Code") an
26 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
27 * base code distributed originally by Intel ("Original Intel Code") to copy,
28 * make derivatives, distribute, use and display any portion of the Covered
29 * Code in any form, with the right to sublicense such rights; and
30 *
31 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
32 * license (with the right to sublicense), under only those claims of Intel
33 * patents that are infringed by the Original Intel Code, to make, use, sell,
34 * offer to sell, and import the Covered Code and derivative works thereof
35 * solely to the minimum extent necessary to exercise the above copyright
36 * license, and in no event shall the patent license extend to any additions
37 * to or modifications of the Original Intel Code. No other license or right
38 * is granted directly or by implication, estoppel or otherwise;
39 *
40 * The above copyright and patent license is granted only if the following
41 * conditions are met:
42 *
43 * 3. Conditions
44 *
45 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
46 * Redistribution of source code of any substantial portion of the Covered
47 * Code or modification with rights to further distribute source must include
48 * the above Copyright Notice, the above License, this list of Conditions,
49 * and the following Disclaimer and Export Compliance provision. In addition,
50 * Licensee must cause all Covered Code to which Licensee contributes to
51 * contain a file documenting the changes Licensee made to create that Covered
52 * Code and the date of any change. Licensee must include in that file the
53 * documentation of any changes made by any predecessor Licensee. Licensee
54 * must include a prominent statement that the modification is derived,
55 * directly or indirectly, from Original Intel Code.
56 *
57 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
58 * Redistribution of source code of any substantial portion of the Covered
59 * Code or modification without rights to further distribute source must
60 * include the following Disclaimer and Export Compliance provision in the
61 * documentation and/or other materials provided with distribution. In
62 * addition, Licensee may not authorize further sublicense of source of any
63 * portion of the Covered Code, and must include terms to the effect that the
64 * license from Licensee to its licensee is limited to the intellectual
65 * property embodied in the software Licensee provides to its licensee, and
66 * not to intellectual property embodied in modifications its licensee may
67 * make.
68 *
69 * 3.3. Redistribution of Executable. Redistribution in executable form of any
70 * substantial portion of the Covered Code or modification must reproduce the
71 * above Copyright Notice, and the following Disclaimer and Export Compliance
72 * provision in the documentation and/or other materials provided with the
73 * distribution.
74 *
75 * 3.4. Intel retains all right, title, and interest in and to the Original
76 * Intel Code.
77 *
78 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
79 * Intel shall be used in advertising or otherwise to promote the sale, use or
80 * other dealings in products derived from or relating to the Covered Code
81 * without prior written authorization from Intel.
82 *
83 * 4. Disclaimer and Export Compliance
84 *
85 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
86 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
87 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
88 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
89 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
90 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
91 * PARTICULAR PURPOSE.
92 *
93 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
94 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
95 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
96 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
97 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
98 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
99 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
100 * LIMITED REMEDY.
101 *
102 * 4.3. Licensee shall not export, either directly or indirectly, any of this
103 * software or system incorporating such software without first obtaining any
104 * required license or other approval from the U. S. Department of Commerce or
105 * any other agency or department of the United States Government. In the
106 * event Licensee exports any such software from the United States or
107 * re-exports any such software from a foreign destination, Licensee shall
108 * ensure that the distribution and export/re-export of the software is in
109 * compliance with all laws, regulations, orders, or other restrictions of the
110 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
111 * any of its subsidiaries will export/re-export any technical data, process,
112 * software, or service, directly or indirectly, to any country for which the
113 * United States government or any agency thereof requires an export license,
114 * other governmental approval, or letter of assurance, without first obtaining
115 * such license, approval or letter.
116 *
117 *****************************************************************************
118 *
119 * Alternatively, you may choose to be licensed under the terms of the
120 * following license:
121 *
122 * Redistribution and use in source and binary forms, with or without
123 * modification, are permitted provided that the following conditions
124 * are met:
125 * 1. Redistributions of source code must retain the above copyright
126 * notice, this list of conditions, and the following disclaimer,
127 * without modification.
128 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
129 * substantially similar to the "NO WARRANTY" disclaimer below
130 * ("Disclaimer") and any redistribution must be conditioned upon
131 * including a substantially similar Disclaimer requirement for further
132 * binary redistribution.
133 * 3. Neither the names of the above-listed copyright holders nor the names
134 * of any contributors may be used to endorse or promote products derived
135 * from this software without specific prior written permission.
136 *
137 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
138 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
139 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
140 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
141 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
142 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
143 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
144 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
145 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
146 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
147 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
148 *
149 * Alternatively, you may choose to be licensed under the terms of the
150 * GNU General Public License ("GPL") version 2 as published by the Free
151 * Software Foundation.
152 *
153 *****************************************************************************/
154
155 ')
156
157
158 /*******************************************************************************
159 *
160 * ASL Resource Template Terms
161 *
162 ******************************************************************************/
163
164 /*
165 * Note: Create two default nodes to allow conversion to a Buffer AML opcode
166 * Also, insert the EndTag at the end of the template.
167 */
168 ResourceTemplateTerm
169 : PARSEOP_RESOURCETEMPLATE {COMMENT_CAPTURE_OFF;}
170 OptionalParentheses
171 '{'
172 ResourceMacroList '}' {$$ = TrCreateOp (PARSEOP_RESOURCETEMPLATE,4,
173 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
174 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
175 $5,
176 TrCreateLeafOp (PARSEOP_ENDTAG));
177 COMMENT_CAPTURE_ON;}
178 ;
179
180 OptionalParentheses
181 : {$$ = NULL;}
182 | PARSEOP_OPEN_PAREN
183 PARSEOP_CLOSE_PAREN {$$ = NULL;}
184 ;
185
186 ResourceMacroList
187 : {$$ = NULL;}
188 | ResourceMacroList
189 ResourceMacroTerm {$$ = TrLinkPeerOp ($1,$2);}
190 ;
191
192 ResourceMacroTerm
193 : Csi2SerialBusTerm {}
194 | DMATerm {}
195 | DWordIOTerm {}
196 | DWordMemoryTerm {}
197 | DWordSpaceTerm {}
198 | EndDependentFnTerm {}
199 | ExtendedIOTerm {}
200 | ExtendedMemoryTerm {}
201 | ExtendedSpaceTerm {}
202 | FixedDmaTerm {}
203 | FixedIOTerm {}
204 | GpioIntTerm {}
205 | GpioIoTerm {}
206 | I2cSerialBusTerm {}
207 | I2cSerialBusTermV2 {}
208 | InterruptTerm {}
209 | IOTerm {}
210 | IRQNoFlagsTerm {}
211 | IRQTerm {}
212 | Memory24Term {}
213 | Memory32FixedTerm {}
214 | Memory32Term {}
215 | PinConfigTerm {}
216 | PinFunctionTerm {}
217 | PinGroupTerm {}
218 | PinGroupConfigTerm {}
219 | PinGroupFunctionTerm {}
220 | QWordIOTerm {}
221 | QWordMemoryTerm {}
222 | QWordSpaceTerm {}
223 | RegisterTerm {}
224 | SpiSerialBusTerm {}
225 | SpiSerialBusTermV2 {}
226 | StartDependentFnNoPriTerm {}
227 | StartDependentFnTerm {}
228 | UartSerialBusTerm {}
229 | UartSerialBusTermV2 {}
230 | VendorLongTerm {}
231 | VendorShortTerm {}
232 | WordBusNumberTerm {}
233 | WordIOTerm {}
234 | WordSpaceTerm {}
235 ;
236
237 Csi2SerialBusTerm
238 : PARSEOP_CSI2_SERIALBUS
239 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CSI2_SERIALBUS);}
240 OptionalSlaveMode_First {UtCheckIntegerRange ($4, 0x00, 0x01);} /* 04: SlaveMode */
241 ',' ByteConstExpr {UtCheckIntegerRange ($7, 0x00, 0x03);} /* 07: PhyType */
242 OptionalByteConstExpr {UtCheckIntegerRange ($9, 0x00, 0xFC);} /* 09: LocalPortInstance */
243 ',' StringData /* 12: ResourceSource */
244 ',' ByteConstExpr /* 14: ResourceSourceIndex */
245 OptionalResourceType /* 15; ResourceType (ResourceUsage) */
246 OptionalNameString /* 16: DescriptorName */
247 OptionalBuffer_Last /* 17: VendorData */
248 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
249 $4,$7,$9,$12,$14,$15,$16,$17);}
250 | PARSEOP_CSI2_SERIALBUS
251 PARSEOP_OPEN_PAREN
252 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
253
254 DMATerm
255 : PARSEOP_DMA
256 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
257 DMATypeKeyword
258 OptionalBusMasterKeyword
259 ',' XferTypeKeyword
260 OptionalNameString_Last
261 PARSEOP_CLOSE_PAREN '{'
262 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
263 | PARSEOP_DMA
264 PARSEOP_OPEN_PAREN
265 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
266 ;
267
268 DWordIOTerm
269 : PARSEOP_DWORDIO
270 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
271 OptionalResourceType_First
272 OptionalMinType
273 OptionalMaxType
274 OptionalDecodeType
275 OptionalRangeType
276 ',' DWordConstExpr
277 ',' DWordConstExpr
278 ',' DWordConstExpr
279 ',' DWordConstExpr
280 ',' DWordConstExpr
281 OptionalByteConstExpr
282 OptionalStringData
283 OptionalNameString
284 OptionalType
285 OptionalTranslationType_Last
286 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
287 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
288 | PARSEOP_DWORDIO
289 PARSEOP_OPEN_PAREN
290 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
291 ;
292
293 DWordMemoryTerm
294 : PARSEOP_DWORDMEMORY
295 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
296 OptionalResourceType_First
297 OptionalDecodeType
298 OptionalMinType
299 OptionalMaxType
300 OptionalMemType
301 ',' OptionalReadWriteKeyword
302 ',' DWordConstExpr
303 ',' DWordConstExpr
304 ',' DWordConstExpr
305 ',' DWordConstExpr
306 ',' DWordConstExpr
307 OptionalByteConstExpr
308 OptionalStringData
309 OptionalNameString
310 OptionalAddressRange
311 OptionalType_Last
312 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
313 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
314 | PARSEOP_DWORDMEMORY
315 PARSEOP_OPEN_PAREN
316 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
317 ;
318
319 DWordSpaceTerm
320 : PARSEOP_DWORDSPACE
321 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
322 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
323 OptionalResourceType
324 OptionalDecodeType
325 OptionalMinType
326 OptionalMaxType
327 ',' ByteConstExpr
328 ',' DWordConstExpr
329 ',' DWordConstExpr
330 ',' DWordConstExpr
331 ',' DWordConstExpr
332 ',' DWordConstExpr
333 OptionalByteConstExpr
334 OptionalStringData
335 OptionalNameString_Last
336 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
337 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
338 | PARSEOP_DWORDSPACE
339 PARSEOP_OPEN_PAREN
340 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
341 ;
342
343 EndDependentFnTerm
344 : PARSEOP_ENDDEPENDENTFN
345 PARSEOP_OPEN_PAREN
346 PARSEOP_CLOSE_PAREN {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
347 | PARSEOP_ENDDEPENDENTFN
348 PARSEOP_OPEN_PAREN
349 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
350 ;
351
352 ExtendedIOTerm
353 : PARSEOP_EXTENDEDIO
354 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
355 OptionalResourceType_First
356 OptionalMinType
357 OptionalMaxType
358 OptionalDecodeType
359 OptionalRangeType
360 ',' QWordConstExpr
361 ',' QWordConstExpr
362 ',' QWordConstExpr
363 ',' QWordConstExpr
364 ',' QWordConstExpr
365 OptionalQWordConstExpr
366 OptionalNameString
367 OptionalType
368 OptionalTranslationType_Last
369 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
370 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
371 | PARSEOP_EXTENDEDIO
372 PARSEOP_OPEN_PAREN
373 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
374 ;
375
376 ExtendedMemoryTerm
377 : PARSEOP_EXTENDEDMEMORY
378 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
379 OptionalResourceType_First
380 OptionalDecodeType
381 OptionalMinType
382 OptionalMaxType
383 OptionalMemType
384 ',' OptionalReadWriteKeyword
385 ',' QWordConstExpr
386 ',' QWordConstExpr
387 ',' QWordConstExpr
388 ',' QWordConstExpr
389 ',' QWordConstExpr
390 OptionalQWordConstExpr
391 OptionalNameString
392 OptionalAddressRange
393 OptionalType_Last
394 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
395 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
396 | PARSEOP_EXTENDEDMEMORY
397 PARSEOP_OPEN_PAREN
398 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
399 ;
400
401 ExtendedSpaceTerm
402 : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
403 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
404 OptionalResourceType
405 OptionalDecodeType
406 OptionalMinType
407 OptionalMaxType
408 ',' ByteConstExpr
409 ',' QWordConstExpr
410 ',' QWordConstExpr
411 ',' QWordConstExpr
412 ',' QWordConstExpr
413 ',' QWordConstExpr
414 OptionalQWordConstExpr
415 OptionalNameString_Last
416 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,13,
417 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
418 | PARSEOP_EXTENDEDSPACE
419 PARSEOP_OPEN_PAREN
420 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
421 ;
422
423 FixedDmaTerm
424 : PARSEOP_FIXEDDMA
425 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
426 WordConstExpr /* 04: DMA RequestLines */
427 ',' WordConstExpr /* 06: DMA Channels */
428 OptionalXferSize /* 07: DMA TransferSize */
429 OptionalNameString /* 08: DescriptorName */
430 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
431 | PARSEOP_FIXEDDMA
432 PARSEOP_OPEN_PAREN
433 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
434 ;
435
436 FixedIOTerm
437 : PARSEOP_FIXEDIO
438 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
439 WordConstExpr
440 ',' ByteConstExpr
441 OptionalNameString_Last
442 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
443 | PARSEOP_FIXEDIO
444 PARSEOP_OPEN_PAREN
445 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
446 ;
447
448 GpioIntTerm
449 : PARSEOP_GPIO_INT
450 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
451 InterruptTypeKeyword /* 04: InterruptType */
452 ',' InterruptLevel /* 06: InterruptLevel */
453 OptionalShareType /* 07: SharedType */
454 ',' PinConfigByte /* 09: PinConfig */
455 OptionalWordConstExpr /* 10: DebounceTimeout */
456 ',' StringData /* 12: ResourceSource */
457 OptionalByteConstExpr /* 13: ResourceSourceIndex */
458 OptionalResourceType /* 14: ResourceType */
459 OptionalNameString /* 15: DescriptorName */
460 OptionalBuffer_Last /* 16: VendorData */
461 PARSEOP_CLOSE_PAREN '{'
462 DWordConstExpr '}' {$$ = TrLinkOpChildren ($<n>3,11,
463 $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
464 | PARSEOP_GPIO_INT
465 PARSEOP_OPEN_PAREN
466 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
467 ;
468
469 GpioIoTerm
470 : PARSEOP_GPIO_IO
471 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
472 OptionalShareType_First /* 04: SharedType */
473 ',' PinConfigByte /* 06: PinConfig */
474 OptionalWordConstExpr /* 07: DebounceTimeout */
475 OptionalWordConstExpr /* 08: DriveStrength */
476 OptionalIoRestriction /* 09: IoRestriction */
477 ',' StringData /* 11: ResourceSource */
478 OptionalByteConstExpr /* 12: ResourceSourceIndex */
479 OptionalResourceType /* 13: ResourceType */
480 OptionalNameString /* 14: DescriptorName */
481 OptionalBuffer_Last /* 15: VendorData */
482 PARSEOP_CLOSE_PAREN '{'
483 DWordList '}' {$$ = TrLinkOpChildren ($<n>3,11,
484 $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
485 | PARSEOP_GPIO_IO
486 PARSEOP_OPEN_PAREN
487 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
488 ;
489
490 I2cSerialBusTerm
491 : PARSEOP_I2C_SERIALBUS
492 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
493 WordConstExpr /* 04: SlaveAddress */
494 OptionalSlaveMode /* 05: SlaveMode */
495 ',' DWordConstExpr /* 07: ConnectionSpeed */
496 OptionalAddressingMode /* 08: AddressingMode */
497 ',' StringData /* 10: ResourceSource */
498 OptionalByteConstExpr /* 11: ResourceSourceIndex */
499 OptionalResourceType /* 12: ResourceType */
500 OptionalNameString /* 13: DescriptorName */
501 OptionalBuffer_Last /* 14: VendorData */
502 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
503 $4,$5,$7,$8,$10,$11,$12,$13,
504 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
505 | PARSEOP_I2C_SERIALBUS
506 PARSEOP_OPEN_PAREN
507 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
508 ;
509
510 I2cSerialBusTermV2
511 : PARSEOP_I2C_SERIALBUS_V2
512 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
513 WordConstExpr /* 04: SlaveAddress */
514 OptionalSlaveMode /* 05: SlaveMode */
515 ',' DWordConstExpr /* 07: ConnectionSpeed */
516 OptionalAddressingMode /* 08: AddressingMode */
517 ',' StringData /* 10: ResourceSource */
518 OptionalByteConstExpr /* 11: ResourceSourceIndex */
519 OptionalResourceType /* 12: ResourceType */
520 OptionalNameString /* 13: DescriptorName */
521 OptionalShareType /* 14: Share */
522 OptionalBuffer_Last /* 15: VendorData */
523 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
524 $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
525 | PARSEOP_I2C_SERIALBUS_V2
526 PARSEOP_OPEN_PAREN
527 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
528 ;
529
530 InterruptTerm
531 : PARSEOP_INTERRUPT
532 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
533 OptionalResourceType_First
534 ',' InterruptTypeKeyword
535 ',' InterruptLevel
536 OptionalShareType
537 OptionalByteConstExpr
538 OptionalStringData
539 OptionalNameString_Last
540 PARSEOP_CLOSE_PAREN '{'
541 DWordList '}' {$$ = TrLinkOpChildren ($<n>3,8,
542 $4,$6,$8,$9,$10,$11,$12,$15);}
543 | PARSEOP_INTERRUPT
544 PARSEOP_OPEN_PAREN
545 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
546 ;
547
548 IOTerm
549 : PARSEOP_IO
550 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
551 IODecodeKeyword
552 ',' WordConstExpr
553 ',' WordConstExpr
554 ',' ByteConstExpr
555 ',' ByteConstExpr
556 OptionalNameString_Last
557 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
558 | PARSEOP_IO
559 PARSEOP_OPEN_PAREN
560 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
561 ;
562
563 IRQNoFlagsTerm
564 : PARSEOP_IRQNOFLAGS
565 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
566 OptionalNameString_First
567 PARSEOP_CLOSE_PAREN '{'
568 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
569 | PARSEOP_IRQNOFLAGS
570 PARSEOP_OPEN_PAREN
571 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
572 ;
573
574 IRQTerm
575 : PARSEOP_IRQ
576 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
577 InterruptTypeKeyword
578 ',' InterruptLevel
579 OptionalShareType
580 OptionalNameString_Last
581 PARSEOP_CLOSE_PAREN '{'
582 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
583 | PARSEOP_IRQ
584 PARSEOP_OPEN_PAREN
585 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
586 ;
587
588 Memory24Term
589 : PARSEOP_MEMORY24
590 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
591 OptionalReadWriteKeyword
592 ',' WordConstExpr
593 ',' WordConstExpr
594 ',' WordConstExpr
595 ',' WordConstExpr
596 OptionalNameString_Last
597 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
598 | PARSEOP_MEMORY24
599 PARSEOP_OPEN_PAREN
600 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
601 ;
602
603 Memory32FixedTerm
604 : PARSEOP_MEMORY32FIXED
605 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
606 OptionalReadWriteKeyword
607 ',' DWordConstExpr
608 ',' DWordConstExpr
609 OptionalNameString_Last
610 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
611 | PARSEOP_MEMORY32FIXED
612 PARSEOP_OPEN_PAREN
613 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
614 ;
615
616 Memory32Term
617 : PARSEOP_MEMORY32
618 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
619 OptionalReadWriteKeyword
620 ',' DWordConstExpr
621 ',' DWordConstExpr
622 ',' DWordConstExpr
623 ',' DWordConstExpr
624 OptionalNameString_Last
625 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
626 | PARSEOP_MEMORY32
627 PARSEOP_OPEN_PAREN
628 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
629 ;
630
631 PinConfigTerm
632 : PARSEOP_PINCONFIG
633 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
634 OptionalShareType_First /* 04: SharedType */
635 ',' ByteConstExpr /* 06: PinConfigType */
636 ',' DWordConstExpr /* 08: PinConfigValue */
637 ',' StringData /* 10: ResourceSource */
638 OptionalByteConstExpr /* 11: ResourceSourceIndex */
639 OptionalResourceType /* 12: ResourceType */
640 OptionalNameString /* 13: DescriptorName */
641 OptionalBuffer_Last /* 14: VendorData */
642 PARSEOP_CLOSE_PAREN '{'
643 DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
644 $4,$6,$8,$10,$11,$12,$13,$14,$17);}
645 | PARSEOP_PINCONFIG
646 PARSEOP_OPEN_PAREN
647 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
648 ;
649
650 PinFunctionTerm
651 : PARSEOP_PINFUNCTION
652 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
653 OptionalShareType_First /* 04: SharedType */
654 ',' PinConfigByte /* 06: PinConfig */
655 ',' WordConstExpr /* 08: FunctionNumber */
656 ',' StringData /* 10: ResourceSource */
657 OptionalByteConstExpr /* 11: ResourceSourceIndex */
658 OptionalResourceType /* 12: ResourceType */
659 OptionalNameString /* 13: DescriptorName */
660 OptionalBuffer_Last /* 14: VendorData */
661 PARSEOP_CLOSE_PAREN '{'
662 DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
663 $4,$6,$8,$10,$11,$12,$13,$14,$17);}
664 | PARSEOP_PINFUNCTION
665 PARSEOP_OPEN_PAREN
666 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
667 ;
668
669 PinGroupTerm
670 : PARSEOP_PINGROUP
671 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
672 StringData /* 04: ResourceLabel */
673 OptionalProducerResourceType /* 05: ResourceType */
674 OptionalNameString /* 06: DescriptorName */
675 OptionalBuffer_Last /* 07: VendorData */
676 PARSEOP_CLOSE_PAREN '{'
677 DWordList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
678 | PARSEOP_PINGROUP
679 PARSEOP_OPEN_PAREN
680 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
681 ;
682
683 PinGroupConfigTerm
684 : PARSEOP_PINGROUPCONFIG
685 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
686 OptionalShareType_First /* 04: SharedType */
687 ',' ByteConstExpr /* 06: PinConfigType */
688 ',' DWordConstExpr /* 08: PinConfigValue */
689 ',' StringData /* 10: ResourceSource */
690 OptionalByteConstExpr /* 11: ResourceSourceIndex */
691 ',' StringData /* 13: ResourceSourceLabel */
692 OptionalResourceType /* 14: ResourceType */
693 OptionalNameString /* 15: DescriptorName */
694 OptionalBuffer_Last /* 16: VendorData */
695 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,9,
696 $4,$6,$8,$10,$11,$13,$14,$15,$16);}
697 | PARSEOP_PINGROUPCONFIG
698 PARSEOP_OPEN_PAREN
699 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
700 ;
701
702 PinGroupFunctionTerm
703 : PARSEOP_PINGROUPFUNCTION
704 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
705 OptionalShareType_First /* 04: SharedType */
706 ',' WordConstExpr /* 06: FunctionNumber */
707 ',' StringData /* 08: ResourceSource */
708 OptionalByteConstExpr /* 09: ResourceSourceIndex */
709 ',' StringData /* 11: ResourceSourceLabel */
710 OptionalResourceType /* 12: ResourceType */
711 OptionalNameString /* 13: DescriptorName */
712 OptionalBuffer_Last /* 14: VendorData */
713 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
714 $4,$6,$8,$9,$11,$12,$13,$14);}
715 | PARSEOP_PINGROUPFUNCTION
716 PARSEOP_OPEN_PAREN
717 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
718 ;
719
720 QWordIOTerm
721 : PARSEOP_QWORDIO
722 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
723 OptionalResourceType_First
724 OptionalMinType
725 OptionalMaxType
726 OptionalDecodeType
727 OptionalRangeType
728 ',' QWordConstExpr
729 ',' QWordConstExpr
730 ',' QWordConstExpr
731 ',' QWordConstExpr
732 ',' QWordConstExpr
733 OptionalByteConstExpr
734 OptionalStringData
735 OptionalNameString
736 OptionalType
737 OptionalTranslationType_Last
738 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
739 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
740 | PARSEOP_QWORDIO
741 PARSEOP_OPEN_PAREN
742 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
743 ;
744
745 QWordMemoryTerm
746 : PARSEOP_QWORDMEMORY
747 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
748 OptionalResourceType_First
749 OptionalDecodeType
750 OptionalMinType
751 OptionalMaxType
752 OptionalMemType
753 ',' OptionalReadWriteKeyword
754 ',' QWordConstExpr
755 ',' QWordConstExpr
756 ',' QWordConstExpr
757 ',' QWordConstExpr
758 ',' QWordConstExpr
759 OptionalByteConstExpr
760 OptionalStringData
761 OptionalNameString
762 OptionalAddressRange
763 OptionalType_Last
764 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
765 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
766 | PARSEOP_QWORDMEMORY
767 PARSEOP_OPEN_PAREN
768 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
769 ;
770
771 QWordSpaceTerm
772 : PARSEOP_QWORDSPACE
773 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
774 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
775 OptionalResourceType
776 OptionalDecodeType
777 OptionalMinType
778 OptionalMaxType
779 ',' ByteConstExpr
780 ',' QWordConstExpr
781 ',' QWordConstExpr
782 ',' QWordConstExpr
783 ',' QWordConstExpr
784 ',' QWordConstExpr
785 OptionalByteConstExpr
786 OptionalStringData
787 OptionalNameString_Last
788 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
789 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
790 | PARSEOP_QWORDSPACE
791 PARSEOP_OPEN_PAREN
792 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
793 ;
794
795 RegisterTerm
796 : PARSEOP_REGISTER
797 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
798 AddressSpaceKeyword
799 ',' ByteConstExpr
800 ',' ByteConstExpr
801 ',' QWordConstExpr
802 OptionalAccessSize
803 OptionalNameString_Last
804 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
805 | PARSEOP_REGISTER
806 PARSEOP_OPEN_PAREN
807 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
808 ;
809
810 SpiSerialBusTerm
811 : PARSEOP_SPI_SERIALBUS
812 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
813 WordConstExpr /* 04: DeviceSelection */
814 OptionalDevicePolarity /* 05: DevicePolarity */
815 OptionalWireMode /* 06: WireMode */
816 ',' ByteConstExpr /* 08: DataBitLength */
817 OptionalSlaveMode /* 09: SlaveMode */
818 ',' DWordConstExpr /* 11: ConnectionSpeed */
819 ',' ClockPolarityKeyword /* 13: ClockPolarity */
820 ',' ClockPhaseKeyword /* 15: ClockPhase */
821 ',' StringData /* 17: ResourceSource */
822 OptionalByteConstExpr /* 18: ResourceSourceIndex */
823 OptionalResourceType /* 19: ResourceType */
824 OptionalNameString /* 20: DescriptorName */
825 OptionalBuffer_Last /* 21: VendorData */
826 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
827 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
828 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
829 | PARSEOP_SPI_SERIALBUS
830 PARSEOP_OPEN_PAREN
831 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
832 ;
833
834 SpiSerialBusTermV2
835 : PARSEOP_SPI_SERIALBUS_V2
836 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
837 WordConstExpr /* 04: DeviceSelection */
838 OptionalDevicePolarity /* 05: DevicePolarity */
839 OptionalWireMode /* 06: WireMode */
840 ',' ByteConstExpr /* 08: DataBitLength */
841 OptionalSlaveMode /* 09: SlaveMode */
842 ',' DWordConstExpr /* 11: ConnectionSpeed */
843 ',' ClockPolarityKeyword /* 13: ClockPolarity */
844 ',' ClockPhaseKeyword /* 15: ClockPhase */
845 ',' StringData /* 17: ResourceSource */
846 OptionalByteConstExpr /* 18: ResourceSourceIndex */
847 OptionalResourceType /* 19: ResourceType */
848 OptionalNameString /* 20: DescriptorName */
849 OptionalShareType /* 21: Share */
850 OptionalBuffer_Last /* 22: VendorData */
851 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
852 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
853 | PARSEOP_SPI_SERIALBUS_V2
854 PARSEOP_OPEN_PAREN
855 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
856 ;
857
858 StartDependentFnNoPriTerm
859 : PARSEOP_STARTDEPENDENTFN_NOPRI
860 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
861 PARSEOP_CLOSE_PAREN '{'
862 ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,1,$6);}
863 | PARSEOP_STARTDEPENDENTFN_NOPRI
864 PARSEOP_OPEN_PAREN
865 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
866 ;
867
868 StartDependentFnTerm
869 : PARSEOP_STARTDEPENDENTFN
870 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
871 ByteConstExpr
872 ',' ByteConstExpr
873 PARSEOP_CLOSE_PAREN '{'
874 ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
875 | PARSEOP_STARTDEPENDENTFN
876 PARSEOP_OPEN_PAREN
877 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
878 ;
879
880 UartSerialBusTerm
881 : PARSEOP_UART_SERIALBUS
882 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
883 DWordConstExpr /* 04: ConnectionSpeed */
884 OptionalBitsPerByte /* 05: BitsPerByte */
885 OptionalStopBits /* 06: StopBits */
886 ',' ByteConstExpr /* 08: LinesInUse */
887 OptionalEndian /* 09: Endianness */
888 OptionalParityType /* 10: Parity */
889 OptionalFlowControl /* 11: FlowControl */
890 ',' WordConstExpr /* 13: Rx BufferSize */
891 ',' WordConstExpr /* 15: Tx BufferSize */
892 ',' StringData /* 17: ResourceSource */
893 OptionalByteConstExpr /* 18: ResourceSourceIndex */
894 OptionalResourceType /* 19: ResourceType */
895 OptionalNameString /* 20: DescriptorName */
896 OptionalBuffer_Last /* 21: VendorData */
897 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
898 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
899 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
900 | PARSEOP_UART_SERIALBUS
901 PARSEOP_OPEN_PAREN
902 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
903 ;
904
905 UartSerialBusTermV2
906 : PARSEOP_UART_SERIALBUS_V2
907 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
908 DWordConstExpr /* 04: ConnectionSpeed */
909 OptionalBitsPerByte /* 05: BitsPerByte */
910 OptionalStopBits /* 06: StopBits */
911 ',' ByteConstExpr /* 08: LinesInUse */
912 OptionalEndian /* 09: Endianness */
913 OptionalParityType /* 10: Parity */
914 OptionalFlowControl /* 11: FlowControl */
915 ',' WordConstExpr /* 13: Rx BufferSize */
916 ',' WordConstExpr /* 15: Tx BufferSize */
917 ',' StringData /* 17: ResourceSource */
918 OptionalByteConstExpr /* 18: ResourceSourceIndex */
919 OptionalResourceType /* 19: ResourceType */
920 OptionalNameString /* 20: DescriptorName */
921 OptionalShareType /* 21: Share */
922 OptionalBuffer_Last /* 22: VendorData */
923 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
924 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
925 | PARSEOP_UART_SERIALBUS_V2
926 PARSEOP_OPEN_PAREN
927 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
928 ;
929
930 VendorLongTerm
931 : PARSEOP_VENDORLONG
932 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
933 OptionalNameString_First
934 PARSEOP_CLOSE_PAREN '{'
935 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
936 | PARSEOP_VENDORLONG
937 PARSEOP_OPEN_PAREN
938 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
939 ;
940
941 VendorShortTerm
942 : PARSEOP_VENDORSHORT
943 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
944 OptionalNameString_First
945 PARSEOP_CLOSE_PAREN '{'
946 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
947 | PARSEOP_VENDORSHORT
948 PARSEOP_OPEN_PAREN
949 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
950 ;
951
952 WordBusNumberTerm
953 : PARSEOP_WORDBUSNUMBER
954 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
955 OptionalResourceType_First
956 OptionalMinType
957 OptionalMaxType
958 OptionalDecodeType
959 ',' WordConstExpr
960 ',' WordConstExpr
961 ',' WordConstExpr
962 ',' WordConstExpr
963 ',' WordConstExpr
964 OptionalByteConstExpr
965 OptionalStringData
966 OptionalNameString_Last
967 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,12,
968 $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
969 | PARSEOP_WORDBUSNUMBER
970 PARSEOP_OPEN_PAREN
971 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
972 ;
973
974 WordIOTerm
975 : PARSEOP_WORDIO
976 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
977 OptionalResourceType_First
978 OptionalMinType
979 OptionalMaxType
980 OptionalDecodeType
981 OptionalRangeType
982 ',' WordConstExpr
983 ',' WordConstExpr
984 ',' WordConstExpr
985 ',' WordConstExpr
986 ',' WordConstExpr
987 OptionalByteConstExpr
988 OptionalStringData
989 OptionalNameString
990 OptionalType
991 OptionalTranslationType_Last
992 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
993 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
994 | PARSEOP_WORDIO
995 PARSEOP_OPEN_PAREN
996 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
997 ;
998
999 WordSpaceTerm
1000 : PARSEOP_WORDSPACE
1001 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
1002 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
1003 OptionalResourceType
1004 OptionalDecodeType
1005 OptionalMinType
1006 OptionalMaxType
1007 ',' ByteConstExpr
1008 ',' WordConstExpr
1009 ',' WordConstExpr
1010 ',' WordConstExpr
1011 ',' WordConstExpr
1012 ',' WordConstExpr
1013 OptionalByteConstExpr
1014 OptionalStringData
1015 OptionalNameString_Last
1016 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
1017 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
1018 | PARSEOP_WORDSPACE
1019 PARSEOP_OPEN_PAREN
1020 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1021 ;
Cache object: 68b70db710f55d7cdc38ad1114837d7c
|