1 /****************************************************************************** 2 * 3 * Module Name: ahaslkey - Table of all known ASL non-operator keywords 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2013, Intel Corp. 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions, and the following disclaimer, 16 * without modification. 17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18 * substantially similar to the "NO WARRANTY" disclaimer below 19 * ("Disclaimer") and any redistribution must be conditioned upon 20 * including a substantially similar Disclaimer requirement for further 21 * binary redistribution. 22 * 3. Neither the names of the above-listed copyright holders nor the names 23 * of any contributors may be used to endorse or promote products derived 24 * from this software without specific prior written permission. 25 * 26 * Alternatively, this software may be distributed under the terms of the 27 * GNU General Public License ("GPL") version 2 as published by the Free 28 * Software Foundation. 29 * 30 * NO WARRANTY 31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41 * POSSIBILITY OF SUCH DAMAGES. 42 */ 43 44 #include "acpihelp.h" 45 46 /* 47 * ASL Keyword types and associated actual keywords. 48 * This table was extracted from the ACPI specification. 49 */ 50 const AH_ASL_KEYWORD AslKeywordInfo[] = 51 { 52 {"AccessAttribKeyword", "Serial Bus Attributes (with legacy SMBus aliases)", 53 ":= AttribQuick (SMBusQuick) | AttribSendReceive (SMBusSendReceive) | " 54 "AttribByte (SMBusByte) | AttribWord (SMBusWord) | " 55 "AttribBlock (SMBusBlock) | AttribProcessCall (SMBusProcessCall) | " 56 "AttribBlockProcessCall (SMBusProcessCall)"}, 57 {"AccessTypeKeyword", "Field Access Types", 58 ":= AnyAcc | ByteAcc | WordAcc | DWordAcc | QWordAcc | BufferAcc"}, 59 {"AddressingModeKeyword", "Mode - Resource Descriptors", 60 ":= AddressingMode7Bit | AddressingMode10Bit"}, 61 {"AddressKeyword", "ACPI memory range types", 62 ":= AddressRangeMemory | AddressRangeReserved | " 63 "AddressRangeNVS | AddressRangeACPI"}, 64 {"AddressSpaceKeyword", "Operation Region Address Space Types", 65 ":= RegionSpaceKeyword | FFixedHW"}, 66 {"BusMasterKeyword", "DMA Bus Mastering", 67 ":= BusMaster | NotBusMaster"}, 68 {"ByteLengthKeyword", "Bits per Byte - Resource Descriptors", 69 ":= DataBitsFive | DataBitsSix | DataBitsSeven | DataBitsEight | DataBitsNine"}, 70 {"ClockPhaseKeyword", "Resource Descriptors", 71 ":= ClockPhaseFirst | ClockPhaseSecond"}, 72 {"ClockPolarityKeyword", "Resource Descriptors", 73 ":= ClockPolarityLow | ClockPolarityHigh"}, 74 {"DecodeKeyword", "Type of Memory Decoding - Resource Descriptors", 75 ":= SubDecode | PosDecode"}, 76 {"DmaTypeKeyword", "DMA Types - DMA Resource Descriptor", 77 ":= Compatibility | TypeA | TypeB | TypeF"}, 78 {"EndianKeyword", "Endian type - Resource Descriptor", 79 ":= BigEndian | LittleEndian"}, 80 {"ExtendedAttribKeyword", "Extended Bus Attributes", 81 ":= AttribBytes (AccessLength) | AttribRawBytes (AccessLength) | " 82 "AttribRawProcessBytes (AccessLength)"}, 83 {"FlowControlKeyword", "Resource Descriptor", 84 ":= FlowControlNone | FlowControlXon | FlowControlHardware"}, 85 {"InterruptLevelKeyword", "Interrupt Active Types", 86 ":= ActiveHigh | ActiveLow | ActiveBoth"}, 87 {"InterruptTypeKeyword", "Interrupt Types", 88 ":= Edge | Level"}, 89 {"IoDecodeKeyword", "I/O Decoding - IO Resource Descriptor", 90 ":= Decode16 | Decode10"}, 91 {"IoRestrictionKeyword", "I/O Restriction - GPIO Resource Descriptors", 92 ":= IoRestrictionNone | IoRestrictionInputOnly | " 93 "IoRestrictionOutputOnly | IoRestrictionNoneAndPreserve"}, 94 {"LockRuleKeyword", "Global Lock use for Field Operator", 95 ":= Lock | NoLock"}, 96 {"MatchOpKeyword", "Types for Match Operator", 97 ":= MTR | MEQ | MLE | MLT | MGE | MGT"}, 98 {"MaxKeyword", "Max Range Type - Resource Descriptors", 99 ":= MaxFixed | MaxNotFixed"}, 100 {"MemTypeKeyword", "Memory Types - Resource Descriptors", 101 ":= Cacheable | WriteCombining | Prefetchable | NonCacheable"}, 102 {"MinKeyword", "Min Range Type - Resource Descriptors", 103 ":= MinFixed | MinNotFixed"}, 104 {"ObjectTypeKeyword", "ACPI Object Types", 105 ":= UnknownObj | IntObj | StrObj | BuffObj | PkgObj | FieldUnitObj | " 106 "DeviceObj | EventObj | MethodObj | MutexObj | OpRegionObj | PowerResObj | " 107 "ProcessorObj | ThermalZoneObj | BuffFieldObj | DDBHandleObj"}, 108 {"ParityKeyword", "Resource Descriptors", 109 ":= ParityTypeNone | ParityTypeSpace | ParityTypeMark | " 110 "ParityTypeOdd | ParityTypeEven"}, 111 {"PinConfigKeyword", "Pin Configuration - GPIO Resource Descriptors", 112 ":= PullDefault | PullUp | PullDown | PullNone"}, 113 {"PolarityKeyword", "Resource Descriptors", 114 ":= PolarityHigh | PolarityLow"}, 115 {"RangeTypeKeyword", "I/O Range Types - Resource Descriptors", 116 ":= ISAOnlyRanges | NonISAOnlyRanges | EntireRange"}, 117 {"ReadWriteKeyword", "Memory Access Types - Resource Descriptors", 118 ":= ReadWrite | ReadOnly"}, 119 {"RegionSpaceKeyword", "Operation Region Address Space Types", 120 ":= UserDefRegionSpace | SystemIO | SystemMemory | PCI_Config | " 121 "EmbeddedControl | SMBus | SystemCMOS | PciBarTarget | IPMI | " 122 "GeneralPurposeIo, GenericSerialBus"}, 123 {"ResourceTypeKeyword", "Resource Usage - Resource Descriptors", 124 ":= ResourceConsumer | ResourceProducer"}, 125 {"SerializeRuleKeyword", "Control Method Serialization", 126 ":= Serialized | NotSerialized"}, 127 {"ShareTypeKeyword", "Interrupt Sharing - Resource Descriptors", 128 ":= Shared | Exclusive | SharedAndWake | ExclusiveAndWake"}, 129 {"SlaveModeKeyword", "Resource Descriptors", 130 ":= ControllerInitiated | DeviceInitiated"}, 131 {"StopBitsKeyword", "Resource Descriptors", 132 ":= StopBitsZero | StopBitsOne | StopBitsOnePlusHalf | StopBitsTwo"}, 133 {"TransferWidthKeyword", "DMA Widths - Fixed DMA Resource Descriptor", 134 ":= Width8bit | Width16bit | Width32bit | Width64bit | " 135 "Width128bit | Width256bit"}, 136 {"TranslationKeyword", "Translation Density Types - Resource Descriptors", 137 ":= SparseTranslation | DenseTranslation"}, 138 {"TypeKeyword", "Translation Types - Resource Descriptors", 139 ":= TypeTranslation | TypeStatic"}, 140 {"UpdateRuleKeyword", "Field Update Rules", 141 ":= Preserve | WriteAsOnes | WriteAsZeros"}, 142 {"UserDefRegionSpace", "User defined address spaces", 143 ":= IntegerData => 0x80 - 0xFF"}, 144 {"WireModeKeyword", "SPI Wire Mode - Resource Descriptors", 145 ":= ThreeWireMode | FourWireMode"}, 146 {"XferTypeKeyword", "DMA Transfer Types", 147 ":= Transfer8 | Transfer16 | Transfer8_16"}, 148 {NULL, NULL, NULL} 149 };