acopcode.h revision 245582
12061Sjkh/****************************************************************************** 217308Speter * 32061Sjkh * Name: acopcode.h - AML opcode information for the AML parser and interpreter 42061Sjkh * 515603Smarkm *****************************************************************************/ 62061Sjkh 72061Sjkh/* 83197Scsgr * Copyright (C) 2000 - 2013, Intel Corp. 93197Scsgr * All rights reserved. 102061Sjkh * 1112483Speter * Redistribution and use in source and binary forms, with or without 122160Scsgr * modification, are permitted provided that the following conditions 132834Swollman * are met: 142061Sjkh * 1. Redistributions of source code must retain the above copyright 152061Sjkh * notice, this list of conditions, and the following disclaimer, 162160Scsgr * without modification. 1717308Speter * 2. Redistributions in binary form must reproduce at minimum a disclaimer 181594Srgrimes * substantially similar to the "NO WARRANTY" disclaimer below 1917308Speter * ("Disclaimer") and any redistribution must be conditioned upon 2017308Speter * including a substantially similar Disclaimer requirement for further 2117308Speter * binary redistribution. 2217308Speter * 3. Neither the names of the above-listed copyright holders nor the names 2317308Speter * of any contributors may be used to endorse or promote products derived 2417308Speter * from this software without specific prior written permission. 2517308Speter * 2617308Speter * Alternatively, this software may be distributed under the terms of the 2717308Speter * GNU General Public License ("GPL") version 2 as published by the Free 2817308Speter * Software Foundation. 2917308Speter * 302061Sjkh * NO WARRANTY 312061Sjkh * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 321594Srgrimes * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 337407Srgrimes * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 347407Srgrimes * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 357108Sphk * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 367108Sphk * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 377108Sphk * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 387407Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 397407Srgrimes * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 407407Srgrimes * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 417108Sphk * POSSIBILITY OF SUCH DAMAGES. 422061Sjkh */ 432061Sjkh 442061Sjkh#ifndef __ACOPCODE_H__ 4517308Speter#define __ACOPCODE_H__ 462061Sjkh 472061Sjkh#define MAX_EXTENDED_OPCODE 0x88 482061Sjkh#define NUM_EXTENDED_OPCODE (MAX_EXTENDED_OPCODE + 1) 492061Sjkh#define MAX_INTERNAL_OPCODE 502061Sjkh#define NUM_INTERNAL_OPCODE (MAX_INTERNAL_OPCODE + 1) 513197Scsgr 522626Scsgr/* Used for non-assigned opcodes */ 532626Scsgr 542061Sjkh#define _UNK 0x6B 552061Sjkh 562061Sjkh/* 572061Sjkh * Reserved ASCII characters. Do not use any of these for 582061Sjkh * internal opcodes, since they are used to differentiate 592061Sjkh * name strings from AML opcodes 602061Sjkh */ 612061Sjkh#define _ASC 0x6C 622061Sjkh#define _NAM 0x6C 632061Sjkh#define _PFX 0x6D 642061Sjkh 652061Sjkh 662061Sjkh/* 672061Sjkh * All AML opcodes and the parse-time arguments for each. Used by the AML 682061Sjkh * parser Each list is compressed into a 32-bit number and stored in the 692061Sjkh * master opcode table (in psopcode.c). 702061Sjkh */ 712061Sjkh#define ARGP_ACCESSFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 722834Swollman#define ARGP_ACQUIRE_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_WORDDATA) 732834Swollman#define ARGP_ADD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 742834Swollman#define ARGP_ALIAS_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_NAME) 752834Swollman#define ARGP_ARG0 ARG_NONE 762834Swollman#define ARGP_ARG1 ARG_NONE 772834Swollman#define ARGP_ARG2 ARG_NONE 781594Srgrimes#define ARGP_ARG3 ARG_NONE 794486Sphk#define ARGP_ARG4 ARG_NONE 804486Sphk#define ARGP_ARG5 ARG_NONE 814486Sphk#define ARGP_ARG6 ARG_NONE 824486Sphk#define ARGP_BANK_FIELD_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_TERMARG, ARGP_BYTEDATA, ARGP_FIELDLIST) 834486Sphk#define ARGP_BIT_AND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 842061Sjkh#define ARGP_BIT_NAND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 852061Sjkh#define ARGP_BIT_NOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 862061Sjkh#define ARGP_BIT_NOT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 872061Sjkh#define ARGP_BIT_OR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 882061Sjkh#define ARGP_BIT_XOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 892061Sjkh#define ARGP_BREAK_OP ARG_NONE 902061Sjkh#define ARGP_BREAK_POINT_OP ARG_NONE 912061Sjkh#define ARGP_BUFFER_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_BYTELIST) 922061Sjkh#define ARGP_BYTE_OP ARGP_LIST1 (ARGP_BYTEDATA) 9317308Speter#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING) 942061Sjkh#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 952061Sjkh#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 962061Sjkh#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_SUPERNAME) 972061Sjkh#define ARGP_CONNECTFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 982061Sjkh#define ARGP_CONTINUE_OP ARG_NONE 9912483Speter#define ARGP_COPY_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SIMPLENAME) 10012483Speter#define ARGP_CREATE_BIT_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10112483Speter#define ARGP_CREATE_BYTE_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10212483Speter#define ARGP_CREATE_DWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 1032061Sjkh#define ARGP_CREATE_FIELD_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 1042061Sjkh#define ARGP_CREATE_QWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 1058854Srgrimes#define ARGP_CREATE_WORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 1062061Sjkh#define ARGP_DATA_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) 1072061Sjkh#define ARGP_DEBUG_OP ARG_NONE 10812483Speter#define ARGP_DECREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) 1092061Sjkh#define ARGP_DEREF_OF_OP ARGP_LIST1 (ARGP_TERMARG) 11017308Speter#define ARGP_DEVICE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) 11117308Speter#define ARGP_DIVIDE_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET, ARGP_TARGET) 11217308Speter#define ARGP_DWORD_OP ARGP_LIST1 (ARGP_DWORDDATA) 11317308Speter#define ARGP_ELSE_OP ARGP_LIST2 (ARGP_PKGLENGTH, ARGP_TERMLIST) 11415603Smarkm#define ARGP_EVENT_OP ARGP_LIST1 (ARGP_NAME) 11515603Smarkm#define ARGP_FATAL_OP ARGP_LIST3 (ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_TERMARG) 11617308Speter#define ARGP_FIELD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_BYTEDATA, ARGP_FIELDLIST) 11717308Speter#define ARGP_FIND_SET_LEFT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 11817308Speter#define ARGP_FIND_SET_RIGHT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 11917308Speter#define ARGP_FROM_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 12017308Speter#define ARGP_IF_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) 12117308Speter#define ARGP_INCREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) 12217308Speter#define ARGP_INDEX_FIELD_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_BYTEDATA, ARGP_FIELDLIST) 12317308Speter#define ARGP_INDEX_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 12417308Speter#define ARGP_LAND_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12517308Speter#define ARGP_LEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12617308Speter#define ARGP_LGREATER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12717308Speter#define ARGP_LGREATEREQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12817308Speter#define ARGP_LLESS_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12917308Speter#define ARGP_LLESSEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 13017308Speter#define ARGP_LNOT_OP ARGP_LIST1 (ARGP_TERMARG) 13116550Sjkh#define ARGP_LNOTEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 1322061Sjkh#define ARGP_LOAD_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_SUPERNAME) 13317308Speter#define ARGP_LOAD_TABLE_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) 1342061Sjkh#define ARGP_LOCAL0 ARG_NONE 13517308Speter#define ARGP_LOCAL1 ARG_NONE 1362061Sjkh#define ARGP_LOCAL2 ARG_NONE 13717308Speter#define ARGP_LOCAL3 ARG_NONE 13817308Speter#define ARGP_LOCAL4 ARG_NONE 13917308Speter#define ARGP_LOCAL5 ARG_NONE 14017308Speter#define ARGP_LOCAL6 ARG_NONE 14117308Speter#define ARGP_LOCAL7 ARG_NONE 14217308Speter#define ARGP_LOR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 14317308Speter#define ARGP_MATCH_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) 14417308Speter#define ARGP_METHOD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMLIST) 14517308Speter#define ARGP_METHODCALL_OP ARGP_LIST1 (ARGP_NAMESTRING) 14617308Speter#define ARGP_MID_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 14717308Speter#define ARGP_MOD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 14817308Speter#define ARGP_MULTIPLY_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 14917308Speter#define ARGP_MUTEX_OP ARGP_LIST2 (ARGP_NAME, ARGP_BYTEDATA) 15017308Speter#define ARGP_NAME_OP ARGP_LIST2 (ARGP_NAME, ARGP_DATAOBJ) 15117308Speter#define ARGP_NAMEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 15217308Speter#define ARGP_NAMEPATH_OP ARGP_LIST1 (ARGP_NAMESTRING) 15317308Speter#define ARGP_NOOP_OP ARG_NONE 15417308Speter#define ARGP_NOTIFY_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) 15517308Speter#define ARGP_ONE_OP ARG_NONE 15617308Speter#define ARGP_ONES_OP ARG_NONE 15717308Speter#define ARGP_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_BYTEDATA, ARGP_DATAOBJLIST) 15817308Speter#define ARGP_POWER_RES_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_WORDDATA, ARGP_OBJLIST) 15917308Speter#define ARGP_PROCESSOR_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_BYTEDATA, ARGP_OBJLIST) 16017308Speter#define ARGP_QWORD_OP ARGP_LIST1 (ARGP_QWORDDATA) 16117308Speter#define ARGP_REF_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) 16217308Speter#define ARGP_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) 16317308Speter#define ARGP_RELEASE_OP ARGP_LIST1 (ARGP_SUPERNAME) 16417308Speter#define ARGP_RESERVEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 16517308Speter#define ARGP_RESET_OP ARGP_LIST1 (ARGP_SUPERNAME) 16617308Speter#define ARGP_RETURN_OP ARGP_LIST1 (ARGP_TERMARG) 16717308Speter#define ARGP_REVISION_OP ARG_NONE 16817308Speter#define ARGP_SCOPE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_TERMLIST) 16917308Speter#define ARGP_SERIALFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 17017308Speter#define ARGP_SHIFT_LEFT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 17117308Speter#define ARGP_SHIFT_RIGHT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 17217308Speter#define ARGP_SIGNAL_OP ARGP_LIST1 (ARGP_SUPERNAME) 17317308Speter#define ARGP_SIZE_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) 17417308Speter#define ARGP_SLEEP_OP ARGP_LIST1 (ARGP_TERMARG) 17517308Speter#define ARGP_STALL_OP ARGP_LIST1 (ARGP_TERMARG) 17617308Speter#define ARGP_STATICSTRING_OP ARGP_LIST1 (ARGP_NAMESTRING) 17717308Speter#define ARGP_STORE_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SUPERNAME) 17817308Speter#define ARGP_STRING_OP ARGP_LIST1 (ARGP_CHARLIST) 17917308Speter#define ARGP_SUBTRACT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 18017308Speter#define ARGP_THERMAL_ZONE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) 18117308Speter#define ARGP_TIMER_OP ARG_NONE 18217308Speter#define ARGP_TO_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18317308Speter#define ARGP_TO_BUFFER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18417308Speter#define ARGP_TO_DEC_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18517308Speter#define ARGP_TO_HEX_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18617308Speter#define ARGP_TO_INTEGER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18717308Speter#define ARGP_TO_STRING_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 18817308Speter#define ARGP_TYPE_OP ARGP_LIST1 (ARGP_SUPERNAME) 18917308Speter#define ARGP_UNLOAD_OP ARGP_LIST1 (ARGP_SUPERNAME) 19017308Speter#define ARGP_VAR_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_DATAOBJLIST) 19117308Speter#define ARGP_WAIT_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) 19217308Speter#define ARGP_WHILE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) 19317308Speter#define ARGP_WORD_OP ARGP_LIST1 (ARGP_WORDDATA) 19417308Speter#define ARGP_ZERO_OP ARG_NONE 19517308Speter 19617308Speter 19716550Sjkh/* 19817308Speter * All AML opcodes and the runtime arguments for each. Used by the AML 19917308Speter * interpreter Each list is compressed into a 32-bit number and stored 20017308Speter * in the master opcode table (in psopcode.c). 20117308Speter * 20216550Sjkh * (Used by PrepOperands procedure and the ASL Compiler) 20316550Sjkh */ 20417308Speter#define ARGI_ACCESSFIELD_OP ARGI_INVALID_OPCODE 20517308Speter#define ARGI_ACQUIRE_OP ARGI_LIST2 (ARGI_MUTEX, ARGI_INTEGER) 20614545Sjkh#define ARGI_ADD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 2072061Sjkh#define ARGI_ALIAS_OP ARGI_INVALID_OPCODE 20817308Speter#define ARGI_ARG0 ARG_NONE 20917308Speter#define ARGI_ARG1 ARG_NONE 21017308Speter#define ARGI_ARG2 ARG_NONE 21117308Speter#define ARGI_ARG3 ARG_NONE 21217308Speter#define ARGI_ARG4 ARG_NONE 21317308Speter#define ARGI_ARG5 ARG_NONE 21417308Speter#define ARGI_ARG6 ARG_NONE 21517308Speter#define ARGI_BANK_FIELD_OP ARGI_INVALID_OPCODE 21612483Speter#define ARGI_BIT_AND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 21717308Speter#define ARGI_BIT_NAND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 21812483Speter#define ARGI_BIT_NOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 21917308Speter#define ARGI_BIT_NOT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 22012483Speter#define ARGI_BIT_OR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 2212061Sjkh#define ARGI_BIT_XOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 22217308Speter#define ARGI_BREAK_OP ARG_NONE 2232061Sjkh#define ARGI_BREAK_POINT_OP ARG_NONE 22417308Speter#define ARGI_BUFFER_OP ARGI_LIST1 (ARGI_INTEGER) 22517308Speter#define ARGI_BYTE_OP ARGI_INVALID_OPCODE 22617308Speter#define ARGI_BYTELIST_OP ARGI_INVALID_OPCODE 22717308Speter#define ARGI_CONCAT_OP ARGI_LIST3 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA, ARGI_TARGETREF) 22817308Speter#define ARGI_CONCAT_RES_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_BUFFER, ARGI_TARGETREF) 22917308Speter#define ARGI_COND_REF_OF_OP ARGI_LIST2 (ARGI_OBJECT_REF, ARGI_TARGETREF) 23017308Speter#define ARGI_CONNECTFIELD_OP ARGI_INVALID_OPCODE 23117308Speter#define ARGI_CONTINUE_OP ARGI_INVALID_OPCODE 23217308Speter#define ARGI_COPY_OP ARGI_LIST2 (ARGI_ANYTYPE, ARGI_SIMPLE_TARGET) 23317308Speter#define ARGI_CREATE_BIT_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23417308Speter#define ARGI_CREATE_BYTE_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23517308Speter#define ARGI_CREATE_DWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23617308Speter#define ARGI_CREATE_FIELD_OP ARGI_LIST4 (ARGI_BUFFER, ARGI_INTEGER, ARGI_INTEGER, ARGI_REFERENCE) 2372061Sjkh#define ARGI_CREATE_QWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23817308Speter#define ARGI_CREATE_WORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23917308Speter#define ARGI_DATA_REGION_OP ARGI_LIST3 (ARGI_STRING, ARGI_STRING, ARGI_STRING) 24017308Speter#define ARGI_DEBUG_OP ARG_NONE 24117308Speter#define ARGI_DECREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) 24217308Speter#define ARGI_DEREF_OF_OP ARGI_LIST1 (ARGI_REF_OR_STRING) 24317308Speter#define ARGI_DEVICE_OP ARGI_INVALID_OPCODE 24417308Speter#define ARGI_DIVIDE_OP ARGI_LIST4 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF, ARGI_TARGETREF) 2452302Spaul#define ARGI_DWORD_OP ARGI_INVALID_OPCODE 2462302Spaul#define ARGI_ELSE_OP ARGI_INVALID_OPCODE 2472302Spaul#define ARGI_EVENT_OP ARGI_INVALID_OPCODE 2482302Spaul#define ARGI_FATAL_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_INTEGER) 2492302Spaul#define ARGI_FIELD_OP ARGI_INVALID_OPCODE 2502302Spaul#define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 25110760Sache#define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 25210760Sache#define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 2532302Spaul#define ARGI_IF_OP ARGI_INVALID_OPCODE 25410760Sache#define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) 25510760Sache#define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE 25610760Sache#define ARGI_INDEX_OP ARGI_LIST3 (ARGI_COMPLEXOBJ, ARGI_INTEGER, ARGI_TARGETREF) 25710760Sache#define ARGI_LAND_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 2582302Spaul#define ARGI_LEQUAL_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 2592302Spaul#define ARGI_LGREATER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 2602302Spaul#define ARGI_LGREATEREQUAL_OP ARGI_INVALID_OPCODE 2612302Spaul#define ARGI_LLESS_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 26216591Spst#define ARGI_LLESSEQUAL_OP ARGI_INVALID_OPCODE 2632302Spaul#define ARGI_LNOT_OP ARGI_LIST1 (ARGI_INTEGER) 2642302Spaul#define ARGI_LNOTEQUAL_OP ARGI_INVALID_OPCODE 26517308Speter#define ARGI_LOAD_OP ARGI_LIST2 (ARGI_REGION_OR_BUFFER,ARGI_TARGETREF) 26617308Speter#define ARGI_LOAD_TABLE_OP ARGI_LIST6 (ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_ANYTYPE) 26717308Speter#define ARGI_LOCAL0 ARG_NONE 26817308Speter#define ARGI_LOCAL1 ARG_NONE 26917308Speter#define ARGI_LOCAL2 ARG_NONE 27017308Speter#define ARGI_LOCAL3 ARG_NONE 27117308Speter#define ARGI_LOCAL4 ARG_NONE 2722061Sjkh#define ARGI_LOCAL5 ARG_NONE 27317308Speter#define ARGI_LOCAL6 ARG_NONE 2742061Sjkh#define ARGI_LOCAL7 ARG_NONE 27517308Speter#define ARGI_LOR_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 27617308Speter#define ARGI_MATCH_OP ARGI_LIST6 (ARGI_PACKAGE, ARGI_INTEGER, ARGI_COMPUTEDATA, ARGI_INTEGER,ARGI_COMPUTEDATA,ARGI_INTEGER) 27717308Speter#define ARGI_METHOD_OP ARGI_INVALID_OPCODE 27817308Speter#define ARGI_METHODCALL_OP ARGI_INVALID_OPCODE 27917308Speter#define ARGI_MID_OP ARGI_LIST4 (ARGI_BUFFER_OR_STRING,ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28017308Speter#define ARGI_MOD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28117308Speter#define ARGI_MULTIPLY_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28217308Speter#define ARGI_MUTEX_OP ARGI_INVALID_OPCODE 28317308Speter#define ARGI_NAME_OP ARGI_INVALID_OPCODE 28417308Speter#define ARGI_NAMEDFIELD_OP ARGI_INVALID_OPCODE 28517308Speter#define ARGI_NAMEPATH_OP ARGI_INVALID_OPCODE 28617308Speter#define ARGI_NOOP_OP ARG_NONE 28717308Speter#define ARGI_NOTIFY_OP ARGI_LIST2 (ARGI_DEVICE_REF, ARGI_INTEGER) 28817308Speter#define ARGI_ONE_OP ARG_NONE 2892061Sjkh#define ARGI_ONES_OP ARG_NONE 29017308Speter#define ARGI_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) 29117308Speter#define ARGI_POWER_RES_OP ARGI_INVALID_OPCODE 29217308Speter#define ARGI_PROCESSOR_OP ARGI_INVALID_OPCODE 29317308Speter#define ARGI_QWORD_OP ARGI_INVALID_OPCODE 29417308Speter#define ARGI_REF_OF_OP ARGI_LIST1 (ARGI_OBJECT_REF) 29517308Speter#define ARGI_REGION_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 2963626Swollman#define ARGI_RELEASE_OP ARGI_LIST1 (ARGI_MUTEX) 2973626Swollman#define ARGI_RESERVEDFIELD_OP ARGI_INVALID_OPCODE 2983626Swollman#define ARGI_RESET_OP ARGI_LIST1 (ARGI_EVENT) 2993626Swollman#define ARGI_RETURN_OP ARGI_INVALID_OPCODE 3003626Swollman#define ARGI_REVISION_OP ARG_NONE 3013626Swollman#define ARGI_SCOPE_OP ARGI_INVALID_OPCODE 3023626Swollman#define ARGI_SERIALFIELD_OP ARGI_INVALID_OPCODE 3033626Swollman#define ARGI_SHIFT_LEFT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 3043626Swollman#define ARGI_SHIFT_RIGHT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 3053626Swollman#define ARGI_SIGNAL_OP ARGI_LIST1 (ARGI_EVENT) 3063626Swollman#define ARGI_SIZE_OF_OP ARGI_LIST1 (ARGI_DATAOBJECT) 3077059Sroberto#define ARGI_SLEEP_OP ARGI_LIST1 (ARGI_INTEGER) 3083626Swollman#define ARGI_STALL_OP ARGI_LIST1 (ARGI_INTEGER) 3093626Swollman#define ARGI_STATICSTRING_OP ARGI_INVALID_OPCODE 3103626Swollman#define ARGI_STORE_OP ARGI_LIST2 (ARGI_DATAREFOBJ, ARGI_TARGETREF) 3113626Swollman#define ARGI_STRING_OP ARGI_INVALID_OPCODE 3123626Swollman#define ARGI_SUBTRACT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 3133626Swollman#define ARGI_THERMAL_ZONE_OP ARGI_INVALID_OPCODE 3143626Swollman#define ARGI_TIMER_OP ARG_NONE 31517308Speter#define ARGI_TO_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 31617308Speter#define ARGI_TO_BUFFER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 31717308Speter#define ARGI_TO_DEC_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 31817308Speter#define ARGI_TO_HEX_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 31917308Speter#define ARGI_TO_INTEGER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 32017308Speter#define ARGI_TO_STRING_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_FIXED_TARGET) 32117308Speter#define ARGI_TYPE_OP ARGI_LIST1 (ARGI_ANYTYPE) 32217308Speter#define ARGI_UNLOAD_OP ARGI_LIST1 (ARGI_DDBHANDLE) 32317308Speter#define ARGI_VAR_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) 32417308Speter#define ARGI_WAIT_OP ARGI_LIST2 (ARGI_EVENT, ARGI_INTEGER) 3253626Swollman#define ARGI_WHILE_OP ARGI_INVALID_OPCODE 32617308Speter#define ARGI_WORD_OP ARGI_INVALID_OPCODE 32717308Speter#define ARGI_ZERO_OP ARG_NONE 32817308Speter 32917308Speter#endif /* __ACOPCODE_H__ */ 33017308Speter