10d02842fSSascha Wildner /****************************************************************************** 20d02842fSSascha Wildner * 30d02842fSSascha Wildner * Module Name: ahaslops - Table of all known ASL operators 40d02842fSSascha Wildner * 50d02842fSSascha Wildner *****************************************************************************/ 60d02842fSSascha Wildner 70d02842fSSascha Wildner /* 8f5f76cf2SSascha Wildner * Copyright (C) 2000 - 2016, Intel Corp. 90d02842fSSascha Wildner * All rights reserved. 100d02842fSSascha Wildner * 110d02842fSSascha Wildner * Redistribution and use in source and binary forms, with or without 120d02842fSSascha Wildner * modification, are permitted provided that the following conditions 130d02842fSSascha Wildner * are met: 140d02842fSSascha Wildner * 1. Redistributions of source code must retain the above copyright 150d02842fSSascha Wildner * notice, this list of conditions, and the following disclaimer, 160d02842fSSascha Wildner * without modification. 170d02842fSSascha Wildner * 2. Redistributions in binary form must reproduce at minimum a disclaimer 180d02842fSSascha Wildner * substantially similar to the "NO WARRANTY" disclaimer below 190d02842fSSascha Wildner * ("Disclaimer") and any redistribution must be conditioned upon 200d02842fSSascha Wildner * including a substantially similar Disclaimer requirement for further 210d02842fSSascha Wildner * binary redistribution. 220d02842fSSascha Wildner * 3. Neither the names of the above-listed copyright holders nor the names 230d02842fSSascha Wildner * of any contributors may be used to endorse or promote products derived 240d02842fSSascha Wildner * from this software without specific prior written permission. 250d02842fSSascha Wildner * 260d02842fSSascha Wildner * Alternatively, this software may be distributed under the terms of the 270d02842fSSascha Wildner * GNU General Public License ("GPL") version 2 as published by the Free 280d02842fSSascha Wildner * Software Foundation. 290d02842fSSascha Wildner * 300d02842fSSascha Wildner * NO WARRANTY 310d02842fSSascha Wildner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 320d02842fSSascha Wildner * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 330d02842fSSascha Wildner * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 340d02842fSSascha Wildner * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 350d02842fSSascha Wildner * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 360d02842fSSascha Wildner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 370d02842fSSascha Wildner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 380d02842fSSascha Wildner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 390d02842fSSascha Wildner * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 400d02842fSSascha Wildner * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 410d02842fSSascha Wildner * POSSIBILITY OF SUCH DAMAGES. 420d02842fSSascha Wildner */ 430d02842fSSascha Wildner 440d02842fSSascha Wildner #include "acpihelp.h" 450d02842fSSascha Wildner 460d02842fSSascha Wildner /* 470d02842fSSascha Wildner * ASL operators with syntax (directly from ACPI specification). 480d02842fSSascha Wildner * Note: All tokens require a space separator. 490d02842fSSascha Wildner * Long lines are automatically split during output. 500d02842fSSascha Wildner */ 510d02842fSSascha Wildner const AH_ASL_OPERATOR AslOperatorInfo[] = 520d02842fSSascha Wildner { 530d02842fSSascha Wildner {"AccessAs", "(AccessType, AccessAttribKeyword | " 540d02842fSSascha Wildner "ExtendedAttribKeyword (AccessLength))", 550d02842fSSascha Wildner "ChangeFieldUnitAccess"}, 560d02842fSSascha Wildner {"Acquire", "(SyncObject, TimeoutValue) => Boolean", 570d02842fSSascha Wildner "Acquire a mutex"}, 580d02842fSSascha Wildner {"Add", "(Addend1, Addend2, Result) => Integer", 590d02842fSSascha Wildner "Integer Add"}, 600d02842fSSascha Wildner {"Alias", "(SourceObject, AliasObject)", 610d02842fSSascha Wildner "Define a name alias"}, 620d02842fSSascha Wildner {"And", "(Source1, Source2, Result) => Integer", 630d02842fSSascha Wildner "Integer Bitwise And"}, 640d02842fSSascha Wildner {"Arg", "Arg0 - Arg6", 650d02842fSSascha Wildner "Method argument data objects"}, 660d02842fSSascha Wildner {"BankField", "(RegionName, BankName, BankValue, " 670d02842fSSascha Wildner "AccessTypeKeyword, LockRuleKeyword, " 680d02842fSSascha Wildner "UpdateRuleKeyword) {FieldUnitList}", 690d02842fSSascha Wildner "Declare fields in a banked configuration object"}, 700d02842fSSascha Wildner {"Break", "No parameters", 710d02842fSSascha Wildner "Continue following the innermost enclosing While"}, 720d02842fSSascha Wildner {"BreakPoint", "No parameters", 730d02842fSSascha Wildner "Used for debugging, stops execution in the debugger"}, 740d02842fSSascha Wildner {"Buffer", "(BufferSize) {String or ByteList} => Buffer", 750d02842fSSascha Wildner "Declare Buffer object"}, 760d02842fSSascha Wildner {"Case", "(Value) {TermList}", 770d02842fSSascha Wildner "Expression for conditional execution"}, 780d02842fSSascha Wildner {"Concatenate", "(Source1, Source2, Result) => ComputationalData", 790d02842fSSascha Wildner "Concatenate two strings, integers or buffers"}, 800d02842fSSascha Wildner {"ConcatenateResTemplate", "(Source1, Source2, Result) => Buffer", 810d02842fSSascha Wildner "Concatenate two resource templates"}, 820d02842fSSascha Wildner {"CondRefOf", "(Source, Result) => Boolean", 830d02842fSSascha Wildner "Conditional reference to an object"}, 840d02842fSSascha Wildner {"Connection", "(ResourceMacro)", 850d02842fSSascha Wildner "Associate connection with FieldUnits within a Field object"}, 860d02842fSSascha Wildner {"Continue", "No parameters", 870d02842fSSascha Wildner "Continue innermost enclosing While loop"}, 880d02842fSSascha Wildner {"CopyObject", "(Source, Destination) => DataRefObject", 890d02842fSSascha Wildner "Copy and existing object"}, 900d02842fSSascha Wildner {"CreateBitField", "(SourceBuffer, BitIndex, BitFieldName)", 910d02842fSSascha Wildner "Declare a bit field object of a buffer object"}, 920d02842fSSascha Wildner {"CreateByteField", "(SourceBuffer, ByteIndex, ByteFieldName)", 930d02842fSSascha Wildner "Declare a byte field object of a buffer object"}, 940d02842fSSascha Wildner {"CreateDWordField", "(SourceBuffer, ByteIndex, DWordFieldName)", 950d02842fSSascha Wildner "Declare a DWord field object of a buffer object"}, 960d02842fSSascha Wildner {"CreateField", "(SourceBuffer, BitIndex, NumBits, FieldName)", 970d02842fSSascha Wildner "Declare an arbitrary length bit field of a buffer object"}, 980d02842fSSascha Wildner {"CreateQWordField", "(SourceBuffer, ByteIndex, QWordFieldName)", 990d02842fSSascha Wildner "Declare a QWord field object of a buffer object"}, 1000d02842fSSascha Wildner {"CreateWordField", "(SourceBuffer, ByteIndex, WordFieldName)", 1010d02842fSSascha Wildner "Declare a Word field object of a buffer object"}, 1020d02842fSSascha Wildner {"DataTableRegion", "(RegionName, SignatureString, OemIDString, OemTableIDString)", 1030d02842fSSascha Wildner "Declare a Data Table Region"}, 1040d02842fSSascha Wildner {"Debug", "No parameters", 1050d02842fSSascha Wildner "Debugger output"}, 1060d02842fSSascha Wildner {"Decrement", "(Minuend) => Integer", 1070d02842fSSascha Wildner "Decrement an Integer"}, 1080d02842fSSascha Wildner {"Default", "{TermList}", 1090d02842fSSascha Wildner "Default execution path in Switch()"}, 1100d02842fSSascha Wildner {"DefinitionBlock", "(AmlFileName, TableSignature, ComplianceRevision, " 1110d02842fSSascha Wildner "OemId, TableId, OemRevision) {TermList}", 1120d02842fSSascha Wildner "Declare a Definition Block"}, 1130d02842fSSascha Wildner {"DerefOf", "(Source) => Object", 1140d02842fSSascha Wildner "Dereference an object reference"}, 115*0d27ae55SSascha Wildner {"Device", "(DeviceName) {TermList}", 1160d02842fSSascha Wildner "Declare a bus/device object"}, 1170d02842fSSascha Wildner {"Divide", "(Dividend, Divisor, Remainder, Result) => Integer", 1180d02842fSSascha Wildner "Integer Divide"}, 1195943f66cSSascha Wildner {"Dma", "(DmaTypeKeyword, BusMasterKeyword, XferTypeKeyword, " 1200d02842fSSascha Wildner "DescriptorName) {DmaChannelList} => Buffer", 1210d02842fSSascha Wildner "DMA Resource Descriptor macro"}, 1225943f66cSSascha Wildner {"DWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, " 1230d02842fSSascha Wildner "DecodeKeyword, RangeTypeKeyword, AddressGranularity, " 1240d02842fSSascha Wildner "AddressMinimum, AddressMaximum, AddressTranslation, " 1250d02842fSSascha Wildner "RangeLength, ResourceSourceIndex, " 1260d02842fSSascha Wildner "ResourceSource, DescriptorName, TypeKeyword, TranslationKeyword)", 1275943f66cSSascha Wildner "DWord I/O Resource Descriptor macro"}, 1280d02842fSSascha Wildner {"DWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, " 1290d02842fSSascha Wildner "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, " 1300d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 1310d02842fSSascha Wildner "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName, AddressKeyword, " 1320d02842fSSascha Wildner "TypeKeyword)", 1330d02842fSSascha Wildner "DWord Memory Resource Descriptor macro"}, 1340d02842fSSascha Wildner {"DWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, " 1350d02842fSSascha Wildner "MinKeyword, MaxKeyword, TypeSpecificFlags, " 1360d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, " 1370d02842fSSascha Wildner "AddressTranslation, RangeLength, " 1380d02842fSSascha Wildner "ResourceSourceIndex, ResourceSource, DescriptorName)", 1390d02842fSSascha Wildner "DWord Space Resource Descriptor macro"}, 1405943f66cSSascha Wildner {"EisaId", "(EisaIdString) => DWordConst", 1410d02842fSSascha Wildner "EISA ID String to Integer conversion macro"}, 1420d02842fSSascha Wildner {"Else", "{TermList}", 1430d02842fSSascha Wildner "Alternate conditional execution"}, 1440d02842fSSascha Wildner {"ElseIf", "(Predicate)", 1450d02842fSSascha Wildner "Conditional execution"}, 1460d02842fSSascha Wildner {"EndDependentFn", "() => Buffer", 1470d02842fSSascha Wildner "End Dependent Function Resource Descriptor macro"}, 1480d02842fSSascha Wildner {"Event", "(EventName)", 1490d02842fSSascha Wildner "Declare an event synchronization object"}, 1505943f66cSSascha Wildner {"ExtendedIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, " 1510d02842fSSascha Wildner "DecodeKeyword, RangeTypeKeyword, AddressGranularity, " 1520d02842fSSascha Wildner "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, " 1530d02842fSSascha Wildner "TypeSpecificAttributes, DescriptorName, TypeKeyword, TranslationKeyword)", 1545943f66cSSascha Wildner "Extended I/O Resource Descriptor macro"}, 1550d02842fSSascha Wildner {"ExtendedMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, " 1560d02842fSSascha Wildner "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, " 1570d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 1580d02842fSSascha Wildner "RangeLength, TypeSpecificAttributes, DescriptorName, " 1590d02842fSSascha Wildner "AddressKeyword, TypeKeyword)", 1600d02842fSSascha Wildner "Extended Memory Resource Descriptor macro"}, 1610d02842fSSascha Wildner {"ExtendedSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, " 1620d02842fSSascha Wildner "MinKeyword, MaxKeyword, TypeSpecificFlags, " 1630d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 1640d02842fSSascha Wildner "RangeLength, TypeSpecificAttributes, DescriptorName)", 1650d02842fSSascha Wildner "Extended Space Resource Descriptor macro"}, 1660d02842fSSascha Wildner {"External", "(ObjectName, ObjectTypeKeyword, ReturnType, ParameterTypes)", 1670d02842fSSascha Wildner "Declare external objects"}, 1680d02842fSSascha Wildner {"Fatal", "(Type, Code, Arg)", 1690d02842fSSascha Wildner "Fatal error check"}, 1700d02842fSSascha Wildner {"Field", "(RegionName, AccessTypeKeyword, LockRuleKeyword, " 1710d02842fSSascha Wildner "UpdateRuleKeyword) {FieldUnitList}", 1720d02842fSSascha Wildner "Declare fields of an operation region object"}, 1730d02842fSSascha Wildner {"FindSetLeftBit", "(Source, Result) => Integer", 1740d02842fSSascha Wildner "Index of first least significant bit set"}, 1750d02842fSSascha Wildner {"FindSetRightBit", "(Source, Result) => Integer", 1760d02842fSSascha Wildner "Index of first most significant bit set"}, 1775943f66cSSascha Wildner {"FixedDma", "(DmaRequestLine, Channel, TransferWidthKeyword, DescriptorName) => Buffer", 1780d02842fSSascha Wildner "Fixed DMA Resource Descriptor macro"}, 1795943f66cSSascha Wildner {"FixedIo", "(AddressBase, RangeLength, DescriptorName) => Buffer", 1800d02842fSSascha Wildner "Fixed I/O Resource Descriptor macro"}, 1815943f66cSSascha Wildner {"FromBcd", "(BcdValue, Result) => Integer", 1820d02842fSSascha Wildner "Convert from BCD to numeric"}, 1830d02842fSSascha Wildner {"Function", "(FunctionName, ReturnType, ParameterTypes) {TermList}", 1840d02842fSSascha Wildner "Declare control method"}, 1850d02842fSSascha Wildner {"GpioInt", "(InterruptTypeKeyword, InterruptLevelKeyword, " 1860d02842fSSascha Wildner "ShareTypeKeyword, PinConfigKeyword, " 1870d02842fSSascha Wildner "DebounceTimeout, ResourceSource, " 1880d02842fSSascha Wildner "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, " 1890d02842fSSascha Wildner "RawDataBuffer() {VendorData}) {Pin}", 1900d02842fSSascha Wildner "GPIO Interrupt Connection Resource Descriptor Macro"}, 1910d02842fSSascha Wildner {"GpioIo", "(ShareTypeKeyword, PinConfigKeyword, DebounceTimeout, DriveStrength, " 1920d02842fSSascha Wildner "IoRestrictionKeyword, ResourceSource, " 1930d02842fSSascha Wildner "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, " 1940d02842fSSascha Wildner "RawDataBuffer() {VendorData}) {PinList}", 1950d02842fSSascha Wildner "GPIO I/O Connection Resource Descriptor Macro"}, 196*0d27ae55SSascha Wildner {"I2cSerialBusV2", "(SlaveAddress, SlaveModeKeyword, ConnectionSpeed, " 1970d02842fSSascha Wildner "AddressingModeKeyword, ResourceSource, " 198*0d27ae55SSascha Wildner "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, " 1990d02842fSSascha Wildner "RawDataBuffer() {VendorData})", 2000d02842fSSascha Wildner "I2C Serial Bus Connection Resource Descriptor Macro"}, 2010d02842fSSascha Wildner {"If", "(Predicate) {TermList}", 2020d02842fSSascha Wildner "Conditional execution"}, 2030d02842fSSascha Wildner {"Include", "(FilePathName)", 2040d02842fSSascha Wildner "Include another ASL file"}, 2050d02842fSSascha Wildner {"Increment", "(Addend) => Integer", 2060d02842fSSascha Wildner "Increment a Integer"}, 2070d02842fSSascha Wildner {"Index", "(Source, Index, Destination) => ObjectReference", 2080d02842fSSascha Wildner "Indexed Reference to member object"}, 2090d02842fSSascha Wildner {"IndexField", "(IndexName, DataName, AccessTypeKeyword, LockRuleKeyword, " 2100d02842fSSascha Wildner "UpdateRuleKeyword) {FieldUnitList}", 2110d02842fSSascha Wildner "Declare Index/Data Fields"}, 2120d02842fSSascha Wildner {"Interrupt", "(ResourceTypeKeyword, InterruptTypeKeyword, InterruptLevelKeyword, " 2130d02842fSSascha Wildner "ShareTypeKeyword, ResourceSourceIndex, " 2140d02842fSSascha Wildner "ResourceSource, DescriptorName) {InterruptList} => Buffer", 2150d02842fSSascha Wildner "Interrupt Resource Descriptor macro"}, 2165943f66cSSascha Wildner {"Io", "(IoDecodeKeyword, AddressMin, AddressMax, AddressAlignment, " 2170d02842fSSascha Wildner "RangeLength, DescriptorName) => Buffer", 2185943f66cSSascha Wildner "I/O Resource Descriptor macro"}, 2195943f66cSSascha Wildner {"Irq", "(InterruptTypeKeyword, InterruptLevelKeyword, ShareTypeKeyword, " 2200d02842fSSascha Wildner "DescriptorName) {InterruptList} => Buffer", 2210d02842fSSascha Wildner "Interrupt Resource Descriptor macro"}, 2225943f66cSSascha Wildner {"IrqNoFlags", "(DescriptorName) {InterruptList} => Buffer", 2230d02842fSSascha Wildner "Short Interrupt Resource Descriptor macro"}, 2240d02842fSSascha Wildner {"LAnd", "(Source1, Source2) => Boolean", 2250d02842fSSascha Wildner "Logical And"}, 2260d02842fSSascha Wildner {"LEqual", "(Source1, Source2) => Boolean", 2270d02842fSSascha Wildner "Logical Equal"}, 2280d02842fSSascha Wildner {"LGreater", "(Source1, Source2) => Boolean", 2290d02842fSSascha Wildner "Logical Greater"}, 2300d02842fSSascha Wildner {"LGreaterEqual", "(Source1, Source2) => Boolean", 2310d02842fSSascha Wildner "Logical Not less"}, 2320d02842fSSascha Wildner {"LLess", "(Source1, Source2) => Boolean", 2330d02842fSSascha Wildner "Logical Less"}, 2340d02842fSSascha Wildner {"LLessEqual", "(Source1, Source2) => Boolean", 2350d02842fSSascha Wildner "Logical Not greater"}, 2360d02842fSSascha Wildner {"LNot", "(Source) => Boolean", 2370d02842fSSascha Wildner "Logical Not"}, 2380d02842fSSascha Wildner {"LNotEqual", "(Source1, Source2) => Boolean", 2390d02842fSSascha Wildner "Logical Not equal"}, 2400d02842fSSascha Wildner {"Load", "(Object, DDBHandle)", 2410d02842fSSascha Wildner "Load differentiating definition block"}, 2420d02842fSSascha Wildner {"LoadTable", "(SignatureString, OemIdString, OemTableIdString, RootPathString, " 2430d02842fSSascha Wildner "ParameterPathString, ParameterData) => DDBHandle", 2440d02842fSSascha Wildner "Load Table from RSDT/XSDT"}, 2450d02842fSSascha Wildner {"Local", "Local0 - Local7", 2460d02842fSSascha Wildner "Method local data objects"}, 2470d02842fSSascha Wildner {"LOr", "(Source1, Source2) => Boolean", 2480d02842fSSascha Wildner "Logical Or"}, 2490d02842fSSascha Wildner {"Match", "(SearchPackage, MatchOpKeyword, MatchObject1, MatchOpKeyword, " 2500d02842fSSascha Wildner "MatchObject2, StartIndex) => Ones | Integer", 2510d02842fSSascha Wildner "Search for match in package array"}, 2520d02842fSSascha Wildner {"Memory24", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, " 2530d02842fSSascha Wildner "RangeLength, DescriptorName)", 2540d02842fSSascha Wildner "Memory Resource Descriptor macro"}, 2550d02842fSSascha Wildner {"Memory32", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, " 2560d02842fSSascha Wildner "RangeLength, DescriptorName)", 2570d02842fSSascha Wildner "Memory Resource Descriptor macro"}, 2580d02842fSSascha Wildner {"Memory32Fixed", "(ReadWriteKeyword, AddressBase, RangeLength, DescriptorName)", 2590d02842fSSascha Wildner "Memory Resource Descriptor macro"}, 2600d02842fSSascha Wildner {"Method", "(MethodName, NumArgs, SerializeRuleKeyword, " 2610d02842fSSascha Wildner "SyncLevel, ReturnType, ParameterTypes) " 2620d02842fSSascha Wildner "{TermList}", 2630d02842fSSascha Wildner "Declare a control method"}, 2640d02842fSSascha Wildner {"Mid", "(Source, Index, Length, Result) => Buffer or String", 2650d02842fSSascha Wildner "Return a portion of buffer or string"}, 2660d02842fSSascha Wildner {"Mod", "(Dividend, Divisor, Result) => Integer", 2670d02842fSSascha Wildner "Integer Modulo"}, 2680d02842fSSascha Wildner {"Multiply", "(Multiplicand, Multiplier, Result) => Integer", 2690d02842fSSascha Wildner "Integer Multiply"}, 2700d02842fSSascha Wildner {"Mutex", "(MutexName, SyncLevel)", 2710d02842fSSascha Wildner "Declare a mutex synchronization object"}, 2720d02842fSSascha Wildner {"Name", "(ObjectName, Object)", 2730d02842fSSascha Wildner "Declare a Named object"}, 2740d02842fSSascha Wildner {"NAnd", "(Source1, Source2, Result) => Integer", 2750d02842fSSascha Wildner "Integer Bitwise Nand"}, 2760d02842fSSascha Wildner {"NoOp", "No parameters", 2770d02842fSSascha Wildner "No operation"}, 2780d02842fSSascha Wildner {"NOr", "(Source1, Source2, Result) => Integer", 2790d02842fSSascha Wildner "Integer Bitwise Nor"}, 2800d02842fSSascha Wildner {"Not", "(Source, Result) => Integer", 2810d02842fSSascha Wildner "Integer Bitwise Not"}, 2820d02842fSSascha Wildner {"Notify", "(Object, NotificationValue)", 2830d02842fSSascha Wildner "Notify Object of event"}, 2840d02842fSSascha Wildner {"ObjectType", "(Object) => Integer", 2850d02842fSSascha Wildner "Type of object"}, 2860d02842fSSascha Wildner {"Offset", "(ByteOffset)", 2870d02842fSSascha Wildner "Change Current Field Unit Offset"}, 2880d02842fSSascha Wildner {"One", "=> Integer", 2890d02842fSSascha Wildner "Constant One Object (1)"}, 2900d02842fSSascha Wildner {"Ones", "=> Integer", 2910d02842fSSascha Wildner "Constant Ones Object (0xFFFFFFFF or 0xFFFFFFFFFFFFFFFF)"}, 2920d02842fSSascha Wildner {"OperationRegion", "(RegionName, RegionSpaceKeyword, Offset, Length)", 2930d02842fSSascha Wildner "Declare an operational region"}, 2940d02842fSSascha Wildner {"Or", "(Source1, Source2, Result) => Integer", 2950d02842fSSascha Wildner "Integer Bitwise Or"}, 2960d02842fSSascha Wildner {"Package", "(NumElements) {PackageList} => Package", 2970d02842fSSascha Wildner "Declare a package object"}, 298*0d27ae55SSascha Wildner {"PowerResource", "(ResourceName, SystemLevel, ResourceOrder) {TermList}", 2990d02842fSSascha Wildner "Declare a power resource object"}, 300*0d27ae55SSascha Wildner {"Processor", "(ProcessorName, ProcessorID, PBlockAddress, PblockLength) {TermList}", 3010d02842fSSascha Wildner "Declare a processor package"}, 3025943f66cSSascha Wildner {"QWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, " 3030d02842fSSascha Wildner "RangeTypeKeyword, AddressGranularity, " 3040d02842fSSascha Wildner "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, " 3050d02842fSSascha Wildner "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, " 3060d02842fSSascha Wildner "TranslationKeyword)", 3075943f66cSSascha Wildner "QWord I/O Resource Descriptor macro"}, 3080d02842fSSascha Wildner {"QWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, MaxKeyword, " 3090d02842fSSascha Wildner "MemTypeKeyword, ReadWriteKeyword, " 3100d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 3110d02842fSSascha Wildner "RangeLength, ResourceSourceIndex, ResourceSource, " 3120d02842fSSascha Wildner "DescriptorName, AddressKeyword, " 3130d02842fSSascha Wildner "TypeKeyword)", 3140d02842fSSascha Wildner "QWord Memory Resource Descriptor macro"}, 3150d02842fSSascha Wildner {"QWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, " 3160d02842fSSascha Wildner "MinKeyword, MaxKeyword, TypeSpecificFlags, " 3170d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 3180d02842fSSascha Wildner "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)", 3190d02842fSSascha Wildner "Qword Space Resource Descriptor macro"}, 3200d02842fSSascha Wildner {"RawDataBuffer", "(BufferSize) {ByteList} => RawDataBuffer", 3210d02842fSSascha Wildner "Create a raw data buffer (does not use Buffer AML opcode)"}, 3220d02842fSSascha Wildner {"RefOf", "(Object) => ObjectReference", 3230d02842fSSascha Wildner "Create Reference to an object"}, 3240d02842fSSascha Wildner {"Register", "(AddressSpaceKeyword, RegisterBitWidth, " 3250d02842fSSascha Wildner "RegisterBitOffset, RegisterAddress, " 3260d02842fSSascha Wildner "AccessSize, DescriptorName)", 3270d02842fSSascha Wildner "Generic register Resource Descriptor macro"}, 3280d02842fSSascha Wildner {"Release", "(SyncObject)", 3290d02842fSSascha Wildner "Release a synchronization object"}, 3300d02842fSSascha Wildner {"Reset", "(SyncObject)", 3310d02842fSSascha Wildner "Reset a synchronization object"}, 3320d02842fSSascha Wildner {"ResourceTemplate", "() {ResourceMacroList} => Buffer", 3330d02842fSSascha Wildner "Resource to buffer conversion macro"}, 3340d02842fSSascha Wildner {"Return", "None | () | (ReturnArg)", 3350d02842fSSascha Wildner "Return from method execution"}, 3360d02842fSSascha Wildner {"Revision", "=> Integer", 3370d02842fSSascha Wildner "Constant revision object"}, 338*0d27ae55SSascha Wildner {"Scope", "(Location) {TermList}", 3390d02842fSSascha Wildner "Open named scope "}, 3400d02842fSSascha Wildner {"ShiftLeft", "(Source, ShiftCount, Result) => Integer", 3410d02842fSSascha Wildner "Integer shift value left"}, 3420d02842fSSascha Wildner {"ShiftRight", "(Source, ShiftCount, Result) => Integer", 3430d02842fSSascha Wildner "Integer shift value right"}, 3440d02842fSSascha Wildner {"Signal", "(SyncObject)", 3450d02842fSSascha Wildner "Signal a synchronization object"}, 3460d02842fSSascha Wildner {"SizeOf", "(ObjectName) => Integer", 3470d02842fSSascha Wildner "Get the size of a buffer}, string}, or package"}, 3480d02842fSSascha Wildner {"Sleep", "(Milliseconds)", 3490d02842fSSascha Wildner "Sleep n milliseconds (yields the processor)"}, 350*0d27ae55SSascha Wildner {"SpiSerialBusV2", "(DeviceSelection, PolarityKeyword, WireModeKeyword, " 3510d02842fSSascha Wildner "DataBitLength, SlaveModeKeyword, " 3520d02842fSSascha Wildner "ConnectionSpeed, ClockPolarityKeyword, ClockPhaseKeyword, " 3530d02842fSSascha Wildner "ResourceSource, ResourceSourceIndex, " 354*0d27ae55SSascha Wildner "ResourceTypeKeyword, DescriptorName, Shared, RawDataBuffer() {VendorData})", 3550d02842fSSascha Wildner "SPI Serial Bus Connection Resource Descriptor Macro"}, 3560d02842fSSascha Wildner {"Stall", "(Microseconds)", 3570d02842fSSascha Wildner "Delay n microseconds (does not yield the processor)"}, 3580d02842fSSascha Wildner {"StartDependentFn", "(CompatibilityPriority, PerformancePriority) {ResourceList}", 3590d02842fSSascha Wildner "Start Dependent Function Resource Descriptor macro"}, 3600d02842fSSascha Wildner {"StartDependentFnNoPri", "() {ResourceList}", 3610d02842fSSascha Wildner "Start Dependent Function Resource Descriptor macro"}, 3620d02842fSSascha Wildner {"Store", "(Source, Destination) => DataRefObject", 3630d02842fSSascha Wildner "Store object"}, 3640d02842fSSascha Wildner {"Subtract", "(Minuend, Subtrahend, Result) => Integer", 3650d02842fSSascha Wildner "Integer Subtract"}, 3660d02842fSSascha Wildner {"Switch", "(Expression) {CaseTermList}", 3670d02842fSSascha Wildner "Select code to execute based on expression value"}, 368*0d27ae55SSascha Wildner {"ThermalZone", "(ThermalZoneName) {TermList}", 3690d02842fSSascha Wildner "Declare a thermal zone package"}, 3700d02842fSSascha Wildner {"Timer", "=> Integer", 3710d02842fSSascha Wildner "Get 64-bit timer value"}, 3725943f66cSSascha Wildner {"ToBcd", "(Value, Result) => Integer", 3730d02842fSSascha Wildner "Convert Integer to BCD"}, 3740d02842fSSascha Wildner {"ToBuffer", "(Data, Result) => Buffer", 3750d02842fSSascha Wildner "Convert data type to buffer"}, 3760d02842fSSascha Wildner {"ToDecimalString", "(Data, Result) => String", 3770d02842fSSascha Wildner "Convert data type to decimal string"}, 3780d02842fSSascha Wildner {"ToHexString", "(Data, Result) => String", 3790d02842fSSascha Wildner "Convert data type to hexadecimal string"}, 3800d02842fSSascha Wildner {"ToInteger", "(Data, Result) => Integer", 3810d02842fSSascha Wildner "Convert data type to integer"}, 3820d02842fSSascha Wildner {"ToString", "(Source, Length, Result) => String", 3830d02842fSSascha Wildner "Copy ASCII string from buffer"}, 3845943f66cSSascha Wildner {"ToUuid", "(AsciiString) => Buffer", 3850d02842fSSascha Wildner "Convert Ascii string to UUID"}, 386*0d27ae55SSascha Wildner {"UartSerialBusV2", "(ConnectionSpeed, ByteLengthKeyword, StopBitsKeyword, " 3870d02842fSSascha Wildner "LinesInUse, EndianKeyword, ParityKeyword, " 3880d02842fSSascha Wildner "FlowControlKeyword, ReceiveBufferSize, TransmitBufferSize, ResourceSource, " 389*0d27ae55SSascha Wildner "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, " 3900d02842fSSascha Wildner "RawDataBuffer() {VendorData})", 3910d02842fSSascha Wildner "UART Serial Bus Connection Resource Descriptor Macro"}, 3920d02842fSSascha Wildner {"Unicode", "(String) => Buffer", 3930d02842fSSascha Wildner "String to Unicode conversion macro"}, 3940d02842fSSascha Wildner {"Unload", "(Handle)", 3950d02842fSSascha Wildner "Unload definition block"}, 3960d02842fSSascha Wildner {"VendorLong", "(DescriptorName) {VendorByteList}", 3970d02842fSSascha Wildner "Vendor Resource Descriptor"}, 3980d02842fSSascha Wildner {"VendorShort", "(DescriptorName) {VendorByteList}", 3990d02842fSSascha Wildner "Vendor Resource Descriptor"}, 4000d02842fSSascha Wildner {"Wait", "(SyncObject, TimeoutValue) => Boolean", 4010d02842fSSascha Wildner "Wait on an Event"}, 4020d02842fSSascha Wildner {"While", "(Predicate) {TermList}", 4030d02842fSSascha Wildner "Conditional loop"}, 4040d02842fSSascha Wildner {"WordBusNumber", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, " 4050d02842fSSascha Wildner "AddressGranularity, AddressMinimum, " 4060d02842fSSascha Wildner "AddressMaximum, AddressTranslation, RangeLength, ResourceSourceIndex, " 4070d02842fSSascha Wildner "ResourceSource, DescriptorName)", 4080d02842fSSascha Wildner "Word Bus number Resource Descriptor macro"}, 4095943f66cSSascha Wildner {"WordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, " 4100d02842fSSascha Wildner "RangeTypeKeyword, AddressGranularity, " 4110d02842fSSascha Wildner "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, " 4120d02842fSSascha Wildner "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, " 4130d02842fSSascha Wildner "TranslationKeyword)", 4145943f66cSSascha Wildner "Word I/O Resource Descriptor macro"}, 4150d02842fSSascha Wildner {"WordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, MinKeyword, " 4160d02842fSSascha Wildner "MaxKeyword, TypeSpecificFlags, " 4170d02842fSSascha Wildner "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, " 4180d02842fSSascha Wildner "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)", 4190d02842fSSascha Wildner "Word Space Resource Descriptor macro"}, 4205943f66cSSascha Wildner {"Xor", "(Source1, Source2, Result) => Integer", 4210d02842fSSascha Wildner "Integer Bitwise Xor"}, 4220d02842fSSascha Wildner {"Zero", "=> Integer", 4230d02842fSSascha Wildner "Constant Zero object (0)"}, 4240d02842fSSascha Wildner {NULL, NULL, NULL} 4250d02842fSSascha Wildner }; 426