Blame source/compiler/aslhelpers.y

Packit Service 1fb00e
NoEcho('
Packit Service 1fb00e
/******************************************************************************
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Module Name: aslhelpers.y - helper and option terms
Packit Service 1fb00e
 *
Packit Service 1fb00e
 *****************************************************************************/
Packit Service 1fb00e
Packit Service 1fb00e
/*
Packit Service 1fb00e
 * Copyright (C) 2000 - 2018, Intel Corp.
Packit Service 1fb00e
 * All rights reserved.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Redistribution and use in source and binary forms, with or without
Packit Service 1fb00e
 * modification, are permitted provided that the following conditions
Packit Service 1fb00e
 * are met:
Packit Service 1fb00e
 * 1. Redistributions of source code must retain the above copyright
Packit Service 1fb00e
 *    notice, this list of conditions, and the following disclaimer,
Packit Service 1fb00e
 *    without modification.
Packit Service 1fb00e
 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
Packit Service 1fb00e
 *    substantially similar to the "NO WARRANTY" disclaimer below
Packit Service 1fb00e
 *    ("Disclaimer") and any redistribution must be conditioned upon
Packit Service 1fb00e
 *    including a substantially similar Disclaimer requirement for further
Packit Service 1fb00e
 *    binary redistribution.
Packit Service 1fb00e
 * 3. Neither the names of the above-listed copyright holders nor the names
Packit Service 1fb00e
 *    of any contributors may be used to endorse or promote products derived
Packit Service 1fb00e
 *    from this software without specific prior written permission.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Alternatively, this software may be distributed under the terms of the
Packit Service 1fb00e
 * GNU General Public License ("GPL") version 2 as published by the Free
Packit Service 1fb00e
 * Software Foundation.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * NO WARRANTY
Packit Service 1fb00e
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Packit Service 1fb00e
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Packit Service 1fb00e
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
Packit Service 1fb00e
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
Packit Service 1fb00e
 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit Service 1fb00e
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Packit Service 1fb00e
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Packit Service 1fb00e
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
Packit Service 1fb00e
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
Packit Service 1fb00e
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Packit Service 1fb00e
 * POSSIBILITY OF SUCH DAMAGES.
Packit Service 1fb00e
 */
Packit Service 1fb00e
Packit Service 1fb00e
')
Packit Service 1fb00e
Packit Service 1fb00e
Packit Service 1fb00e
/*******************************************************************************
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * ASL Helper Terms
Packit Service 1fb00e
 *
Packit Service 1fb00e
 ******************************************************************************/
Packit Service 1fb00e
Packit Service 1fb00e
OptionalBusMasterKeyword
Packit Service 1fb00e
    : ','                                   {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                                PARSEOP_BUSMASTERTYPE_MASTER);}
Packit Service 1fb00e
    | ',' PARSEOP_BUSMASTERTYPE_MASTER      {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                                PARSEOP_BUSMASTERTYPE_MASTER);}
Packit Service 1fb00e
    | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER   {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                                PARSEOP_BUSMASTERTYPE_NOTMASTER);}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalAccessAttribTerm
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' ByteConstExpr             {$$ = $2;}
Packit Service 1fb00e
    | ',' AccessAttribKeyword       {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalAccessSize
Packit Service 1fb00e
    :                               {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_BYTECONST, 0);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_BYTECONST, 0);}
Packit Service 1fb00e
    | ',' ByteConstExpr             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalAccessTypeKeyword   /* Default: AnyAcc */
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_ACCESSTYPE_ANY);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_ACCESSTYPE_ANY);}
Packit Service 1fb00e
    | ',' AccessTypeKeyword         {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalAddressingMode
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' AddressingModeKeyword     {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalAddressRange
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' AddressKeyword            {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalBitsPerByte
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' BitsPerByteKeyword        {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalBuffer_Last
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' RawDataBufferTerm         {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalByteConstExpr
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' ByteConstExpr             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalDecodeType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' DecodeKeyword             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalDevicePolarity
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' DevicePolarityKeyword     {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalDWordConstExpr
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' DWordConstExpr            {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalEndian
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' EndianKeyword             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalFlowControl
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' FlowControlKeyword        {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalIoRestriction
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' IoRestrictionKeyword      {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalListString
Packit Service 1fb00e
    :                               {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_STRING_LITERAL,
Packit Service 1fb00e
                                        ACPI_TO_INTEGER (""));}   /* Placeholder is a NULL string */
Packit Service 1fb00e
    | ','                           {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_STRING_LITERAL,
Packit Service 1fb00e
                                        ACPI_TO_INTEGER (""));}   /* Placeholder is a NULL string */
Packit Service 1fb00e
    | ',' TermArg                   {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalLockRuleKeyword     /* Default: NoLock */
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_LOCKRULE_NOLOCK);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_LOCKRULE_NOLOCK);}
Packit Service 1fb00e
    | ',' LockRuleKeyword           {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalMaxType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' MaxKeyword                {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalMemType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' MemTypeKeyword            {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalMinType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' MinKeyword                {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalNameString
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' NameString                {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalNameString_Last
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' NameString                {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalNameString_First
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_ZERO);}
Packit Service 1fb00e
    | NameString                    {$$ = $1;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalObjectTypeKeyword
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_OBJECTTYPE_UNK);}
Packit Service 1fb00e
    | ',' ObjectTypeKeyword         {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalParityType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' ParityTypeKeyword         {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalQWordConstExpr
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' QWordConstExpr            {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalRangeType
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' RangeTypeKeyword          {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalReadWriteKeyword
Packit Service 1fb00e
    :                                   {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                            PARSEOP_READWRITETYPE_BOTH);}
Packit Service 1fb00e
    | PARSEOP_READWRITETYPE_BOTH        {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                            PARSEOP_READWRITETYPE_BOTH);}
Packit Service 1fb00e
    | PARSEOP_READWRITETYPE_READONLY    {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                            PARSEOP_READWRITETYPE_READONLY);}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalResourceType_First
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_RESOURCETYPE_CONSUMER);}
Packit Service 1fb00e
    | ResourceTypeKeyword           {$$ = $1;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalResourceType
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_RESOURCETYPE_CONSUMER);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_RESOURCETYPE_CONSUMER);}
Packit Service 1fb00e
    | ',' ResourceTypeKeyword       {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
/* Same as above except default is producer */
Packit Service 1fb00e
OptionalProducerResourceType
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_RESOURCETYPE_PRODUCER);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_RESOURCETYPE_PRODUCER);}
Packit Service 1fb00e
    | ',' ResourceTypeKeyword       {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalSlaveMode
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' SlaveModeKeyword          {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalShareType
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' ShareTypeKeyword          {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalShareType_First
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ShareTypeKeyword              {$$ = $1;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalStopBits
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' StopBitsKeyword           {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalStringData
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' StringData                {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalSyncLevel           /* Default: 0 */
Packit Service 1fb00e
    :                               {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_BYTECONST, 0);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_BYTECONST, 0);}
Packit Service 1fb00e
    | ',' ByteConstExpr             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalTranslationType_Last
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' TranslationKeyword        {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalType
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' TypeKeyword               {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalType_Last
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' TypeKeyword               {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalUpdateRuleKeyword   /* Default: Preserve */
Packit Service 1fb00e
    :                               {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_UPDATERULE_PRESERVE);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateLeafOp (
Packit Service 1fb00e
                                        PARSEOP_UPDATERULE_PRESERVE);}
Packit Service 1fb00e
    | ',' UpdateRuleKeyword         {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalWireMode
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' WireModeKeyword           {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalWordConstExpr
Packit Service 1fb00e
    : ','                           {$$ = NULL;}
Packit Service 1fb00e
    | ',' WordConstExpr             {$$ = $2;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalXferSize
Packit Service 1fb00e
    :                               {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_XFERSIZE_32, 2);}
Packit Service 1fb00e
    | ','                           {$$ = TrCreateValuedLeafOp (
Packit Service 1fb00e
                                        PARSEOP_XFERSIZE_32, 2);}
Packit Service 1fb00e
    | ',' XferSizeKeyword           {$$ = $2;}
Packit Service 1fb00e
    ;