1493deb39SJung-uk Kim NoEcho(' 2493deb39SJung-uk Kim /****************************************************************************** 3493deb39SJung-uk Kim * 4493deb39SJung-uk Kim * Module Name: aslhelpers.y - helper and option terms 5493deb39SJung-uk Kim * 6493deb39SJung-uk Kim *****************************************************************************/ 7493deb39SJung-uk Kim 80d84335fSJung-uk Kim /****************************************************************************** 90d84335fSJung-uk Kim * 100d84335fSJung-uk Kim * 1. Copyright Notice 110d84335fSJung-uk Kim * 12*58308fadSJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp. 13493deb39SJung-uk Kim * All rights reserved. 14493deb39SJung-uk Kim * 150d84335fSJung-uk Kim * 2. License 160d84335fSJung-uk Kim * 170d84335fSJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 180d84335fSJung-uk Kim * rights. You may have additional license terms from the party that provided 190d84335fSJung-uk Kim * you this software, covering your right to use that party's intellectual 200d84335fSJung-uk Kim * property rights. 210d84335fSJung-uk Kim * 220d84335fSJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 230d84335fSJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 240d84335fSJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 250d84335fSJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 260d84335fSJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 270d84335fSJung-uk Kim * Code in any form, with the right to sublicense such rights; and 280d84335fSJung-uk Kim * 290d84335fSJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 300d84335fSJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 310d84335fSJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 320d84335fSJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 330d84335fSJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 340d84335fSJung-uk Kim * license, and in no event shall the patent license extend to any additions 350d84335fSJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 360d84335fSJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 370d84335fSJung-uk Kim * 380d84335fSJung-uk Kim * The above copyright and patent license is granted only if the following 390d84335fSJung-uk Kim * conditions are met: 400d84335fSJung-uk Kim * 410d84335fSJung-uk Kim * 3. Conditions 420d84335fSJung-uk Kim * 430d84335fSJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 440d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 450d84335fSJung-uk Kim * Code or modification with rights to further distribute source must include 460d84335fSJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 470d84335fSJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 480d84335fSJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 490d84335fSJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 500d84335fSJung-uk Kim * Code and the date of any change. Licensee must include in that file the 510d84335fSJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 520d84335fSJung-uk Kim * must include a prominent statement that the modification is derived, 530d84335fSJung-uk Kim * directly or indirectly, from Original Intel Code. 540d84335fSJung-uk Kim * 550d84335fSJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 560d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 570d84335fSJung-uk Kim * Code or modification without rights to further distribute source must 580d84335fSJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 590d84335fSJung-uk Kim * documentation and/or other materials provided with distribution. In 600d84335fSJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 610d84335fSJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 620d84335fSJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 630d84335fSJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 640d84335fSJung-uk Kim * not to intellectual property embodied in modifications its licensee may 650d84335fSJung-uk Kim * make. 660d84335fSJung-uk Kim * 670d84335fSJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 680d84335fSJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 690d84335fSJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 700d84335fSJung-uk Kim * provision in the documentation and/or other materials provided with the 710d84335fSJung-uk Kim * distribution. 720d84335fSJung-uk Kim * 730d84335fSJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 740d84335fSJung-uk Kim * Intel Code. 750d84335fSJung-uk Kim * 760d84335fSJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 770d84335fSJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 780d84335fSJung-uk Kim * other dealings in products derived from or relating to the Covered Code 790d84335fSJung-uk Kim * without prior written authorization from Intel. 800d84335fSJung-uk Kim * 810d84335fSJung-uk Kim * 4. Disclaimer and Export Compliance 820d84335fSJung-uk Kim * 830d84335fSJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 840d84335fSJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 850d84335fSJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 860d84335fSJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 870d84335fSJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 880d84335fSJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 890d84335fSJung-uk Kim * PARTICULAR PURPOSE. 900d84335fSJung-uk Kim * 910d84335fSJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 920d84335fSJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 930d84335fSJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 940d84335fSJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 950d84335fSJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 960d84335fSJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 970d84335fSJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 980d84335fSJung-uk Kim * LIMITED REMEDY. 990d84335fSJung-uk Kim * 1000d84335fSJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 1010d84335fSJung-uk Kim * software or system incorporating such software without first obtaining any 1020d84335fSJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 1030d84335fSJung-uk Kim * any other agency or department of the United States Government. In the 1040d84335fSJung-uk Kim * event Licensee exports any such software from the United States or 1050d84335fSJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 1060d84335fSJung-uk Kim * ensure that the distribution and export/re-export of the software is in 1070d84335fSJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 1080d84335fSJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1090d84335fSJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 1100d84335fSJung-uk Kim * software, or service, directly or indirectly, to any country for which the 1110d84335fSJung-uk Kim * United States government or any agency thereof requires an export license, 1120d84335fSJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 1130d84335fSJung-uk Kim * such license, approval or letter. 1140d84335fSJung-uk Kim * 1150d84335fSJung-uk Kim ***************************************************************************** 1160d84335fSJung-uk Kim * 1170d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 1180d84335fSJung-uk Kim * following license: 1190d84335fSJung-uk Kim * 120493deb39SJung-uk Kim * Redistribution and use in source and binary forms, with or without 121493deb39SJung-uk Kim * modification, are permitted provided that the following conditions 122493deb39SJung-uk Kim * are met: 123493deb39SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 124493deb39SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 125493deb39SJung-uk Kim * without modification. 126493deb39SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 127493deb39SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 128493deb39SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 129493deb39SJung-uk Kim * including a substantially similar Disclaimer requirement for further 130493deb39SJung-uk Kim * binary redistribution. 131493deb39SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 132493deb39SJung-uk Kim * of any contributors may be used to endorse or promote products derived 133493deb39SJung-uk Kim * from this software without specific prior written permission. 134493deb39SJung-uk Kim * 1350d84335fSJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1360d84335fSJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1370d84335fSJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1380d84335fSJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1390d84335fSJung-uk Kim * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1400d84335fSJung-uk Kim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1410d84335fSJung-uk Kim * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1420d84335fSJung-uk Kim * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1430d84335fSJung-uk Kim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1440d84335fSJung-uk Kim * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1450d84335fSJung-uk Kim * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1460d84335fSJung-uk Kim * 1470d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 148493deb39SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 149493deb39SJung-uk Kim * Software Foundation. 150493deb39SJung-uk Kim * 1510d84335fSJung-uk Kim *****************************************************************************/ 152493deb39SJung-uk Kim 153493deb39SJung-uk Kim ') 154493deb39SJung-uk Kim 155493deb39SJung-uk Kim 156493deb39SJung-uk Kim /******************************************************************************* 157493deb39SJung-uk Kim * 158493deb39SJung-uk Kim * ASL Helper Terms 159493deb39SJung-uk Kim * 160493deb39SJung-uk Kim ******************************************************************************/ 161493deb39SJung-uk Kim 162493deb39SJung-uk Kim OptionalBusMasterKeyword 1635f9b24faSJung-uk Kim : ',' {$$ = TrCreateLeafOp ( 164493deb39SJung-uk Kim PARSEOP_BUSMASTERTYPE_MASTER);} 1655f9b24faSJung-uk Kim | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafOp ( 166493deb39SJung-uk Kim PARSEOP_BUSMASTERTYPE_MASTER);} 1675f9b24faSJung-uk Kim | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafOp ( 168493deb39SJung-uk Kim PARSEOP_BUSMASTERTYPE_NOTMASTER);} 169493deb39SJung-uk Kim ; 170493deb39SJung-uk Kim 171493deb39SJung-uk Kim OptionalAccessAttribTerm 172493deb39SJung-uk Kim : {$$ = NULL;} 173493deb39SJung-uk Kim | ',' {$$ = NULL;} 174493deb39SJung-uk Kim | ',' ByteConstExpr {$$ = $2;} 175493deb39SJung-uk Kim | ',' AccessAttribKeyword {$$ = $2;} 176493deb39SJung-uk Kim ; 177493deb39SJung-uk Kim 178493deb39SJung-uk Kim OptionalAccessSize 1795f9b24faSJung-uk Kim : {$$ = TrCreateValuedLeafOp ( 180493deb39SJung-uk Kim PARSEOP_BYTECONST, 0);} 1815f9b24faSJung-uk Kim | ',' {$$ = TrCreateValuedLeafOp ( 182493deb39SJung-uk Kim PARSEOP_BYTECONST, 0);} 183493deb39SJung-uk Kim | ',' ByteConstExpr {$$ = $2;} 184493deb39SJung-uk Kim ; 185493deb39SJung-uk Kim 186da9b0901SJung-uk Kim OptionalAccessTypeKeyword /* Default: AnyAcc */ 187da9b0901SJung-uk Kim : {$$ = TrCreateLeafOp ( 188da9b0901SJung-uk Kim PARSEOP_ACCESSTYPE_ANY);} 189da9b0901SJung-uk Kim | ',' {$$ = TrCreateLeafOp ( 190da9b0901SJung-uk Kim PARSEOP_ACCESSTYPE_ANY);} 191da9b0901SJung-uk Kim | ',' AccessTypeKeyword {$$ = $2;} 192da9b0901SJung-uk Kim ; 193da9b0901SJung-uk Kim 194493deb39SJung-uk Kim OptionalAddressingMode 195493deb39SJung-uk Kim : ',' {$$ = NULL;} 196493deb39SJung-uk Kim | ',' AddressingModeKeyword {$$ = $2;} 197493deb39SJung-uk Kim ; 198493deb39SJung-uk Kim 199493deb39SJung-uk Kim OptionalAddressRange 200493deb39SJung-uk Kim : {$$ = NULL;} 201493deb39SJung-uk Kim | ',' {$$ = NULL;} 202493deb39SJung-uk Kim | ',' AddressKeyword {$$ = $2;} 203493deb39SJung-uk Kim ; 204493deb39SJung-uk Kim 205493deb39SJung-uk Kim OptionalBitsPerByte 206493deb39SJung-uk Kim : ',' {$$ = NULL;} 207493deb39SJung-uk Kim | ',' BitsPerByteKeyword {$$ = $2;} 208493deb39SJung-uk Kim ; 209493deb39SJung-uk Kim 210493deb39SJung-uk Kim OptionalBuffer_Last 211493deb39SJung-uk Kim : {$$ = NULL;} 212493deb39SJung-uk Kim | ',' {$$ = NULL;} 213493deb39SJung-uk Kim | ',' RawDataBufferTerm {$$ = $2;} 214493deb39SJung-uk Kim ; 215493deb39SJung-uk Kim 216493deb39SJung-uk Kim OptionalByteConstExpr 217493deb39SJung-uk Kim : {$$ = NULL;} 218493deb39SJung-uk Kim | ',' {$$ = NULL;} 219493deb39SJung-uk Kim | ',' ByteConstExpr {$$ = $2;} 220493deb39SJung-uk Kim ; 221493deb39SJung-uk Kim 222493deb39SJung-uk Kim OptionalDecodeType 223493deb39SJung-uk Kim : ',' {$$ = NULL;} 224493deb39SJung-uk Kim | ',' DecodeKeyword {$$ = $2;} 225493deb39SJung-uk Kim ; 226493deb39SJung-uk Kim 227493deb39SJung-uk Kim OptionalDevicePolarity 228493deb39SJung-uk Kim : ',' {$$ = NULL;} 229493deb39SJung-uk Kim | ',' DevicePolarityKeyword {$$ = $2;} 230493deb39SJung-uk Kim ; 231493deb39SJung-uk Kim 232493deb39SJung-uk Kim OptionalDWordConstExpr 233493deb39SJung-uk Kim : {$$ = NULL;} 234493deb39SJung-uk Kim | ',' {$$ = NULL;} 235493deb39SJung-uk Kim | ',' DWordConstExpr {$$ = $2;} 236493deb39SJung-uk Kim ; 237493deb39SJung-uk Kim 238493deb39SJung-uk Kim OptionalEndian 239493deb39SJung-uk Kim : ',' {$$ = NULL;} 240493deb39SJung-uk Kim | ',' EndianKeyword {$$ = $2;} 241493deb39SJung-uk Kim ; 242493deb39SJung-uk Kim 243493deb39SJung-uk Kim OptionalFlowControl 244493deb39SJung-uk Kim : ',' {$$ = NULL;} 245493deb39SJung-uk Kim | ',' FlowControlKeyword {$$ = $2;} 246493deb39SJung-uk Kim ; 247493deb39SJung-uk Kim 248493deb39SJung-uk Kim OptionalIoRestriction 249493deb39SJung-uk Kim : ',' {$$ = NULL;} 250493deb39SJung-uk Kim | ',' IoRestrictionKeyword {$$ = $2;} 251493deb39SJung-uk Kim ; 252493deb39SJung-uk Kim 253493deb39SJung-uk Kim OptionalListString 2545f9b24faSJung-uk Kim : {$$ = TrCreateValuedLeafOp ( 255493deb39SJung-uk Kim PARSEOP_STRING_LITERAL, 256493deb39SJung-uk Kim ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ 2575f9b24faSJung-uk Kim | ',' {$$ = TrCreateValuedLeafOp ( 258493deb39SJung-uk Kim PARSEOP_STRING_LITERAL, 259493deb39SJung-uk Kim ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ 260493deb39SJung-uk Kim | ',' TermArg {$$ = $2;} 261493deb39SJung-uk Kim ; 262493deb39SJung-uk Kim 263da9b0901SJung-uk Kim OptionalLockRuleKeyword /* Default: NoLock */ 264da9b0901SJung-uk Kim : {$$ = TrCreateLeafOp ( 265da9b0901SJung-uk Kim PARSEOP_LOCKRULE_NOLOCK);} 266da9b0901SJung-uk Kim | ',' {$$ = TrCreateLeafOp ( 267da9b0901SJung-uk Kim PARSEOP_LOCKRULE_NOLOCK);} 268da9b0901SJung-uk Kim | ',' LockRuleKeyword {$$ = $2;} 269da9b0901SJung-uk Kim ; 270da9b0901SJung-uk Kim 271493deb39SJung-uk Kim OptionalMaxType 272493deb39SJung-uk Kim : ',' {$$ = NULL;} 273493deb39SJung-uk Kim | ',' MaxKeyword {$$ = $2;} 274493deb39SJung-uk Kim ; 275493deb39SJung-uk Kim 276493deb39SJung-uk Kim OptionalMemType 277493deb39SJung-uk Kim : ',' {$$ = NULL;} 278493deb39SJung-uk Kim | ',' MemTypeKeyword {$$ = $2;} 279493deb39SJung-uk Kim ; 280493deb39SJung-uk Kim 281493deb39SJung-uk Kim OptionalMinType 282493deb39SJung-uk Kim : ',' {$$ = NULL;} 283493deb39SJung-uk Kim | ',' MinKeyword {$$ = $2;} 284493deb39SJung-uk Kim ; 285493deb39SJung-uk Kim 286493deb39SJung-uk Kim OptionalNameString 287493deb39SJung-uk Kim : {$$ = NULL;} 288493deb39SJung-uk Kim | ',' {$$ = NULL;} 289493deb39SJung-uk Kim | ',' NameString {$$ = $2;} 290493deb39SJung-uk Kim ; 291493deb39SJung-uk Kim 292493deb39SJung-uk Kim OptionalNameString_Last 293493deb39SJung-uk Kim : {$$ = NULL;} 294493deb39SJung-uk Kim | ',' {$$ = NULL;} 295493deb39SJung-uk Kim | ',' NameString {$$ = $2;} 296493deb39SJung-uk Kim ; 297493deb39SJung-uk Kim 298493deb39SJung-uk Kim OptionalNameString_First 2995f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 300493deb39SJung-uk Kim PARSEOP_ZERO);} 301493deb39SJung-uk Kim | NameString {$$ = $1;} 302493deb39SJung-uk Kim ; 303493deb39SJung-uk Kim 304493deb39SJung-uk Kim OptionalObjectTypeKeyword 3055f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 306493deb39SJung-uk Kim PARSEOP_OBJECTTYPE_UNK);} 307493deb39SJung-uk Kim | ',' ObjectTypeKeyword {$$ = $2;} 308493deb39SJung-uk Kim ; 309493deb39SJung-uk Kim 310493deb39SJung-uk Kim OptionalParityType 311493deb39SJung-uk Kim : ',' {$$ = NULL;} 312493deb39SJung-uk Kim | ',' ParityTypeKeyword {$$ = $2;} 313493deb39SJung-uk Kim ; 314493deb39SJung-uk Kim 315493deb39SJung-uk Kim OptionalQWordConstExpr 316493deb39SJung-uk Kim : {$$ = NULL;} 317493deb39SJung-uk Kim | ',' {$$ = NULL;} 318493deb39SJung-uk Kim | ',' QWordConstExpr {$$ = $2;} 319493deb39SJung-uk Kim ; 320493deb39SJung-uk Kim 321493deb39SJung-uk Kim OptionalRangeType 322493deb39SJung-uk Kim : ',' {$$ = NULL;} 323493deb39SJung-uk Kim | ',' RangeTypeKeyword {$$ = $2;} 324493deb39SJung-uk Kim ; 325493deb39SJung-uk Kim 326493deb39SJung-uk Kim OptionalReadWriteKeyword 3275f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 328493deb39SJung-uk Kim PARSEOP_READWRITETYPE_BOTH);} 3295f9b24faSJung-uk Kim | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafOp ( 330493deb39SJung-uk Kim PARSEOP_READWRITETYPE_BOTH);} 3315f9b24faSJung-uk Kim | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafOp ( 332493deb39SJung-uk Kim PARSEOP_READWRITETYPE_READONLY);} 333493deb39SJung-uk Kim ; 334493deb39SJung-uk Kim 335493deb39SJung-uk Kim OptionalResourceType_First 3365f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 337493deb39SJung-uk Kim PARSEOP_RESOURCETYPE_CONSUMER);} 338493deb39SJung-uk Kim | ResourceTypeKeyword {$$ = $1;} 339493deb39SJung-uk Kim ; 340493deb39SJung-uk Kim 341493deb39SJung-uk Kim OptionalResourceType 3425f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 343493deb39SJung-uk Kim PARSEOP_RESOURCETYPE_CONSUMER);} 3445f9b24faSJung-uk Kim | ',' {$$ = TrCreateLeafOp ( 345493deb39SJung-uk Kim PARSEOP_RESOURCETYPE_CONSUMER);} 346493deb39SJung-uk Kim | ',' ResourceTypeKeyword {$$ = $2;} 347493deb39SJung-uk Kim ; 348493deb39SJung-uk Kim 349af051161SJung-uk Kim /* Same as above except default is producer */ 350af051161SJung-uk Kim OptionalProducerResourceType 3515f9b24faSJung-uk Kim : {$$ = TrCreateLeafOp ( 352af051161SJung-uk Kim PARSEOP_RESOURCETYPE_PRODUCER);} 3535f9b24faSJung-uk Kim | ',' {$$ = TrCreateLeafOp ( 354af051161SJung-uk Kim PARSEOP_RESOURCETYPE_PRODUCER);} 355af051161SJung-uk Kim | ',' ResourceTypeKeyword {$$ = $2;} 356af051161SJung-uk Kim ; 357af051161SJung-uk Kim 358493deb39SJung-uk Kim OptionalSlaveMode 359493deb39SJung-uk Kim : ',' {$$ = NULL;} 360493deb39SJung-uk Kim | ',' SlaveModeKeyword {$$ = $2;} 361493deb39SJung-uk Kim ; 362493deb39SJung-uk Kim 363cfd1ed46SJung-uk Kim OptionalSlaveMode_First 364cfd1ed46SJung-uk Kim : {$$ = NULL;} 365cfd1ed46SJung-uk Kim | SlaveModeKeyword {$$ = $1;} 366cfd1ed46SJung-uk Kim ; 367cfd1ed46SJung-uk Kim 368493deb39SJung-uk Kim OptionalShareType 369493deb39SJung-uk Kim : {$$ = NULL;} 370493deb39SJung-uk Kim | ',' {$$ = NULL;} 371493deb39SJung-uk Kim | ',' ShareTypeKeyword {$$ = $2;} 372493deb39SJung-uk Kim ; 373493deb39SJung-uk Kim 374493deb39SJung-uk Kim OptionalShareType_First 375493deb39SJung-uk Kim : {$$ = NULL;} 376493deb39SJung-uk Kim | ShareTypeKeyword {$$ = $1;} 377493deb39SJung-uk Kim ; 378493deb39SJung-uk Kim 379493deb39SJung-uk Kim OptionalStopBits 380493deb39SJung-uk Kim : ',' {$$ = NULL;} 381493deb39SJung-uk Kim | ',' StopBitsKeyword {$$ = $2;} 382493deb39SJung-uk Kim ; 383493deb39SJung-uk Kim 384493deb39SJung-uk Kim OptionalStringData 385493deb39SJung-uk Kim : {$$ = NULL;} 386493deb39SJung-uk Kim | ',' {$$ = NULL;} 387493deb39SJung-uk Kim | ',' StringData {$$ = $2;} 388493deb39SJung-uk Kim ; 389493deb39SJung-uk Kim 390da9b0901SJung-uk Kim OptionalSyncLevel /* Default: 0 */ 391da9b0901SJung-uk Kim : {$$ = TrCreateValuedLeafOp ( 392da9b0901SJung-uk Kim PARSEOP_BYTECONST, 0);} 393da9b0901SJung-uk Kim | ',' {$$ = TrCreateValuedLeafOp ( 394da9b0901SJung-uk Kim PARSEOP_BYTECONST, 0);} 395da9b0901SJung-uk Kim | ',' ByteConstExpr {$$ = $2;} 396da9b0901SJung-uk Kim ; 397da9b0901SJung-uk Kim 398493deb39SJung-uk Kim OptionalTranslationType_Last 399493deb39SJung-uk Kim : {$$ = NULL;} 400493deb39SJung-uk Kim | ',' {$$ = NULL;} 401493deb39SJung-uk Kim | ',' TranslationKeyword {$$ = $2;} 402493deb39SJung-uk Kim ; 403493deb39SJung-uk Kim 404493deb39SJung-uk Kim OptionalType 405493deb39SJung-uk Kim : {$$ = NULL;} 406493deb39SJung-uk Kim | ',' {$$ = NULL;} 407493deb39SJung-uk Kim | ',' TypeKeyword {$$ = $2;} 408493deb39SJung-uk Kim ; 409493deb39SJung-uk Kim 410493deb39SJung-uk Kim OptionalType_Last 411493deb39SJung-uk Kim : {$$ = NULL;} 412493deb39SJung-uk Kim | ',' {$$ = NULL;} 413493deb39SJung-uk Kim | ',' TypeKeyword {$$ = $2;} 414493deb39SJung-uk Kim ; 415493deb39SJung-uk Kim 416da9b0901SJung-uk Kim OptionalUpdateRuleKeyword /* Default: Preserve */ 417da9b0901SJung-uk Kim : {$$ = TrCreateLeafOp ( 418da9b0901SJung-uk Kim PARSEOP_UPDATERULE_PRESERVE);} 419da9b0901SJung-uk Kim | ',' {$$ = TrCreateLeafOp ( 420da9b0901SJung-uk Kim PARSEOP_UPDATERULE_PRESERVE);} 421da9b0901SJung-uk Kim | ',' UpdateRuleKeyword {$$ = $2;} 422da9b0901SJung-uk Kim ; 423da9b0901SJung-uk Kim 424493deb39SJung-uk Kim OptionalWireMode 425493deb39SJung-uk Kim : ',' {$$ = NULL;} 426493deb39SJung-uk Kim | ',' WireModeKeyword {$$ = $2;} 427493deb39SJung-uk Kim ; 428493deb39SJung-uk Kim 429493deb39SJung-uk Kim OptionalWordConstExpr 430493deb39SJung-uk Kim : ',' {$$ = NULL;} 431493deb39SJung-uk Kim | ',' WordConstExpr {$$ = $2;} 432493deb39SJung-uk Kim ; 433493deb39SJung-uk Kim 434493deb39SJung-uk Kim OptionalXferSize 4355f9b24faSJung-uk Kim : {$$ = TrCreateValuedLeafOp ( 436493deb39SJung-uk Kim PARSEOP_XFERSIZE_32, 2);} 4375f9b24faSJung-uk Kim | ',' {$$ = TrCreateValuedLeafOp ( 438493deb39SJung-uk Kim PARSEOP_XFERSIZE_32, 2);} 439493deb39SJung-uk Kim | ',' XferSizeKeyword {$$ = $2;} 440493deb39SJung-uk Kim ; 441