acopcode.h revision 281396
143561Skato/****************************************************************************** 243561Skato * 343561Skato * Name: acopcode.h - AML opcode information for the AML parser and interpreter 443561Skato * 543561Skato *****************************************************************************/ 643561Skato 743561Skato/* 843561Skato * Copyright (C) 2000 - 2015, Intel Corp. 943561Skato * All rights reserved. 1043561Skato * 1143561Skato * Redistribution and use in source and binary forms, with or without 1243561Skato * modification, are permitted provided that the following conditions 1343561Skato * are met: 1443561Skato * 1. Redistributions of source code must retain the above copyright 1543561Skato * notice, this list of conditions, and the following disclaimer, 1650477Speter * without modification. 1743561Skato * 2. Redistributions in binary form must reproduce at minimum a disclaimer 1843561Skato * substantially similar to the "NO WARRANTY" disclaimer below 1943561Skato * ("Disclaimer") and any redistribution must be conditioned upon 2043561Skato * including a substantially similar Disclaimer requirement for further 2143561Skato * binary redistribution. 2243561Skato * 3. Neither the names of the above-listed copyright holders nor the names 2343561Skato * of any contributors may be used to endorse or promote products derived 2443561Skato * from this software without specific prior written permission. 2543561Skato * 2643561Skato * Alternatively, this software may be distributed under the terms of the 2743561Skato * GNU General Public License ("GPL") version 2 as published by the Free 2843561Skato * Software Foundation. 2943561Skato * 3043561Skato * NO WARRANTY 3143561Skato * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 3243561Skato * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3343561Skato * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 3443561Skato * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 3543561Skato * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3643561Skato * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3743561Skato * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3843561Skato * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 3943561Skato * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 4043561Skato * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 4143561Skato * POSSIBILITY OF SUCH DAMAGES. 4243561Skato */ 4343561Skato 4443561Skato#ifndef __ACOPCODE_H__ 4543561Skato#define __ACOPCODE_H__ 4643561Skato 4743561Skato#define MAX_EXTENDED_OPCODE 0x88 4843561Skato#define NUM_EXTENDED_OPCODE (MAX_EXTENDED_OPCODE + 1) 4943561Skato#define MAX_INTERNAL_OPCODE 5043561Skato#define NUM_INTERNAL_OPCODE (MAX_INTERNAL_OPCODE + 1) 5143561Skato 5243561Skato/* Used for non-assigned opcodes */ 5343561Skato 5443561Skato#define _UNK 0x6B 5543561Skato 5643561Skato/* 5743561Skato * Reserved ASCII characters. Do not use any of these for 5843561Skato * internal opcodes, since they are used to differentiate 5943561Skato * name strings from AML opcodes 6043561Skato */ 6143561Skato#define _ASC 0x6C 6243561Skato#define _NAM 0x6C 6343561Skato#define _PFX 0x6D 6443561Skato 6543561Skato 6643561Skato/* 6743561Skato * All AML opcodes and the parse-time arguments for each. Used by the AML 6843561Skato * parser Each list is compressed into a 32-bit number and stored in the 6943561Skato * master opcode table (in psopcode.c). 7043561Skato */ 7143561Skato#define ARGP_ACCESSFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 7243561Skato#define ARGP_ACQUIRE_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_WORDDATA) 7343561Skato#define ARGP_ADD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 7443561Skato#define ARGP_ALIAS_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_NAME) 7543561Skato#define ARGP_ARG0 ARG_NONE 7643561Skato#define ARGP_ARG1 ARG_NONE 7743561Skato#define ARGP_ARG2 ARG_NONE 7843561Skato#define ARGP_ARG3 ARG_NONE 7943561Skato#define ARGP_ARG4 ARG_NONE 8043561Skato#define ARGP_ARG5 ARG_NONE 8143561Skato#define ARGP_ARG6 ARG_NONE 8243561Skato#define ARGP_BANK_FIELD_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_TERMARG, ARGP_BYTEDATA, ARGP_FIELDLIST) 8343561Skato#define ARGP_BIT_AND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 8443561Skato#define ARGP_BIT_NAND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 8558871Skato#define ARGP_BIT_NOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 8658871Skato#define ARGP_BIT_NOT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 8758871Skato#define ARGP_BIT_OR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 8843561Skato#define ARGP_BIT_XOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 8943561Skato#define ARGP_BREAK_OP ARG_NONE 9058871Skato#define ARGP_BREAK_POINT_OP ARG_NONE 9143561Skato#define ARGP_BUFFER_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_BYTELIST) 9243561Skato#define ARGP_BYTE_OP ARGP_LIST1 (ARGP_BYTEDATA) 9358871Skato#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING) 9443561Skato#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 9543561Skato#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 9643561Skato#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_SUPERNAME) 9743561Skato#define ARGP_CONNECTFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 9843561Skato#define ARGP_CONTINUE_OP ARG_NONE 9943561Skato#define ARGP_COPY_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SIMPLENAME) 10043561Skato#define ARGP_CREATE_BIT_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10143561Skato#define ARGP_CREATE_BYTE_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10243561Skato#define ARGP_CREATE_DWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10343561Skato#define ARGP_CREATE_FIELD_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10443561Skato#define ARGP_CREATE_QWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10543561Skato#define ARGP_CREATE_WORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) 10643561Skato#define ARGP_DATA_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) 10761064Snyan#define ARGP_DEBUG_OP ARG_NONE 10843561Skato#define ARGP_DECREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) 10943561Skato#define ARGP_DEREF_OF_OP ARGP_LIST1 (ARGP_TERMARG) 11043561Skato#define ARGP_DEVICE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) 11143561Skato#define ARGP_DIVIDE_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET, ARGP_TARGET) 11243561Skato#define ARGP_DWORD_OP ARGP_LIST1 (ARGP_DWORDDATA) 11343561Skato#define ARGP_ELSE_OP ARGP_LIST2 (ARGP_PKGLENGTH, ARGP_TERMLIST) 11443561Skato#define ARGP_EVENT_OP ARGP_LIST1 (ARGP_NAME) 11543561Skato#define ARGP_EXTERNAL_OP ARGP_LIST3 (ARGP_NAMESTRING, ARGP_BYTEDATA, ARGP_BYTEDATA) 11644368Skato#define ARGP_FATAL_OP ARGP_LIST3 (ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_TERMARG) 11743561Skato#define ARGP_FIELD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_BYTEDATA, ARGP_FIELDLIST) 11843561Skato#define ARGP_FIND_SET_LEFT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 11943561Skato#define ARGP_FIND_SET_RIGHT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 12043561Skato#define ARGP_FROM_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 12143561Skato#define ARGP_IF_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) 12243561Skato#define ARGP_INCREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) 12343561Skato#define ARGP_INDEX_FIELD_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_BYTEDATA, ARGP_FIELDLIST) 12443561Skato#define ARGP_INDEX_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 12561064Snyan#define ARGP_LAND_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12661064Snyan#define ARGP_LEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12761064Snyan#define ARGP_LGREATER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12861064Snyan#define ARGP_LGREATEREQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 12961064Snyan#define ARGP_LLESS_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 13061064Snyan#define ARGP_LLESSEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 13161064Snyan#define ARGP_LNOT_OP ARGP_LIST1 (ARGP_TERMARG) 13243561Skato#define ARGP_LNOTEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 13343561Skato#define ARGP_LOAD_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_SUPERNAME) 13443561Skato#define ARGP_LOAD_TABLE_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) 13561064Snyan#define ARGP_LOCAL0 ARG_NONE 13661064Snyan#define ARGP_LOCAL1 ARG_NONE 13761064Snyan#define ARGP_LOCAL2 ARG_NONE 13843561Skato#define ARGP_LOCAL3 ARG_NONE 13961064Snyan#define ARGP_LOCAL4 ARG_NONE 14061064Snyan#define ARGP_LOCAL5 ARG_NONE 14143561Skato#define ARGP_LOCAL6 ARG_NONE 14243561Skato#define ARGP_LOCAL7 ARG_NONE 14343561Skato#define ARGP_LOR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) 14461064Snyan#define ARGP_MATCH_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) 14543561Skato#define ARGP_METHOD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMLIST) 14661064Snyan#define ARGP_METHODCALL_OP ARGP_LIST1 (ARGP_NAMESTRING) 14761064Snyan#define ARGP_MID_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 14861064Snyan#define ARGP_MOD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 14943561Skato#define ARGP_MULTIPLY_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 15061064Snyan#define ARGP_MUTEX_OP ARGP_LIST2 (ARGP_NAME, ARGP_BYTEDATA) 15161064Snyan#define ARGP_NAME_OP ARGP_LIST2 (ARGP_NAME, ARGP_DATAOBJ) 15261064Snyan#define ARGP_NAMEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 15361064Snyan#define ARGP_NAMEPATH_OP ARGP_LIST1 (ARGP_NAMESTRING) 15461064Snyan#define ARGP_NOOP_OP ARG_NONE 15561064Snyan#define ARGP_NOTIFY_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) 15643561Skato#define ARGP_ONE_OP ARG_NONE 15761064Snyan#define ARGP_ONES_OP ARG_NONE 15861064Snyan#define ARGP_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_BYTEDATA, ARGP_DATAOBJLIST) 15961064Snyan#define ARGP_POWER_RES_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_WORDDATA, ARGP_OBJLIST) 16061064Snyan#define ARGP_PROCESSOR_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_BYTEDATA, ARGP_OBJLIST) 16161064Snyan#define ARGP_QWORD_OP ARGP_LIST1 (ARGP_QWORDDATA) 16243561Skato#define ARGP_REF_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) 16343561Skato#define ARGP_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) 16443561Skato#define ARGP_RELEASE_OP ARGP_LIST1 (ARGP_SUPERNAME) 16543561Skato#define ARGP_RESERVEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 16643561Skato#define ARGP_RESET_OP ARGP_LIST1 (ARGP_SUPERNAME) 16761064Snyan#define ARGP_RETURN_OP ARGP_LIST1 (ARGP_TERMARG) 16861064Snyan#define ARGP_REVISION_OP ARG_NONE 16961064Snyan#define ARGP_SCOPE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_TERMLIST) 17061064Snyan#define ARGP_SERIALFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 17152202Skato#define ARGP_SHIFT_LEFT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 17243561Skato#define ARGP_SHIFT_RIGHT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 17343561Skato#define ARGP_SIGNAL_OP ARGP_LIST1 (ARGP_SUPERNAME) 17443561Skato#define ARGP_SIZE_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) 17561064Snyan#define ARGP_SLEEP_OP ARGP_LIST1 (ARGP_TERMARG) 17661064Snyan#define ARGP_STALL_OP ARGP_LIST1 (ARGP_TERMARG) 17761064Snyan#define ARGP_STATICSTRING_OP ARGP_LIST1 (ARGP_NAMESTRING) 17861064Snyan#define ARGP_STORE_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SUPERNAME) 17961064Snyan#define ARGP_STRING_OP ARGP_LIST1 (ARGP_CHARLIST) 18061064Snyan#define ARGP_SUBTRACT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 18161064Snyan#define ARGP_THERMAL_ZONE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) 18261064Snyan#define ARGP_TIMER_OP ARG_NONE 18343561Skato#define ARGP_TO_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18443561Skato#define ARGP_TO_BUFFER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18543561Skato#define ARGP_TO_DEC_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18643561Skato#define ARGP_TO_HEX_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18761064Snyan#define ARGP_TO_INTEGER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) 18861064Snyan#define ARGP_TO_STRING_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 18961064Snyan#define ARGP_TYPE_OP ARGP_LIST1 (ARGP_SUPERNAME) 19061064Snyan#define ARGP_UNLOAD_OP ARGP_LIST1 (ARGP_SUPERNAME) 19161064Snyan#define ARGP_VAR_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_DATAOBJLIST) 19243561Skato#define ARGP_WAIT_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) 19361064Snyan#define ARGP_WHILE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) 19443561Skato#define ARGP_WORD_OP ARGP_LIST1 (ARGP_WORDDATA) 19561064Snyan#define ARGP_ZERO_OP ARG_NONE 19661064Snyan 19743561Skato 19861064Snyan/* 19943561Skato * All AML opcodes and the runtime arguments for each. Used by the AML 20061064Snyan * interpreter Each list is compressed into a 32-bit number and stored 20161064Snyan * in the master opcode table (in psopcode.c). 20261064Snyan * 20343561Skato * (Used by PrepOperands procedure and the ASL Compiler) 20452202Skato */ 20543561Skato#define ARGI_ACCESSFIELD_OP ARGI_INVALID_OPCODE 20643561Skato#define ARGI_ACQUIRE_OP ARGI_LIST2 (ARGI_MUTEX, ARGI_INTEGER) 20743561Skato#define ARGI_ADD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 20861064Snyan#define ARGI_ALIAS_OP ARGI_INVALID_OPCODE 20961064Snyan#define ARGI_ARG0 ARG_NONE 21061064Snyan#define ARGI_ARG1 ARG_NONE 21152202Skato#define ARGI_ARG2 ARG_NONE 21261064Snyan#define ARGI_ARG3 ARG_NONE 21361064Snyan#define ARGI_ARG4 ARG_NONE 21461064Snyan#define ARGI_ARG5 ARG_NONE 21552202Skato#define ARGI_ARG6 ARG_NONE 21661064Snyan#define ARGI_BANK_FIELD_OP ARGI_INVALID_OPCODE 21761064Snyan#define ARGI_BIT_AND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 21852827Snyan#define ARGI_BIT_NAND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 21961064Snyan#define ARGI_BIT_NOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 22052827Snyan#define ARGI_BIT_NOT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 22161064Snyan#define ARGI_BIT_OR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 22252827Snyan#define ARGI_BIT_XOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 22361064Snyan#define ARGI_BREAK_OP ARG_NONE 22461064Snyan#define ARGI_BREAK_POINT_OP ARG_NONE 22561064Snyan#define ARGI_BUFFER_OP ARGI_LIST1 (ARGI_INTEGER) 22643561Skato#define ARGI_BYTE_OP ARGI_INVALID_OPCODE 22743561Skato#define ARGI_BYTELIST_OP ARGI_INVALID_OPCODE 22861064Snyan#define ARGI_CONCAT_OP ARGI_LIST3 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA, ARGI_TARGETREF) 22943561Skato#define ARGI_CONCAT_RES_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_BUFFER, ARGI_TARGETREF) 23043561Skato#define ARGI_COND_REF_OF_OP ARGI_LIST2 (ARGI_OBJECT_REF, ARGI_TARGETREF) 23143561Skato#define ARGI_CONNECTFIELD_OP ARGI_INVALID_OPCODE 23243561Skato#define ARGI_CONTINUE_OP ARGI_INVALID_OPCODE 23361064Snyan#define ARGI_COPY_OP ARGI_LIST2 (ARGI_ANYTYPE, ARGI_SIMPLE_TARGET) 23443561Skato#define ARGI_CREATE_BIT_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23543561Skato#define ARGI_CREATE_BYTE_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23643561Skato#define ARGI_CREATE_DWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23743561Skato#define ARGI_CREATE_FIELD_OP ARGI_LIST4 (ARGI_BUFFER, ARGI_INTEGER, ARGI_INTEGER, ARGI_REFERENCE) 23843561Skato#define ARGI_CREATE_QWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 23943561Skato#define ARGI_CREATE_WORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) 24043561Skato#define ARGI_DATA_REGION_OP ARGI_LIST3 (ARGI_STRING, ARGI_STRING, ARGI_STRING) 24143561Skato#define ARGI_DEBUG_OP ARG_NONE 24243561Skato#define ARGI_DECREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) 24343561Skato#define ARGI_DEREF_OF_OP ARGI_LIST1 (ARGI_REF_OR_STRING) 24443561Skato#define ARGI_DEVICE_OP ARGI_INVALID_OPCODE 24543561Skato#define ARGI_DIVIDE_OP ARGI_LIST4 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF, ARGI_TARGETREF) 24643561Skato#define ARGI_DWORD_OP ARGI_INVALID_OPCODE 24743561Skato#define ARGI_ELSE_OP ARGI_INVALID_OPCODE 24861064Snyan#define ARGI_EVENT_OP ARGI_INVALID_OPCODE 24961064Snyan#define ARGI_EXTERNAL_OP ARGI_LIST3 (ARGI_STRING, ARGI_INTEGER, ARGI_INTEGER) 25043561Skato#define ARGI_FATAL_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_INTEGER) 25143561Skato#define ARGI_FIELD_OP ARGI_INVALID_OPCODE 25243561Skato#define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 25343561Skato#define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 25443561Skato#define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 25543561Skato#define ARGI_IF_OP ARGI_INVALID_OPCODE 25643561Skato#define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) 25761064Snyan#define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE 25843561Skato#define ARGI_INDEX_OP ARGI_LIST3 (ARGI_COMPLEXOBJ, ARGI_INTEGER, ARGI_TARGETREF) 25943561Skato#define ARGI_LAND_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 26043561Skato#define ARGI_LEQUAL_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 26143561Skato#define ARGI_LGREATER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 26243561Skato#define ARGI_LGREATEREQUAL_OP ARGI_INVALID_OPCODE 26343561Skato#define ARGI_LLESS_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) 26443561Skato#define ARGI_LLESSEQUAL_OP ARGI_INVALID_OPCODE 26543561Skato#define ARGI_LNOT_OP ARGI_LIST1 (ARGI_INTEGER) 26643561Skato#define ARGI_LNOTEQUAL_OP ARGI_INVALID_OPCODE 26743561Skato#define ARGI_LOAD_OP ARGI_LIST2 (ARGI_REGION_OR_BUFFER,ARGI_TARGETREF) 26843561Skato#define ARGI_LOAD_TABLE_OP ARGI_LIST6 (ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_ANYTYPE) 26943561Skato#define ARGI_LOCAL0 ARG_NONE 27043561Skato#define ARGI_LOCAL1 ARG_NONE 27143561Skato#define ARGI_LOCAL2 ARG_NONE 27243561Skato#define ARGI_LOCAL3 ARG_NONE 27343561Skato#define ARGI_LOCAL4 ARG_NONE 27456813Skato#define ARGI_LOCAL5 ARG_NONE 27543561Skato#define ARGI_LOCAL6 ARG_NONE 27643561Skato#define ARGI_LOCAL7 ARG_NONE 27752202Skato#define ARGI_LOR_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 27843561Skato#define ARGI_MATCH_OP ARGI_LIST6 (ARGI_PACKAGE, ARGI_INTEGER, ARGI_COMPUTEDATA, ARGI_INTEGER,ARGI_COMPUTEDATA,ARGI_INTEGER) 27952202Skato#define ARGI_METHOD_OP ARGI_INVALID_OPCODE 28043561Skato#define ARGI_METHODCALL_OP ARGI_INVALID_OPCODE 28152202Skato#define ARGI_MID_OP ARGI_LIST4 (ARGI_BUFFER_OR_STRING,ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28243561Skato#define ARGI_MOD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28343561Skato#define ARGI_MULTIPLY_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 28443561Skato#define ARGI_MUTEX_OP ARGI_INVALID_OPCODE 28561064Snyan#define ARGI_NAME_OP ARGI_INVALID_OPCODE 28661064Snyan#define ARGI_NAMEDFIELD_OP ARGI_INVALID_OPCODE 28761064Snyan#define ARGI_NAMEPATH_OP ARGI_INVALID_OPCODE 28861064Snyan#define ARGI_NOOP_OP ARG_NONE 28961064Snyan#define ARGI_NOTIFY_OP ARGI_LIST2 (ARGI_DEVICE_REF, ARGI_INTEGER) 29061064Snyan#define ARGI_ONE_OP ARG_NONE 29161064Snyan#define ARGI_ONES_OP ARG_NONE 29261064Snyan#define ARGI_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) 29343561Skato#define ARGI_POWER_RES_OP ARGI_INVALID_OPCODE 29443561Skato#define ARGI_PROCESSOR_OP ARGI_INVALID_OPCODE 29543561Skato#define ARGI_QWORD_OP ARGI_INVALID_OPCODE 29661064Snyan#define ARGI_REF_OF_OP ARGI_LIST1 (ARGI_OBJECT_REF) 29761064Snyan#define ARGI_REGION_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) 29861064Snyan#define ARGI_RELEASE_OP ARGI_LIST1 (ARGI_MUTEX) 29961064Snyan#define ARGI_RESERVEDFIELD_OP ARGI_INVALID_OPCODE 30061064Snyan#define ARGI_RESET_OP ARGI_LIST1 (ARGI_EVENT) 30161064Snyan#define ARGI_RETURN_OP ARGI_INVALID_OPCODE 30243561Skato#define ARGI_REVISION_OP ARG_NONE 30361064Snyan#define ARGI_SCOPE_OP ARGI_INVALID_OPCODE 30443561Skato#define ARGI_SERIALFIELD_OP ARGI_INVALID_OPCODE 30561064Snyan#define ARGI_SHIFT_LEFT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 30643561Skato#define ARGI_SHIFT_RIGHT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 30761064Snyan#define ARGI_SIGNAL_OP ARGI_LIST1 (ARGI_EVENT) 30861064Snyan#define ARGI_SIZE_OF_OP ARGI_LIST1 (ARGI_DATAOBJECT) 30943561Skato#define ARGI_SLEEP_OP ARGI_LIST1 (ARGI_INTEGER) 31043561Skato#define ARGI_STALL_OP ARGI_LIST1 (ARGI_INTEGER) 31143561Skato#define ARGI_STATICSTRING_OP ARGI_INVALID_OPCODE 31243561Skato#define ARGI_STORE_OP ARGI_LIST2 (ARGI_DATAREFOBJ, ARGI_TARGETREF) 31361064Snyan#define ARGI_STRING_OP ARGI_INVALID_OPCODE 31443561Skato#define ARGI_SUBTRACT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 31543561Skato#define ARGI_THERMAL_ZONE_OP ARGI_INVALID_OPCODE 31643561Skato#define ARGI_TIMER_OP ARG_NONE 31743561Skato#define ARGI_TO_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 31843561Skato#define ARGI_TO_BUFFER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 31943561Skato#define ARGI_TO_DEC_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 32043561Skato#define ARGI_TO_HEX_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 32143561Skato#define ARGI_TO_INTEGER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 32258871Skato#define ARGI_TO_STRING_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_FIXED_TARGET) 32361064Snyan#define ARGI_TYPE_OP ARGI_LIST1 (ARGI_ANYTYPE) 32443561Skato#define ARGI_UNLOAD_OP ARGI_LIST1 (ARGI_DDBHANDLE) 32543561Skato#define ARGI_VAR_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) 32643561Skato#define ARGI_WAIT_OP ARGI_LIST2 (ARGI_EVENT, ARGI_INTEGER) 32743561Skato#define ARGI_WHILE_OP ARGI_INVALID_OPCODE 32843561Skato#define ARGI_WORD_OP ARGI_INVALID_OPCODE 32961064Snyan#define ARGI_ZERO_OP ARG_NONE 33061064Snyan 33161064Snyan#endif /* __ACOPCODE_H__ */ 33261064Snyan