1 NoEcho(' 2 /****************************************************************************** 3 * 4 * Module Name: asltypes.y - Bison/Yacc production types/names 5 * 6 *****************************************************************************/ 7 8 /* 9 * Copyright (C) 2000 - 2015, 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> IntegerData 61 %type <n> NamedObject 62 %type <n> NameSpaceModifier 63 %type <n> Object 64 %type <n> ObjectList 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> IfElseTerm 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> RefOfTerm 192 %type <n> ShiftLeftTerm 193 %type <n> ShiftRightTerm 194 %type <n> SizeOfTerm 195 %type <n> StoreTerm 196 %type <n> SubtractTerm 197 %type <n> TimerTerm 198 %type <n> ToBCDTerm 199 %type <n> ToBufferTerm 200 %type <n> ToDecimalStringTerm 201 %type <n> ToHexStringTerm 202 %type <n> ToIntegerTerm 203 %type <n> ToStringTerm 204 %type <n> WaitTerm 205 %type <n> XOrTerm 206 207 /* Keywords */ 208 209 %type <n> AccessAttribKeyword 210 %type <n> AccessTypeKeyword 211 %type <n> AddressingModeKeyword 212 %type <n> AddressKeyword 213 %type <n> AddressSpaceKeyword 214 %type <n> BitsPerByteKeyword 215 %type <n> ClockPhaseKeyword 216 %type <n> ClockPolarityKeyword 217 %type <n> DecodeKeyword 218 %type <n> DevicePolarityKeyword 219 %type <n> DMATypeKeyword 220 %type <n> EndianKeyword 221 %type <n> FlowControlKeyword 222 %type <n> InterruptLevel 223 %type <n> InterruptTypeKeyword 224 %type <n> IODecodeKeyword 225 %type <n> IoRestrictionKeyword 226 %type <n> LockRuleKeyword 227 %type <n> MatchOpKeyword 228 %type <n> MaxKeyword 229 %type <n> MemTypeKeyword 230 %type <n> MinKeyword 231 %type <n> ObjectTypeKeyword 232 %type <n> OptionalBusMasterKeyword 233 %type <n> OptionalReadWriteKeyword 234 %type <n> ParityTypeKeyword 235 %type <n> PinConfigByte 236 %type <n> PinConfigKeyword 237 %type <n> RangeTypeKeyword 238 %type <n> RegionSpaceKeyword 239 %type <n> ResourceTypeKeyword 240 %type <n> SerializeRuleKeyword 241 %type <n> ShareTypeKeyword 242 %type <n> SlaveModeKeyword 243 %type <n> StopBitsKeyword 244 %type <n> TranslationKeyword 245 %type <n> TypeKeyword 246 %type <n> UpdateRuleKeyword 247 %type <n> WireModeKeyword 248 %type <n> XferSizeKeyword 249 %type <n> XferTypeKeyword 250 251 /* Types */ 252 253 %type <n> SuperName 254 %type <n> ObjectTypeName 255 %type <n> ArgTerm 256 %type <n> LocalTerm 257 %type <n> DebugTerm 258 259 %type <n> Integer 260 %type <n> ByteConst 261 %type <n> WordConst 262 %type <n> DWordConst 263 %type <n> QWordConst 264 %type <n> String 265 266 %type <n> ConstTerm 267 %type <n> ConstExprTerm 268 %type <n> ByteConstExpr 269 %type <n> WordConstExpr 270 %type <n> DWordConstExpr 271 %type <n> QWordConstExpr 272 273 %type <n> DWordList 274 %type <n> BufferTerm 275 %type <n> ByteList 276 277 %type <n> PackageElement 278 %type <n> PackageList 279 %type <n> PackageTerm 280 %type <n> VarPackageLengthTerm 281 282 /* Macros */ 283 284 %type <n> EISAIDTerm 285 %type <n> ResourceMacroList 286 %type <n> ResourceMacroTerm 287 %type <n> ResourceTemplateTerm 288 %type <n> PldKeyword 289 %type <n> PldKeywordList 290 %type <n> ToPLDTerm 291 %type <n> ToUUIDTerm 292 %type <n> UnicodeTerm 293 %type <n> PrintfArgList 294 %type <n> PrintfTerm 295 %type <n> FprintfTerm 296 297 /* Resource Descriptors */ 298 299 %type <n> ConnectionTerm 300 %type <n> DataBufferTerm 301 %type <n> DMATerm 302 %type <n> DWordIOTerm 303 %type <n> DWordMemoryTerm 304 %type <n> DWordSpaceTerm 305 %type <n> EndDependentFnTerm 306 %type <n> ExtendedIOTerm 307 %type <n> ExtendedMemoryTerm 308 %type <n> ExtendedSpaceTerm 309 %type <n> FixedDmaTerm 310 %type <n> FixedIOTerm 311 %type <n> GpioIntTerm 312 %type <n> GpioIoTerm 313 %type <n> I2cSerialBusTerm 314 %type <n> InterruptTerm 315 %type <n> IOTerm 316 %type <n> IRQNoFlagsTerm 317 %type <n> IRQTerm 318 %type <n> Memory24Term 319 %type <n> Memory32FixedTerm 320 %type <n> Memory32Term 321 %type <n> NameSeg 322 %type <n> NameString 323 %type <n> QWordIOTerm 324 %type <n> QWordMemoryTerm 325 %type <n> QWordSpaceTerm 326 %type <n> RegisterTerm 327 %type <n> SpiSerialBusTerm 328 %type <n> StartDependentFnNoPriTerm 329 %type <n> StartDependentFnTerm 330 %type <n> UartSerialBusTerm 331 %type <n> VendorLongTerm 332 %type <n> VendorShortTerm 333 %type <n> WordBusNumberTerm 334 %type <n> WordIOTerm 335 %type <n> WordSpaceTerm 336 337 /* Local types that help construct the AML, not in ACPI spec */ 338 339 %type <n> AmlPackageLengthTerm 340 %type <n> IncludeEndTerm 341 %type <n> NameStringItem 342 %type <n> TermArgItem 343 344 %type <n> OptionalAccessSize 345 %type <n> OptionalAddressingMode 346 %type <n> OptionalAddressRange 347 %type <n> OptionalBitsPerByte 348 %type <n> OptionalBuffer_Last 349 %type <n> OptionalByteConstExpr 350 %type <n> OptionalCount 351 %type <n> OptionalDecodeType 352 %type <n> OptionalDevicePolarity 353 %type <n> OptionalDWordConstExpr 354 %type <n> OptionalEndian 355 %type <n> OptionalFlowControl 356 %type <n> OptionalIoRestriction 357 %type <n> OptionalListString 358 %type <n> OptionalMaxType 359 %type <n> OptionalMemType 360 %type <n> OptionalMinType 361 %type <n> OptionalNameString 362 %type <n> OptionalNameString_First 363 %type <n> OptionalNameString_Last 364 %type <n> OptionalObjectTypeKeyword 365 %type <n> OptionalParameterTypePackage 366 %type <n> OptionalParameterTypesPackage 367 %type <n> OptionalParityType 368 %type <n> OptionalQWordConstExpr 369 %type <n> OptionalRangeType 370 %type <n> OptionalReference 371 %type <n> OptionalResourceType 372 %type <n> OptionalResourceType_First 373 %type <n> OptionalReturnArg 374 %type <n> OptionalSerializeRuleKeyword 375 %type <n> OptionalShareType 376 %type <n> OptionalShareType_First 377 %type <n> OptionalSlaveMode 378 %type <n> OptionalStopBits 379 %type <n> OptionalStringData 380 %type <n> OptionalTermArg 381 %type <n> OptionalTranslationType_Last 382 %type <n> OptionalType 383 %type <n> OptionalType_Last 384 %type <n> OptionalWireMode 385 %type <n> OptionalWordConst 386 %type <n> OptionalWordConstExpr 387 %type <n> OptionalXferSize 388 389 /* 390 * C-style expression parser 391 */ 392 %type <n> Expression 393 %type <n> EqualsTerm 394