| 1 | /****************************************************************************** |
| 2 | * |
| 3 | * Module Name: psopcode - Parser/Interpreter opcode information table |
| 4 | * |
| 5 | *****************************************************************************/ |
| 6 | |
| 7 | /* |
| 8 | * Copyright (C) 2000 - 2016, 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 "acpi.h" |
| 45 | #include "accommon.h" |
| 46 | #include "acopcode.h" |
| 47 | #include "amlcode.h" |
| 48 | |
| 49 | |
| 50 | #define _COMPONENT ACPI_PARSER |
| 51 | ACPI_MODULE_NAME ("psopcode" ) |
| 52 | |
| 53 | |
| 54 | /******************************************************************************* |
| 55 | * |
| 56 | * NAME: AcpiGbl_AmlOpInfo |
| 57 | * |
| 58 | * DESCRIPTION: Opcode table. Each entry contains <opcode, type, name, operands> |
| 59 | * The name is a simple ascii string, the operand specifier is an |
| 60 | * ascii string with one letter per operand. The letter specifies |
| 61 | * the operand type. |
| 62 | * |
| 63 | ******************************************************************************/ |
| 64 | |
| 65 | /* |
| 66 | * Summary of opcode types/flags |
| 67 | * |
| 68 | |
| 69 | Opcodes that have associated namespace objects (AML_NSOBJECT flag) |
| 70 | |
| 71 | AML_SCOPE_OP |
| 72 | AML_DEVICE_OP |
| 73 | AML_THERMAL_ZONE_OP |
| 74 | AML_METHOD_OP |
| 75 | AML_POWER_RES_OP |
| 76 | AML_PROCESSOR_OP |
| 77 | AML_FIELD_OP |
| 78 | AML_INDEX_FIELD_OP |
| 79 | AML_BANK_FIELD_OP |
| 80 | AML_NAME_OP |
| 81 | AML_ALIAS_OP |
| 82 | AML_MUTEX_OP |
| 83 | AML_EVENT_OP |
| 84 | AML_REGION_OP |
| 85 | AML_CREATE_FIELD_OP |
| 86 | AML_CREATE_BIT_FIELD_OP |
| 87 | AML_CREATE_BYTE_FIELD_OP |
| 88 | AML_CREATE_WORD_FIELD_OP |
| 89 | AML_CREATE_DWORD_FIELD_OP |
| 90 | AML_CREATE_QWORD_FIELD_OP |
| 91 | AML_INT_NAMEDFIELD_OP |
| 92 | AML_INT_METHODCALL_OP |
| 93 | AML_INT_NAMEPATH_OP |
| 94 | |
| 95 | Opcodes that are "namespace" opcodes (AML_NSOPCODE flag) |
| 96 | |
| 97 | AML_SCOPE_OP |
| 98 | AML_DEVICE_OP |
| 99 | AML_THERMAL_ZONE_OP |
| 100 | AML_METHOD_OP |
| 101 | AML_POWER_RES_OP |
| 102 | AML_PROCESSOR_OP |
| 103 | AML_FIELD_OP |
| 104 | AML_INDEX_FIELD_OP |
| 105 | AML_BANK_FIELD_OP |
| 106 | AML_NAME_OP |
| 107 | AML_ALIAS_OP |
| 108 | AML_MUTEX_OP |
| 109 | AML_EVENT_OP |
| 110 | AML_REGION_OP |
| 111 | AML_INT_NAMEDFIELD_OP |
| 112 | |
| 113 | Opcodes that have an associated namespace node (AML_NSNODE flag) |
| 114 | |
| 115 | AML_SCOPE_OP |
| 116 | AML_DEVICE_OP |
| 117 | AML_THERMAL_ZONE_OP |
| 118 | AML_METHOD_OP |
| 119 | AML_POWER_RES_OP |
| 120 | AML_PROCESSOR_OP |
| 121 | AML_NAME_OP |
| 122 | AML_ALIAS_OP |
| 123 | AML_MUTEX_OP |
| 124 | AML_EVENT_OP |
| 125 | AML_REGION_OP |
| 126 | AML_CREATE_FIELD_OP |
| 127 | AML_CREATE_BIT_FIELD_OP |
| 128 | AML_CREATE_BYTE_FIELD_OP |
| 129 | AML_CREATE_WORD_FIELD_OP |
| 130 | AML_CREATE_DWORD_FIELD_OP |
| 131 | AML_CREATE_QWORD_FIELD_OP |
| 132 | AML_INT_NAMEDFIELD_OP |
| 133 | AML_INT_METHODCALL_OP |
| 134 | AML_INT_NAMEPATH_OP |
| 135 | |
| 136 | Opcodes that define named ACPI objects (AML_NAMED flag) |
| 137 | |
| 138 | AML_SCOPE_OP |
| 139 | AML_DEVICE_OP |
| 140 | AML_THERMAL_ZONE_OP |
| 141 | AML_METHOD_OP |
| 142 | AML_POWER_RES_OP |
| 143 | AML_PROCESSOR_OP |
| 144 | AML_NAME_OP |
| 145 | AML_ALIAS_OP |
| 146 | AML_MUTEX_OP |
| 147 | AML_EVENT_OP |
| 148 | AML_REGION_OP |
| 149 | AML_INT_NAMEDFIELD_OP |
| 150 | |
| 151 | Opcodes that contain executable AML as part of the definition that |
| 152 | must be deferred until needed |
| 153 | |
| 154 | AML_METHOD_OP |
| 155 | AML_VAR_PACKAGE_OP |
| 156 | AML_CREATE_FIELD_OP |
| 157 | AML_CREATE_BIT_FIELD_OP |
| 158 | AML_CREATE_BYTE_FIELD_OP |
| 159 | AML_CREATE_WORD_FIELD_OP |
| 160 | AML_CREATE_DWORD_FIELD_OP |
| 161 | AML_CREATE_QWORD_FIELD_OP |
| 162 | AML_REGION_OP |
| 163 | AML_BUFFER_OP |
| 164 | |
| 165 | Field opcodes |
| 166 | |
| 167 | AML_CREATE_FIELD_OP |
| 168 | AML_FIELD_OP |
| 169 | AML_INDEX_FIELD_OP |
| 170 | AML_BANK_FIELD_OP |
| 171 | |
| 172 | Field "Create" opcodes |
| 173 | |
| 174 | AML_CREATE_FIELD_OP |
| 175 | AML_CREATE_BIT_FIELD_OP |
| 176 | AML_CREATE_BYTE_FIELD_OP |
| 177 | AML_CREATE_WORD_FIELD_OP |
| 178 | AML_CREATE_DWORD_FIELD_OP |
| 179 | AML_CREATE_QWORD_FIELD_OP |
| 180 | |
| 181 | ******************************************************************************/ |
| 182 | |
| 183 | |
| 184 | /* |
| 185 | * Master Opcode information table. A summary of everything we know about each |
| 186 | * opcode, all in one place. |
| 187 | */ |
| 188 | const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES] = |
| 189 | { |
| 190 | /*! [Begin] no source code translation */ |
| 191 | /* Index Name Parser Args Interpreter Args ObjectType Class Type Flags */ |
| 192 | |
| 193 | /* 00 */ ACPI_OP ("Zero" , ARGP_ZERO_OP, ARGI_ZERO_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT), |
| 194 | /* 01 */ ACPI_OP ("One" , ARGP_ONE_OP, ARGI_ONE_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT), |
| 195 | /* 02 */ ACPI_OP ("Alias" , ARGP_ALIAS_OP, ARGI_ALIAS_OP, ACPI_TYPE_LOCAL_ALIAS, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 196 | /* 03 */ ACPI_OP ("Name" , ARGP_NAME_OP, ARGI_NAME_OP, ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 197 | /* 04 */ ACPI_OP ("ByteConst" , ARGP_BYTE_OP, ARGI_BYTE_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), |
| 198 | /* 05 */ ACPI_OP ("WordConst" , ARGP_WORD_OP, ARGI_WORD_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), |
| 199 | /* 06 */ ACPI_OP ("DwordConst" , ARGP_DWORD_OP, ARGI_DWORD_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), |
| 200 | /* 07 */ ACPI_OP ("String" , ARGP_STRING_OP, ARGI_STRING_OP, ACPI_TYPE_STRING, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), |
| 201 | /* 08 */ ACPI_OP ("Scope" , ARGP_SCOPE_OP, ARGI_SCOPE_OP, ACPI_TYPE_LOCAL_SCOPE, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_NO_OBJ, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 202 | /* 09 */ ACPI_OP ("Buffer" , ARGP_BUFFER_OP, ARGI_BUFFER_OP, ACPI_TYPE_BUFFER, AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT, AML_HAS_ARGS | AML_DEFER | AML_CONSTANT), |
| 203 | /* 0A */ ACPI_OP ("Package" , ARGP_PACKAGE_OP, ARGI_PACKAGE_OP, ACPI_TYPE_PACKAGE, AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT, AML_HAS_ARGS | AML_DEFER | AML_CONSTANT), |
| 204 | /* 0B */ ACPI_OP ("Method" , ARGP_METHOD_OP, ARGI_METHOD_OP, ACPI_TYPE_METHOD, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED | AML_DEFER), |
| 205 | /* 0C */ ACPI_OP ("Local0" , ARGP_LOCAL0, ARGI_LOCAL0, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 206 | /* 0D */ ACPI_OP ("Local1" , ARGP_LOCAL1, ARGI_LOCAL1, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 207 | /* 0E */ ACPI_OP ("Local2" , ARGP_LOCAL2, ARGI_LOCAL2, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 208 | /* 0F */ ACPI_OP ("Local3" , ARGP_LOCAL3, ARGI_LOCAL3, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 209 | /* 10 */ ACPI_OP ("Local4" , ARGP_LOCAL4, ARGI_LOCAL4, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 210 | /* 11 */ ACPI_OP ("Local5" , ARGP_LOCAL5, ARGI_LOCAL5, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 211 | /* 12 */ ACPI_OP ("Local6" , ARGP_LOCAL6, ARGI_LOCAL6, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 212 | /* 13 */ ACPI_OP ("Local7" , ARGP_LOCAL7, ARGI_LOCAL7, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LOCAL_VARIABLE, 0), |
| 213 | /* 14 */ ACPI_OP ("Arg0" , ARGP_ARG0, ARGI_ARG0, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 214 | /* 15 */ ACPI_OP ("Arg1" , ARGP_ARG1, ARGI_ARG1, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 215 | /* 16 */ ACPI_OP ("Arg2" , ARGP_ARG2, ARGI_ARG2, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 216 | /* 17 */ ACPI_OP ("Arg3" , ARGP_ARG3, ARGI_ARG3, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 217 | /* 18 */ ACPI_OP ("Arg4" , ARGP_ARG4, ARGI_ARG4, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 218 | /* 19 */ ACPI_OP ("Arg5" , ARGP_ARG5, ARGI_ARG5, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 219 | /* 1A */ ACPI_OP ("Arg6" , ARGP_ARG6, ARGI_ARG6, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_METHOD_ARGUMENT, 0), |
| 220 | /* 1B */ ACPI_OP ("Store" , ARGP_STORE_OP, ARGI_STORE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R), |
| 221 | /* 1C */ ACPI_OP ("RefOf" , ARGP_REF_OF_OP, ARGI_REF_OF_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R), |
| 222 | /* 1D */ ACPI_OP ("Add" , ARGP_ADD_OP, ARGI_ADD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 223 | /* 1E */ ACPI_OP ("Concatenate" , ARGP_CONCAT_OP, ARGI_CONCAT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), |
| 224 | /* 1F */ ACPI_OP ("Subtract" , ARGP_SUBTRACT_OP, ARGI_SUBTRACT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 225 | /* 20 */ ACPI_OP ("Increment" , ARGP_INCREMENT_OP, ARGI_INCREMENT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT), |
| 226 | /* 21 */ ACPI_OP ("Decrement" , ARGP_DECREMENT_OP, ARGI_DECREMENT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT), |
| 227 | /* 22 */ ACPI_OP ("Multiply" , ARGP_MULTIPLY_OP, ARGI_MULTIPLY_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 228 | /* 23 */ ACPI_OP ("Divide" , ARGP_DIVIDE_OP, ARGI_DIVIDE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_2T_1R, AML_FLAGS_EXEC_2A_2T_1R | AML_CONSTANT), |
| 229 | /* 24 */ ACPI_OP ("ShiftLeft" , ARGP_SHIFT_LEFT_OP, ARGI_SHIFT_LEFT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 230 | /* 25 */ ACPI_OP ("ShiftRight" , ARGP_SHIFT_RIGHT_OP, ARGI_SHIFT_RIGHT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 231 | /* 26 */ ACPI_OP ("And" , ARGP_BIT_AND_OP, ARGI_BIT_AND_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 232 | /* 27 */ ACPI_OP ("NAnd" , ARGP_BIT_NAND_OP, ARGI_BIT_NAND_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 233 | /* 28 */ ACPI_OP ("Or" , ARGP_BIT_OR_OP, ARGI_BIT_OR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 234 | /* 29 */ ACPI_OP ("NOr" , ARGP_BIT_NOR_OP, ARGI_BIT_NOR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 235 | /* 2A */ ACPI_OP ("XOr" , ARGP_BIT_XOR_OP, ARGI_BIT_XOR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT), |
| 236 | /* 2B */ ACPI_OP ("Not" , ARGP_BIT_NOT_OP, ARGI_BIT_NOT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 237 | /* 2C */ ACPI_OP ("FindSetLeftBit" , ARGP_FIND_SET_LEFT_BIT_OP, ARGI_FIND_SET_LEFT_BIT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 238 | /* 2D */ ACPI_OP ("FindSetRightBit" , ARGP_FIND_SET_RIGHT_BIT_OP,ARGI_FIND_SET_RIGHT_BIT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 239 | /* 2E */ ACPI_OP ("DerefOf" , ARGP_DEREF_OF_OP, ARGI_DEREF_OF_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R), |
| 240 | /* 2F */ ACPI_OP ("Notify" , ARGP_NOTIFY_OP, ARGI_NOTIFY_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_0R, AML_FLAGS_EXEC_2A_0T_0R), |
| 241 | /* 30 */ ACPI_OP ("SizeOf" , ARGP_SIZE_OF_OP, ARGI_SIZE_OF_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE), |
| 242 | /* 31 */ ACPI_OP ("Index" , ARGP_INDEX_OP, ARGI_INDEX_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R), |
| 243 | /* 32 */ ACPI_OP ("Match" , ARGP_MATCH_OP, ARGI_MATCH_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_6A_0T_1R, AML_FLAGS_EXEC_6A_0T_1R | AML_CONSTANT), |
| 244 | /* 33 */ ACPI_OP ("CreateDWordField" , ARGP_CREATE_DWORD_FIELD_OP,ARGI_CREATE_DWORD_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE), |
| 245 | /* 34 */ ACPI_OP ("CreateWordField" , ARGP_CREATE_WORD_FIELD_OP, ARGI_CREATE_WORD_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE), |
| 246 | /* 35 */ ACPI_OP ("CreateByteField" , ARGP_CREATE_BYTE_FIELD_OP, ARGI_CREATE_BYTE_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE), |
| 247 | /* 36 */ ACPI_OP ("CreateBitField" , ARGP_CREATE_BIT_FIELD_OP, ARGI_CREATE_BIT_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE), |
| 248 | /* 37 */ ACPI_OP ("ObjectType" , ARGP_OBJECT_TYPE_OP, ARGI_OBJECT_TYPE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE), |
| 249 | /* 38 */ ACPI_OP ("LAnd" , ARGP_LAND_OP, ARGI_LAND_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC | AML_CONSTANT), |
| 250 | /* 39 */ ACPI_OP ("LOr" , ARGP_LOR_OP, ARGI_LOR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC | AML_CONSTANT), |
| 251 | /* 3A */ ACPI_OP ("LNot" , ARGP_LNOT_OP, ARGI_LNOT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT), |
| 252 | /* 3B */ ACPI_OP ("LEqual" , ARGP_LEQUAL_OP, ARGI_LEQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT), |
| 253 | /* 3C */ ACPI_OP ("LGreater" , ARGP_LGREATER_OP, ARGI_LGREATER_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT), |
| 254 | /* 3D */ ACPI_OP ("LLess" , ARGP_LLESS_OP, ARGI_LLESS_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT), |
| 255 | /* 3E */ ACPI_OP ("If" , ARGP_IF_OP, ARGI_IF_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS), |
| 256 | /* 3F */ ACPI_OP ("Else" , ARGP_ELSE_OP, ARGI_ELSE_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS), |
| 257 | /* 40 */ ACPI_OP ("While" , ARGP_WHILE_OP, ARGI_WHILE_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS), |
| 258 | /* 41 */ ACPI_OP ("Noop" , ARGP_NOOP_OP, ARGI_NOOP_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0), |
| 259 | /* 42 */ ACPI_OP ("Return" , ARGP_RETURN_OP, ARGI_RETURN_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS), |
| 260 | /* 43 */ ACPI_OP ("Break" , ARGP_BREAK_OP, ARGI_BREAK_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0), |
| 261 | /* 44 */ ACPI_OP ("BreakPoint" , ARGP_BREAK_POINT_OP, ARGI_BREAK_POINT_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0), |
| 262 | /* 45 */ ACPI_OP ("Ones" , ARGP_ONES_OP, ARGI_ONES_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT), |
| 263 | |
| 264 | /* Prefixed opcodes (Two-byte opcodes with a prefix op) */ |
| 265 | |
| 266 | /* 46 */ ACPI_OP ("Mutex" , ARGP_MUTEX_OP, ARGI_MUTEX_OP, ACPI_TYPE_MUTEX, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 267 | /* 47 */ ACPI_OP ("Event" , ARGP_EVENT_OP, ARGI_EVENT_OP, ACPI_TYPE_EVENT, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ), |
| 268 | /* 48 */ ACPI_OP ("CondRefOf" , ARGP_COND_REF_OF_OP, ARGI_COND_REF_OF_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R), |
| 269 | /* 49 */ ACPI_OP ("CreateField" , ARGP_CREATE_FIELD_OP, ARGI_CREATE_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_FIELD | AML_CREATE), |
| 270 | /* 4A */ ACPI_OP ("Load" , ARGP_LOAD_OP, ARGI_LOAD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_0R, AML_FLAGS_EXEC_1A_1T_0R), |
| 271 | /* 4B */ ACPI_OP ("Stall" , ARGP_STALL_OP, ARGI_STALL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 272 | /* 4C */ ACPI_OP ("Sleep" , ARGP_SLEEP_OP, ARGI_SLEEP_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 273 | /* 4D */ ACPI_OP ("Acquire" , ARGP_ACQUIRE_OP, ARGI_ACQUIRE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R), |
| 274 | /* 4E */ ACPI_OP ("Signal" , ARGP_SIGNAL_OP, ARGI_SIGNAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 275 | /* 4F */ ACPI_OP ("Wait" , ARGP_WAIT_OP, ARGI_WAIT_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R), |
| 276 | /* 50 */ ACPI_OP ("Reset" , ARGP_RESET_OP, ARGI_RESET_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 277 | /* 51 */ ACPI_OP ("Release" , ARGP_RELEASE_OP, ARGI_RELEASE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 278 | /* 52 */ ACPI_OP ("FromBCD" , ARGP_FROM_BCD_OP, ARGI_FROM_BCD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 279 | /* 53 */ ACPI_OP ("ToBCD" , ARGP_TO_BCD_OP, ARGI_TO_BCD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 280 | /* 54 */ ACPI_OP ("Unload" , ARGP_UNLOAD_OP, ARGI_UNLOAD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), |
| 281 | /* 55 */ ACPI_OP ("Revision" , ARGP_REVISION_OP, ARGI_REVISION_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, 0), |
| 282 | /* 56 */ ACPI_OP ("Debug" , ARGP_DEBUG_OP, ARGI_DEBUG_OP, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, 0), |
| 283 | /* 57 */ ACPI_OP ("Fatal" , ARGP_FATAL_OP, ARGI_FATAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_3A_0T_0R, AML_FLAGS_EXEC_3A_0T_0R), |
| 284 | /* 58 */ ACPI_OP ("OperationRegion" , ARGP_REGION_OP, ARGI_REGION_OP, ACPI_TYPE_REGION, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED | AML_DEFER), |
| 285 | /* 59 */ ACPI_OP ("Field" , ARGP_FIELD_OP, ARGI_FIELD_OP, ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD), |
| 286 | /* 5A */ ACPI_OP ("Device" , ARGP_DEVICE_OP, ARGI_DEVICE_OP, ACPI_TYPE_DEVICE, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_NO_OBJ, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 287 | /* 5B */ ACPI_OP ("Processor" , ARGP_PROCESSOR_OP, ARGI_PROCESSOR_OP, ACPI_TYPE_PROCESSOR, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 288 | /* 5C */ ACPI_OP ("PowerResource" , ARGP_POWER_RES_OP, ARGI_POWER_RES_OP, ACPI_TYPE_POWER, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 289 | /* 5D */ ACPI_OP ("ThermalZone" , ARGP_THERMAL_ZONE_OP, ARGI_THERMAL_ZONE_OP, ACPI_TYPE_THERMAL, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_NO_OBJ, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED), |
| 290 | /* 5E */ ACPI_OP ("IndexField" , ARGP_INDEX_FIELD_OP, ARGI_INDEX_FIELD_OP, ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD), |
| 291 | /* 5F */ ACPI_OP ("BankField" , ARGP_BANK_FIELD_OP, ARGI_BANK_FIELD_OP, ACPI_TYPE_LOCAL_BANK_FIELD, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD | AML_DEFER), |
| 292 | |
| 293 | /* Internal opcodes that map to invalid AML opcodes */ |
| 294 | |
| 295 | /* 60 */ ACPI_OP ("LNotEqual" , ARGP_LNOTEQUAL_OP, ARGI_LNOTEQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT), |
| 296 | /* 61 */ ACPI_OP ("LLessEqual" , ARGP_LLESSEQUAL_OP, ARGI_LLESSEQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT), |
| 297 | /* 62 */ ACPI_OP ("LGreaterEqual" , ARGP_LGREATEREQUAL_OP, ARGI_LGREATEREQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT), |
| 298 | /* 63 */ ACPI_OP ("-NamePath-" , ARGP_NAMEPATH_OP, ARGI_NAMEPATH_OP, ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_NSOBJECT | AML_NSNODE ), |
| 299 | /* 64 */ ACPI_OP ("-MethodCall-" , ARGP_METHODCALL_OP, ARGI_METHODCALL_OP, ACPI_TYPE_METHOD, AML_CLASS_METHOD_CALL, AML_TYPE_METHOD_CALL, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE), |
| 300 | /* 65 */ ACPI_OP ("-ByteList-" , ARGP_BYTELIST_OP, ARGI_BYTELIST_OP, ACPI_TYPE_ANY, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, 0), |
| 301 | /* 66 */ ACPI_OP ("-ReservedField-" , ARGP_RESERVEDFIELD_OP, ARGI_RESERVEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0), |
| 302 | /* 67 */ ACPI_OP ("-NamedField-" , ARGP_NAMEDFIELD_OP, ARGI_NAMEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ), |
| 303 | /* 68 */ ACPI_OP ("-AccessField-" , ARGP_ACCESSFIELD_OP, ARGI_ACCESSFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0), |
| 304 | /* 69 */ ACPI_OP ("-StaticString" , ARGP_STATICSTRING_OP, ARGI_STATICSTRING_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0), |
| 305 | /* 6A */ ACPI_OP ("-Return Value-" , ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_RETURN_VALUE, AML_TYPE_RETURN, AML_HAS_ARGS | AML_HAS_RETVAL), |
| 306 | /* 6B */ ACPI_OP ("-UNKNOWN_OP-" , ARG_NONE, ARG_NONE, ACPI_TYPE_INVALID, AML_CLASS_UNKNOWN, AML_TYPE_BOGUS, AML_HAS_ARGS), |
| 307 | /* 6C */ ACPI_OP ("-ASCII_ONLY-" , ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_ASCII, AML_TYPE_BOGUS, AML_HAS_ARGS), |
| 308 | /* 6D */ ACPI_OP ("-PREFIX_ONLY-" , ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_PREFIX, AML_TYPE_BOGUS, AML_HAS_ARGS), |
| 309 | |
| 310 | /* ACPI 2.0 opcodes */ |
| 311 | |
| 312 | /* 6E */ ACPI_OP ("QwordConst" , ARGP_QWORD_OP, ARGI_QWORD_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), |
| 313 | /* 6F */ ACPI_OP ("Package" , /* Var */ ARGP_VAR_PACKAGE_OP, ARGI_VAR_PACKAGE_OP, ACPI_TYPE_PACKAGE, AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT, AML_HAS_ARGS | AML_DEFER), |
| 314 | /* 70 */ ACPI_OP ("ConcatenateResTemplate" , ARGP_CONCAT_RES_OP, ARGI_CONCAT_RES_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), |
| 315 | /* 71 */ ACPI_OP ("Mod" , ARGP_MOD_OP, ARGI_MOD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), |
| 316 | /* 72 */ ACPI_OP ("CreateQWordField" , ARGP_CREATE_QWORD_FIELD_OP,ARGI_CREATE_QWORD_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE), |
| 317 | /* 73 */ ACPI_OP ("ToBuffer" , ARGP_TO_BUFFER_OP, ARGI_TO_BUFFER_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 318 | /* 74 */ ACPI_OP ("ToDecimalString" , ARGP_TO_DEC_STR_OP, ARGI_TO_DEC_STR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 319 | /* 75 */ ACPI_OP ("ToHexString" , ARGP_TO_HEX_STR_OP, ARGI_TO_HEX_STR_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 320 | /* 76 */ ACPI_OP ("ToInteger" , ARGP_TO_INTEGER_OP, ARGI_TO_INTEGER_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT), |
| 321 | /* 77 */ ACPI_OP ("ToString" , ARGP_TO_STRING_OP, ARGI_TO_STRING_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), |
| 322 | /* 78 */ ACPI_OP ("CopyObject" , ARGP_COPY_OP, ARGI_COPY_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R), |
| 323 | /* 79 */ ACPI_OP ("Mid" , ARGP_MID_OP, ARGI_MID_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_3A_1T_1R, AML_FLAGS_EXEC_3A_1T_1R | AML_CONSTANT), |
| 324 | /* 7A */ ACPI_OP ("Continue" , ARGP_CONTINUE_OP, ARGI_CONTINUE_OP, ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0), |
| 325 | /* 7B */ ACPI_OP ("LoadTable" , ARGP_LOAD_TABLE_OP, ARGI_LOAD_TABLE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_6A_0T_1R, AML_FLAGS_EXEC_6A_0T_1R), |
| 326 | /* 7C */ ACPI_OP ("DataTableRegion" , ARGP_DATA_REGION_OP, ARGI_DATA_REGION_OP, ACPI_TYPE_REGION, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED | AML_DEFER), |
| 327 | /* 7D */ ACPI_OP ("[EvalSubTree]" , ARGP_SCOPE_OP, ARGI_SCOPE_OP, ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_NO_OBJ, AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE), |
| 328 | |
| 329 | /* ACPI 3.0 opcodes */ |
| 330 | |
| 331 | /* 7E */ ACPI_OP ("Timer" , ARGP_TIMER_OP, ARGI_TIMER_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_0A_0T_1R, AML_FLAGS_EXEC_0A_0T_1R), |
| 332 | |
| 333 | /* ACPI 5.0 opcodes */ |
| 334 | |
| 335 | /* 7F */ ACPI_OP ("-ConnectField-" , ARGP_CONNECTFIELD_OP, ARGI_CONNECTFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS), |
| 336 | /* 80 */ ACPI_OP ("-ExtAccessField-" , ARGP_CONNECTFIELD_OP, ARGI_CONNECTFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0), |
| 337 | |
| 338 | /* ACPI 6.0 opcodes */ |
| 339 | |
| 340 | /* 81 */ ACPI_OP ("External" , ARGP_EXTERNAL_OP, ARGI_EXTERNAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE,/* ? */ AML_TYPE_EXEC_3A_0T_0R, AML_FLAGS_EXEC_3A_0T_0R) |
| 341 | |
| 342 | /*! [End] no source code translation !*/ |
| 343 | }; |
| 344 | |