asltypes.y revision 306536
1NoEcho(' 2/****************************************************************************** 3 * 4 * Module Name: asltypes.y - Bison/Yacc production types/names 5 * 6 *****************************************************************************/ 7 8/* 9 * Copyright (C) 2000 - 2016, Intel Corp. 10 * All rights reserved. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions 14 * are met: 15 * 1. Redistributions of source code must retain the above copyright 16 * notice, this list of conditions, and the following disclaimer, 17 * without modification. 18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19 * substantially similar to the "NO WARRANTY" disclaimer below 20 * ("Disclaimer") and any redistribution must be conditioned upon 21 * including a substantially similar Disclaimer requirement for further 22 * binary redistribution. 23 * 3. Neither the names of the above-listed copyright holders nor the names 24 * of any contributors may be used to endorse or promote products derived 25 * from this software without specific prior written permission. 26 * 27 * Alternatively, this software may be distributed under the terms of the 28 * GNU General Public License ("GPL") version 2 as published by the Free 29 * Software Foundation. 30 * 31 * NO WARRANTY 32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 * Production names 50 * 51 *****************************************************************************/ 52 53%type <n> ArgList 54%type <n> AslCode 55%type <n> BufferData 56%type <n> BufferTermData 57%type <n> CompilerDirective 58%type <n> DataObject 59%type <n> DefinitionBlockTerm 60%type <n> DefinitionBlockList 61%type <n> IntegerData 62%type <n> NamedObject 63%type <n> NameSpaceModifier 64%type <n> Object 65%type <n> PackageData 66%type <n> ParameterTypePackage 67%type <n> ParameterTypePackageList 68%type <n> ParameterTypesPackage 69%type <n> ParameterTypesPackageList 70%type <n> RequiredTarget 71%type <n> SimpleTarget 72%type <n> StringData 73%type <n> Target 74%type <n> Term 75%type <n> TermArg 76%type <n> TermList 77%type <n> MethodInvocationTerm 78 79/* Type4Opcode is obsolete */ 80 81%type <n> Type1Opcode 82%type <n> Type2BufferOpcode 83%type <n> Type2BufferOrStringOpcode 84%type <n> Type2IntegerOpcode 85%type <n> Type2Opcode 86%type <n> Type2StringOpcode 87%type <n> Type3Opcode 88%type <n> Type5Opcode 89%type <n> Type6Opcode 90 91%type <n> AccessAsTerm 92%type <n> ExternalTerm 93%type <n> FieldUnit 94%type <n> FieldUnitEntry 95%type <n> FieldUnitList 96%type <n> IncludeTerm 97%type <n> OffsetTerm 98%type <n> OptionalAccessAttribTerm 99 100/* Named Objects */ 101 102%type <n> BankFieldTerm 103%type <n> CreateBitFieldTerm 104%type <n> CreateByteFieldTerm 105%type <n> CreateDWordFieldTerm 106%type <n> CreateFieldTerm 107%type <n> CreateQWordFieldTerm 108%type <n> CreateWordFieldTerm 109%type <n> DataRegionTerm 110%type <n> DeviceTerm 111%type <n> EventTerm 112%type <n> FieldTerm 113%type <n> FunctionTerm 114%type <n> IndexFieldTerm 115%type <n> MethodTerm 116%type <n> MutexTerm 117%type <n> OpRegionTerm 118%type <n> OpRegionSpaceIdTerm 119%type <n> PowerResTerm 120%type <n> ProcessorTerm 121%type <n> ThermalZoneTerm 122 123/* Namespace modifiers */ 124 125%type <n> AliasTerm 126%type <n> NameTerm 127%type <n> ScopeTerm 128 129/* Type 1 opcodes */ 130 131%type <n> BreakPointTerm 132%type <n> BreakTerm 133%type <n> CaseDefaultTermList 134%type <n> CaseTerm 135%type <n> ContinueTerm 136%type <n> DefaultTerm 137%type <n> ElseTerm 138%type <n> FatalTerm 139%type <n> ElseIfTerm 140%type <n> IfTerm 141%type <n> LoadTerm 142%type <n> NoOpTerm 143%type <n> NotifyTerm 144%type <n> ReleaseTerm 145%type <n> ResetTerm 146%type <n> ReturnTerm 147%type <n> SignalTerm 148%type <n> SleepTerm 149%type <n> StallTerm 150%type <n> SwitchTerm 151%type <n> UnloadTerm 152%type <n> WhileTerm 153/* %type <n> CaseTermList */ 154 155/* Type 2 opcodes */ 156 157%type <n> AcquireTerm 158%type <n> AddTerm 159%type <n> AndTerm 160%type <n> ConcatResTerm 161%type <n> ConcatTerm 162%type <n> CondRefOfTerm 163%type <n> CopyObjectTerm 164%type <n> DecTerm 165%type <n> DerefOfTerm 166%type <n> DivideTerm 167%type <n> FindSetLeftBitTerm 168%type <n> FindSetRightBitTerm 169%type <n> FromBCDTerm 170%type <n> IncTerm 171%type <n> IndexTerm 172%type <n> LAndTerm 173%type <n> LEqualTerm 174%type <n> LGreaterEqualTerm 175%type <n> LGreaterTerm 176%type <n> LLessEqualTerm 177%type <n> LLessTerm 178%type <n> LNotEqualTerm 179%type <n> LNotTerm 180%type <n> LoadTableTerm 181%type <n> LOrTerm 182%type <n> MatchTerm 183%type <n> MidTerm 184%type <n> ModTerm 185%type <n> MultiplyTerm 186%type <n> NAndTerm 187%type <n> NOrTerm 188%type <n> NotTerm 189%type <n> ObjectTypeTerm 190%type <n> OrTerm 191%type <n> RawDataBufferTerm 192%type <n> RefOfTerm 193%type <n> ShiftLeftTerm 194%type <n> ShiftRightTerm 195%type <n> SizeOfTerm 196%type <n> StoreTerm 197%type <n> SubtractTerm 198%type <n> TimerTerm 199%type <n> ToBCDTerm 200%type <n> ToBufferTerm 201%type <n> ToDecimalStringTerm 202%type <n> ToHexStringTerm 203%type <n> ToIntegerTerm 204%type <n> ToStringTerm 205%type <n> WaitTerm 206%type <n> XOrTerm 207 208/* Keywords */ 209 210%type <n> AccessAttribKeyword 211%type <n> AccessTypeKeyword 212%type <n> AddressingModeKeyword 213%type <n> AddressKeyword 214%type <n> AddressSpaceKeyword 215%type <n> BitsPerByteKeyword 216%type <n> ClockPhaseKeyword 217%type <n> ClockPolarityKeyword 218%type <n> DecodeKeyword 219%type <n> DevicePolarityKeyword 220%type <n> DMATypeKeyword 221%type <n> EndianKeyword 222%type <n> FlowControlKeyword 223%type <n> InterruptLevel 224%type <n> InterruptTypeKeyword 225%type <n> IODecodeKeyword 226%type <n> IoRestrictionKeyword 227%type <n> LockRuleKeyword 228%type <n> MatchOpKeyword 229%type <n> MaxKeyword 230%type <n> MemTypeKeyword 231%type <n> MinKeyword 232%type <n> ObjectTypeKeyword 233%type <n> OptionalBusMasterKeyword 234%type <n> OptionalReadWriteKeyword 235%type <n> ParityTypeKeyword 236%type <n> PinConfigByte 237%type <n> PinConfigKeyword 238%type <n> RangeTypeKeyword 239%type <n> RegionSpaceKeyword 240%type <n> ResourceTypeKeyword 241%type <n> SerializeRuleKeyword 242%type <n> ShareTypeKeyword 243%type <n> SlaveModeKeyword 244%type <n> StopBitsKeyword 245%type <n> TranslationKeyword 246%type <n> TypeKeyword 247%type <n> UpdateRuleKeyword 248%type <n> WireModeKeyword 249%type <n> XferSizeKeyword 250%type <n> XferTypeKeyword 251 252/* Types */ 253 254%type <n> SuperName 255%type <n> ObjectTypeName 256%type <n> ArgTerm 257%type <n> LocalTerm 258%type <n> DebugTerm 259 260%type <n> Integer 261%type <n> ByteConst 262%type <n> WordConst 263%type <n> DWordConst 264%type <n> QWordConst 265%type <n> String 266 267%type <n> ConstTerm 268%type <n> ConstExprTerm 269%type <n> ByteConstExpr 270%type <n> WordConstExpr 271%type <n> DWordConstExpr 272%type <n> QWordConstExpr 273 274%type <n> DWordList 275%type <n> BufferTerm 276%type <n> ByteList 277 278%type <n> PackageElement 279%type <n> PackageList 280%type <n> PackageTerm 281%type <n> VarPackageLengthTerm 282 283/* Macros */ 284 285%type <n> EISAIDTerm 286%type <n> ResourceMacroList 287%type <n> ResourceMacroTerm 288%type <n> ResourceTemplateTerm 289%type <n> PldKeyword 290%type <n> PldKeywordList 291%type <n> ToPLDTerm 292%type <n> ToUUIDTerm 293%type <n> UnicodeTerm 294%type <n> PrintfArgList 295%type <n> PrintfTerm 296%type <n> FprintfTerm 297%type <n> ForTerm 298 299/* Resource Descriptors */ 300 301%type <n> ConnectionTerm 302%type <n> DMATerm 303%type <n> DWordIOTerm 304%type <n> DWordMemoryTerm 305%type <n> DWordSpaceTerm 306%type <n> EndDependentFnTerm 307%type <n> ExtendedIOTerm 308%type <n> ExtendedMemoryTerm 309%type <n> ExtendedSpaceTerm 310%type <n> FixedDmaTerm 311%type <n> FixedIOTerm 312%type <n> GpioIntTerm 313%type <n> GpioIoTerm 314%type <n> I2cSerialBusTerm 315%type <n> I2cSerialBusTermV2 316%type <n> InterruptTerm 317%type <n> IOTerm 318%type <n> IRQNoFlagsTerm 319%type <n> IRQTerm 320%type <n> Memory24Term 321%type <n> Memory32FixedTerm 322%type <n> Memory32Term 323%type <n> NameSeg 324%type <n> NameString 325%type <n> QWordIOTerm 326%type <n> QWordMemoryTerm 327%type <n> QWordSpaceTerm 328%type <n> RegisterTerm 329%type <n> SpiSerialBusTerm 330%type <n> SpiSerialBusTermV2 331%type <n> StartDependentFnNoPriTerm 332%type <n> StartDependentFnTerm 333%type <n> UartSerialBusTerm 334%type <n> UartSerialBusTermV2 335%type <n> VendorLongTerm 336%type <n> VendorShortTerm 337%type <n> WordBusNumberTerm 338%type <n> WordIOTerm 339%type <n> WordSpaceTerm 340 341/* Local types that help construct the AML, not in ACPI spec */ 342 343%type <n> AmlPackageLengthTerm 344%type <n> IncludeEndTerm 345%type <n> NameStringItem 346%type <n> TermArgItem 347 348%type <n> OptionalAccessSize 349%type <n> OptionalAddressingMode 350%type <n> OptionalAddressRange 351%type <n> OptionalBitsPerByte 352%type <n> OptionalBuffer_Last 353%type <n> OptionalBufferLength 354%type <n> OptionalByteConstExpr 355%type <n> OptionalCount 356%type <n> OptionalDecodeType 357%type <n> OptionalDevicePolarity 358%type <n> OptionalDWordConstExpr 359%type <n> OptionalEndian 360%type <n> OptionalFlowControl 361%type <n> OptionalIoRestriction 362%type <n> OptionalListString 363%type <n> OptionalMaxType 364%type <n> OptionalMemType 365%type <n> OptionalMinType 366%type <n> OptionalNameString 367%type <n> OptionalNameString_First 368%type <n> OptionalNameString_Last 369%type <n> OptionalObjectTypeKeyword 370%type <n> OptionalParameterTypePackage 371%type <n> OptionalParameterTypesPackage 372%type <n> OptionalParityType 373%type <n> OptionalPredicate 374%type <n> OptionalQWordConstExpr 375%type <n> OptionalRangeType 376%type <n> OptionalReference 377%type <n> OptionalResourceType 378%type <n> OptionalResourceType_First 379%type <n> OptionalReturnArg 380%type <n> OptionalSerializeRuleKeyword 381%type <n> OptionalShareType 382%type <n> OptionalShareType_First 383%type <n> OptionalSlaveMode 384%type <n> OptionalStopBits 385%type <n> OptionalStringData 386%type <n> OptionalTermArg 387%type <n> OptionalTranslationType_Last 388%type <n> OptionalType 389%type <n> OptionalType_Last 390%type <n> OptionalWireMode 391%type <n> OptionalWordConst 392%type <n> OptionalWordConstExpr 393%type <n> OptionalXferSize 394 395/* 396 * C-style expression parser 397 */ 398%type <n> Expression 399%type <n> EqualsTerm 400%type <n> IndexExpTerm 401