Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Added Kitten
[palacios.git] / kitten / include / acpi / acopcode.h
1 /******************************************************************************
2  *
3  * Name: acopcode.h - AML opcode information for the AML parser and interpreter
4  *
5  *****************************************************************************/
6
7 /*
8  * Copyright (C) 2000 - 2006, R. Byron Moore
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 #ifndef __ACOPCODE_H__
45 #define __ACOPCODE_H__
46
47 #define MAX_EXTENDED_OPCODE         0x88
48 #define NUM_EXTENDED_OPCODE         (MAX_EXTENDED_OPCODE + 1)
49 #define MAX_INTERNAL_OPCODE
50 #define NUM_INTERNAL_OPCODE         (MAX_INTERNAL_OPCODE + 1)
51
52 /* Used for non-assigned opcodes */
53
54 #define _UNK                        0x6B
55
56 /*
57  * Reserved ASCII characters.  Do not use any of these for
58  * internal opcodes, since they are used to differentiate
59  * name strings from AML opcodes
60  */
61 #define _ASC                        0x6C
62 #define _NAM                        0x6C
63 #define _PFX                        0x6D
64
65 /*
66  * All AML opcodes and the parse-time arguments for each.  Used by the AML
67  * parser  Each list is compressed into a 32-bit number and stored in the
68  * master opcode table (in psopcode.c).
69  */
70 #define ARGP_ACCESSFIELD_OP             ARGP_LIST1 (ARGP_NAMESTRING)
71 #define ARGP_ACQUIRE_OP                 ARGP_LIST2 (ARGP_SUPERNAME,  ARGP_WORDDATA)
72 #define ARGP_ADD_OP                     ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
73 #define ARGP_ALIAS_OP                   ARGP_LIST2 (ARGP_NAMESTRING, ARGP_NAME)
74 #define ARGP_ARG0                       ARG_NONE
75 #define ARGP_ARG1                       ARG_NONE
76 #define ARGP_ARG2                       ARG_NONE
77 #define ARGP_ARG3                       ARG_NONE
78 #define ARGP_ARG4                       ARG_NONE
79 #define ARGP_ARG5                       ARG_NONE
80 #define ARGP_ARG6                       ARG_NONE
81 #define ARGP_BANK_FIELD_OP              ARGP_LIST6 (ARGP_PKGLENGTH,  ARGP_NAMESTRING,    ARGP_NAMESTRING,ARGP_TERMARG,   ARGP_BYTEDATA,  ARGP_FIELDLIST)
82 #define ARGP_BIT_AND_OP                 ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
83 #define ARGP_BIT_NAND_OP                ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
84 #define ARGP_BIT_NOR_OP                 ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
85 #define ARGP_BIT_NOT_OP                 ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
86 #define ARGP_BIT_OR_OP                  ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
87 #define ARGP_BIT_XOR_OP                 ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
88 #define ARGP_BREAK_OP                   ARG_NONE
89 #define ARGP_BREAK_POINT_OP             ARG_NONE
90 #define ARGP_BUFFER_OP                  ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_TERMARG,       ARGP_BYTELIST)
91 #define ARGP_BYTE_OP                    ARGP_LIST1 (ARGP_BYTEDATA)
92 #define ARGP_BYTELIST_OP                ARGP_LIST1 (ARGP_NAMESTRING)
93 #define ARGP_CONCAT_OP                  ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
94 #define ARGP_CONCAT_RES_OP              ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
95 #define ARGP_COND_REF_OF_OP             ARGP_LIST2 (ARGP_SUPERNAME,  ARGP_SUPERNAME)
96 #define ARGP_CONTINUE_OP                ARG_NONE
97 #define ARGP_COPY_OP                    ARGP_LIST2 (ARGP_TERMARG,    ARGP_SIMPLENAME)
98 #define ARGP_CREATE_BIT_FIELD_OP        ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_NAME)
99 #define ARGP_CREATE_BYTE_FIELD_OP       ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_NAME)
100 #define ARGP_CREATE_DWORD_FIELD_OP      ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_NAME)
101 #define ARGP_CREATE_FIELD_OP            ARGP_LIST4 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TERMARG,   ARGP_NAME)
102 #define ARGP_CREATE_QWORD_FIELD_OP      ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_NAME)
103 #define ARGP_CREATE_WORD_FIELD_OP       ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_NAME)
104 #define ARGP_DATA_REGION_OP             ARGP_LIST4 (ARGP_NAME,       ARGP_TERMARG,       ARGP_TERMARG,   ARGP_TERMARG)
105 #define ARGP_DEBUG_OP                   ARG_NONE
106 #define ARGP_DECREMENT_OP               ARGP_LIST1 (ARGP_SUPERNAME)
107 #define ARGP_DEREF_OF_OP                ARGP_LIST1 (ARGP_TERMARG)
108 #define ARGP_DEVICE_OP                  ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_OBJLIST)
109 #define ARGP_DIVIDE_OP                  ARGP_LIST4 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET,    ARGP_TARGET)
110 #define ARGP_DWORD_OP                   ARGP_LIST1 (ARGP_DWORDDATA)
111 #define ARGP_ELSE_OP                    ARGP_LIST2 (ARGP_PKGLENGTH,  ARGP_TERMLIST)
112 #define ARGP_EVENT_OP                   ARGP_LIST1 (ARGP_NAME)
113 #define ARGP_FATAL_OP                   ARGP_LIST3 (ARGP_BYTEDATA,   ARGP_DWORDDATA,     ARGP_TERMARG)
114 #define ARGP_FIELD_OP                   ARGP_LIST4 (ARGP_PKGLENGTH,  ARGP_NAMESTRING,    ARGP_BYTEDATA,  ARGP_FIELDLIST)
115 #define ARGP_FIND_SET_LEFT_BIT_OP       ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
116 #define ARGP_FIND_SET_RIGHT_BIT_OP      ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
117 #define ARGP_FROM_BCD_OP                ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
118 #define ARGP_IF_OP                      ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_TERMARG,       ARGP_TERMLIST)
119 #define ARGP_INCREMENT_OP               ARGP_LIST1 (ARGP_SUPERNAME)
120 #define ARGP_INDEX_FIELD_OP             ARGP_LIST5 (ARGP_PKGLENGTH,  ARGP_NAMESTRING,    ARGP_NAMESTRING,ARGP_BYTEDATA,  ARGP_FIELDLIST)
121 #define ARGP_INDEX_OP                   ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
122 #define ARGP_LAND_OP                    ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
123 #define ARGP_LEQUAL_OP                  ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
124 #define ARGP_LGREATER_OP                ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
125 #define ARGP_LGREATEREQUAL_OP           ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
126 #define ARGP_LLESS_OP                   ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
127 #define ARGP_LLESSEQUAL_OP              ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
128 #define ARGP_LNOT_OP                    ARGP_LIST1 (ARGP_TERMARG)
129 #define ARGP_LNOTEQUAL_OP               ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
130 #define ARGP_LOAD_OP                    ARGP_LIST2 (ARGP_NAMESTRING, ARGP_SUPERNAME)
131 #define ARGP_LOAD_TABLE_OP              ARGP_LIST6 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TERMARG,   ARGP_TERMARG,  ARGP_TERMARG,   ARGP_TERMARG)
132 #define ARGP_LOCAL0                     ARG_NONE
133 #define ARGP_LOCAL1                     ARG_NONE
134 #define ARGP_LOCAL2                     ARG_NONE
135 #define ARGP_LOCAL3                     ARG_NONE
136 #define ARGP_LOCAL4                     ARG_NONE
137 #define ARGP_LOCAL5                     ARG_NONE
138 #define ARGP_LOCAL6                     ARG_NONE
139 #define ARGP_LOCAL7                     ARG_NONE
140 #define ARGP_LOR_OP                     ARGP_LIST2 (ARGP_TERMARG,    ARGP_TERMARG)
141 #define ARGP_MATCH_OP                   ARGP_LIST6 (ARGP_TERMARG,    ARGP_BYTEDATA,      ARGP_TERMARG,   ARGP_BYTEDATA,  ARGP_TERMARG,   ARGP_TERMARG)
142 #define ARGP_METHOD_OP                  ARGP_LIST4 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_BYTEDATA,  ARGP_TERMLIST)
143 #define ARGP_METHODCALL_OP              ARGP_LIST1 (ARGP_NAMESTRING)
144 #define ARGP_MID_OP                     ARGP_LIST4 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TERMARG,   ARGP_TARGET)
145 #define ARGP_MOD_OP                     ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
146 #define ARGP_MULTIPLY_OP                ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
147 #define ARGP_MUTEX_OP                   ARGP_LIST2 (ARGP_NAME,       ARGP_BYTEDATA)
148 #define ARGP_NAME_OP                    ARGP_LIST2 (ARGP_NAME,       ARGP_DATAOBJ)
149 #define ARGP_NAMEDFIELD_OP              ARGP_LIST1 (ARGP_NAMESTRING)
150 #define ARGP_NAMEPATH_OP                ARGP_LIST1 (ARGP_NAMESTRING)
151 #define ARGP_NOOP_OP                    ARG_NONE
152 #define ARGP_NOTIFY_OP                  ARGP_LIST2 (ARGP_SUPERNAME,  ARGP_TERMARG)
153 #define ARGP_ONE_OP                     ARG_NONE
154 #define ARGP_ONES_OP                    ARG_NONE
155 #define ARGP_PACKAGE_OP                 ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_BYTEDATA,      ARGP_DATAOBJLIST)
156 #define ARGP_POWER_RES_OP               ARGP_LIST5 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_BYTEDATA,  ARGP_WORDDATA,  ARGP_OBJLIST)
157 #define ARGP_PROCESSOR_OP               ARGP_LIST6 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_BYTEDATA,  ARGP_DWORDDATA, ARGP_BYTEDATA,  ARGP_OBJLIST)
158 #define ARGP_QWORD_OP                   ARGP_LIST1 (ARGP_QWORDDATA)
159 #define ARGP_REF_OF_OP                  ARGP_LIST1 (ARGP_SUPERNAME)
160 #define ARGP_REGION_OP                  ARGP_LIST4 (ARGP_NAME,       ARGP_BYTEDATA,      ARGP_TERMARG,   ARGP_TERMARG)
161 #define ARGP_RELEASE_OP                 ARGP_LIST1 (ARGP_SUPERNAME)
162 #define ARGP_RESERVEDFIELD_OP           ARGP_LIST1 (ARGP_NAMESTRING)
163 #define ARGP_RESET_OP                   ARGP_LIST1 (ARGP_SUPERNAME)
164 #define ARGP_RETURN_OP                  ARGP_LIST1 (ARGP_TERMARG)
165 #define ARGP_REVISION_OP                ARG_NONE
166 #define ARGP_SCOPE_OP                   ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_TERMLIST)
167 #define ARGP_SHIFT_LEFT_OP              ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
168 #define ARGP_SHIFT_RIGHT_OP             ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
169 #define ARGP_SIGNAL_OP                  ARGP_LIST1 (ARGP_SUPERNAME)
170 #define ARGP_SIZE_OF_OP                 ARGP_LIST1 (ARGP_SUPERNAME)
171 #define ARGP_SLEEP_OP                   ARGP_LIST1 (ARGP_TERMARG)
172 #define ARGP_STALL_OP                   ARGP_LIST1 (ARGP_TERMARG)
173 #define ARGP_STATICSTRING_OP            ARGP_LIST1 (ARGP_NAMESTRING)
174 #define ARGP_STORE_OP                   ARGP_LIST2 (ARGP_TERMARG,    ARGP_SUPERNAME)
175 #define ARGP_STRING_OP                  ARGP_LIST1 (ARGP_CHARLIST)
176 #define ARGP_SUBTRACT_OP                ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
177 #define ARGP_THERMAL_ZONE_OP            ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_NAME,          ARGP_OBJLIST)
178 #define ARGP_TIMER_OP                   ARG_NONE
179 #define ARGP_TO_BCD_OP                  ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
180 #define ARGP_TO_BUFFER_OP               ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
181 #define ARGP_TO_DEC_STR_OP              ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
182 #define ARGP_TO_HEX_STR_OP              ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
183 #define ARGP_TO_INTEGER_OP              ARGP_LIST2 (ARGP_TERMARG,    ARGP_TARGET)
184 #define ARGP_TO_STRING_OP               ARGP_LIST3 (ARGP_TERMARG,    ARGP_TERMARG,       ARGP_TARGET)
185 #define ARGP_TYPE_OP                    ARGP_LIST1 (ARGP_SUPERNAME)
186 #define ARGP_UNLOAD_OP                  ARGP_LIST1 (ARGP_SUPERNAME)
187 #define ARGP_VAR_PACKAGE_OP             ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_TERMARG,       ARGP_DATAOBJLIST)
188 #define ARGP_WAIT_OP                    ARGP_LIST2 (ARGP_SUPERNAME,  ARGP_TERMARG)
189 #define ARGP_WHILE_OP                   ARGP_LIST3 (ARGP_PKGLENGTH,  ARGP_TERMARG,       ARGP_TERMLIST)
190 #define ARGP_WORD_OP                    ARGP_LIST1 (ARGP_WORDDATA)
191 #define ARGP_ZERO_OP                    ARG_NONE
192
193 /*
194  * All AML opcodes and the runtime arguments for each.  Used by the AML
195  * interpreter  Each list is compressed into a 32-bit number and stored
196  * in the master opcode table (in psopcode.c).
197  *
198  * (Used by prep_operands procedure and the ASL Compiler)
199  */
200 #define ARGI_ACCESSFIELD_OP             ARGI_INVALID_OPCODE
201 #define ARGI_ACQUIRE_OP                 ARGI_LIST2 (ARGI_MUTEX,      ARGI_INTEGER)
202 #define ARGI_ADD_OP                     ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
203 #define ARGI_ALIAS_OP                   ARGI_INVALID_OPCODE
204 #define ARGI_ARG0                       ARG_NONE
205 #define ARGI_ARG1                       ARG_NONE
206 #define ARGI_ARG2                       ARG_NONE
207 #define ARGI_ARG3                       ARG_NONE
208 #define ARGI_ARG4                       ARG_NONE
209 #define ARGI_ARG5                       ARG_NONE
210 #define ARGI_ARG6                       ARG_NONE
211 #define ARGI_BANK_FIELD_OP              ARGI_INVALID_OPCODE
212 #define ARGI_BIT_AND_OP                 ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
213 #define ARGI_BIT_NAND_OP                ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
214 #define ARGI_BIT_NOR_OP                 ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
215 #define ARGI_BIT_NOT_OP                 ARGI_LIST2 (ARGI_INTEGER,    ARGI_TARGETREF)
216 #define ARGI_BIT_OR_OP                  ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
217 #define ARGI_BIT_XOR_OP                 ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
218 #define ARGI_BREAK_OP                   ARG_NONE
219 #define ARGI_BREAK_POINT_OP             ARG_NONE
220 #define ARGI_BUFFER_OP                  ARGI_LIST1 (ARGI_INTEGER)
221 #define ARGI_BYTE_OP                    ARGI_INVALID_OPCODE
222 #define ARGI_BYTELIST_OP                ARGI_INVALID_OPCODE
223 #define ARGI_CONCAT_OP                  ARGI_LIST3 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA,   ARGI_TARGETREF)
224 #define ARGI_CONCAT_RES_OP              ARGI_LIST3 (ARGI_BUFFER,     ARGI_BUFFER,        ARGI_TARGETREF)
225 #define ARGI_COND_REF_OF_OP             ARGI_LIST2 (ARGI_OBJECT_REF, ARGI_TARGETREF)
226 #define ARGI_CONTINUE_OP                ARGI_INVALID_OPCODE
227 #define ARGI_COPY_OP                    ARGI_LIST2 (ARGI_ANYTYPE,    ARGI_SIMPLE_TARGET)
228 #define ARGI_CREATE_BIT_FIELD_OP        ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_REFERENCE)
229 #define ARGI_CREATE_BYTE_FIELD_OP       ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_REFERENCE)
230 #define ARGI_CREATE_DWORD_FIELD_OP      ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_REFERENCE)
231 #define ARGI_CREATE_FIELD_OP            ARGI_LIST4 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_INTEGER,      ARGI_REFERENCE)
232 #define ARGI_CREATE_QWORD_FIELD_OP      ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_REFERENCE)
233 #define ARGI_CREATE_WORD_FIELD_OP       ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_REFERENCE)
234 #define ARGI_DATA_REGION_OP             ARGI_LIST3 (ARGI_STRING,     ARGI_STRING,        ARGI_STRING)
235 #define ARGI_DEBUG_OP                   ARG_NONE
236 #define ARGI_DECREMENT_OP               ARGI_LIST1 (ARGI_INTEGER_REF)
237 #define ARGI_DEREF_OF_OP                ARGI_LIST1 (ARGI_REF_OR_STRING)
238 #define ARGI_DEVICE_OP                  ARGI_INVALID_OPCODE
239 #define ARGI_DIVIDE_OP                  ARGI_LIST4 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF,    ARGI_TARGETREF)
240 #define ARGI_DWORD_OP                   ARGI_INVALID_OPCODE
241 #define ARGI_ELSE_OP                    ARGI_INVALID_OPCODE
242 #define ARGI_EVENT_OP                   ARGI_INVALID_OPCODE
243 #define ARGI_FATAL_OP                   ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_INTEGER)
244 #define ARGI_FIELD_OP                   ARGI_INVALID_OPCODE
245 #define ARGI_FIND_SET_LEFT_BIT_OP       ARGI_LIST2 (ARGI_INTEGER,    ARGI_TARGETREF)
246 #define ARGI_FIND_SET_RIGHT_BIT_OP      ARGI_LIST2 (ARGI_INTEGER,    ARGI_TARGETREF)
247 #define ARGI_FROM_BCD_OP                ARGI_LIST2 (ARGI_INTEGER,    ARGI_FIXED_TARGET)
248 #define ARGI_IF_OP                      ARGI_INVALID_OPCODE
249 #define ARGI_INCREMENT_OP               ARGI_LIST1 (ARGI_INTEGER_REF)
250 #define ARGI_INDEX_FIELD_OP             ARGI_INVALID_OPCODE
251 #define ARGI_INDEX_OP                   ARGI_LIST3 (ARGI_COMPLEXOBJ, ARGI_INTEGER,       ARGI_TARGETREF)
252 #define ARGI_LAND_OP                    ARGI_LIST2 (ARGI_INTEGER,    ARGI_INTEGER)
253 #define ARGI_LEQUAL_OP                  ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA)
254 #define ARGI_LGREATER_OP                ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA)
255 #define ARGI_LGREATEREQUAL_OP           ARGI_INVALID_OPCODE
256 #define ARGI_LLESS_OP                   ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA)
257 #define ARGI_LLESSEQUAL_OP              ARGI_INVALID_OPCODE
258 #define ARGI_LNOT_OP                    ARGI_LIST1 (ARGI_INTEGER)
259 #define ARGI_LNOTEQUAL_OP               ARGI_INVALID_OPCODE
260 #define ARGI_LOAD_OP                    ARGI_LIST2 (ARGI_REGION_OR_FIELD,ARGI_TARGETREF)
261 #define ARGI_LOAD_TABLE_OP              ARGI_LIST6 (ARGI_STRING,     ARGI_STRING,        ARGI_STRING,       ARGI_STRING,    ARGI_STRING, ARGI_ANYTYPE)
262 #define ARGI_LOCAL0                     ARG_NONE
263 #define ARGI_LOCAL1                     ARG_NONE
264 #define ARGI_LOCAL2                     ARG_NONE
265 #define ARGI_LOCAL3                     ARG_NONE
266 #define ARGI_LOCAL4                     ARG_NONE
267 #define ARGI_LOCAL5                     ARG_NONE
268 #define ARGI_LOCAL6                     ARG_NONE
269 #define ARGI_LOCAL7                     ARG_NONE
270 #define ARGI_LOR_OP                     ARGI_LIST2 (ARGI_INTEGER,    ARGI_INTEGER)
271 #define ARGI_MATCH_OP                   ARGI_LIST6 (ARGI_PACKAGE,    ARGI_INTEGER,   ARGI_COMPUTEDATA,      ARGI_INTEGER,ARGI_COMPUTEDATA,ARGI_INTEGER)
272 #define ARGI_METHOD_OP                  ARGI_INVALID_OPCODE
273 #define ARGI_METHODCALL_OP              ARGI_INVALID_OPCODE
274 #define ARGI_MID_OP                     ARGI_LIST4 (ARGI_BUFFER_OR_STRING,ARGI_INTEGER,  ARGI_INTEGER,      ARGI_TARGETREF)
275 #define ARGI_MOD_OP                     ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
276 #define ARGI_MULTIPLY_OP                ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
277 #define ARGI_MUTEX_OP                   ARGI_INVALID_OPCODE
278 #define ARGI_NAME_OP                    ARGI_INVALID_OPCODE
279 #define ARGI_NAMEDFIELD_OP              ARGI_INVALID_OPCODE
280 #define ARGI_NAMEPATH_OP                ARGI_INVALID_OPCODE
281 #define ARGI_NOOP_OP                    ARG_NONE
282 #define ARGI_NOTIFY_OP                  ARGI_LIST2 (ARGI_DEVICE_REF, ARGI_INTEGER)
283 #define ARGI_ONE_OP                     ARG_NONE
284 #define ARGI_ONES_OP                    ARG_NONE
285 #define ARGI_PACKAGE_OP                 ARGI_LIST1 (ARGI_INTEGER)
286 #define ARGI_POWER_RES_OP               ARGI_INVALID_OPCODE
287 #define ARGI_PROCESSOR_OP               ARGI_INVALID_OPCODE
288 #define ARGI_QWORD_OP                   ARGI_INVALID_OPCODE
289 #define ARGI_REF_OF_OP                  ARGI_LIST1 (ARGI_OBJECT_REF)
290 #define ARGI_REGION_OP                  ARGI_LIST2 (ARGI_INTEGER,    ARGI_INTEGER)
291 #define ARGI_RELEASE_OP                 ARGI_LIST1 (ARGI_MUTEX)
292 #define ARGI_RESERVEDFIELD_OP           ARGI_INVALID_OPCODE
293 #define ARGI_RESET_OP                   ARGI_LIST1 (ARGI_EVENT)
294 #define ARGI_RETURN_OP                  ARGI_INVALID_OPCODE
295 #define ARGI_REVISION_OP                ARG_NONE
296 #define ARGI_SCOPE_OP                   ARGI_INVALID_OPCODE
297 #define ARGI_SHIFT_LEFT_OP              ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
298 #define ARGI_SHIFT_RIGHT_OP             ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
299 #define ARGI_SIGNAL_OP                  ARGI_LIST1 (ARGI_EVENT)
300 #define ARGI_SIZE_OF_OP                 ARGI_LIST1 (ARGI_DATAOBJECT)
301 #define ARGI_SLEEP_OP                   ARGI_LIST1 (ARGI_INTEGER)
302 #define ARGI_STALL_OP                   ARGI_LIST1 (ARGI_INTEGER)
303 #define ARGI_STATICSTRING_OP            ARGI_INVALID_OPCODE
304 #define ARGI_STORE_OP                   ARGI_LIST2 (ARGI_DATAREFOBJ, ARGI_TARGETREF)
305 #define ARGI_STRING_OP                  ARGI_INVALID_OPCODE
306 #define ARGI_SUBTRACT_OP                ARGI_LIST3 (ARGI_INTEGER,    ARGI_INTEGER,       ARGI_TARGETREF)
307 #define ARGI_THERMAL_ZONE_OP            ARGI_INVALID_OPCODE
308 #define ARGI_TIMER_OP                   ARG_NONE
309 #define ARGI_TO_BCD_OP                  ARGI_LIST2 (ARGI_INTEGER,    ARGI_FIXED_TARGET)
310 #define ARGI_TO_BUFFER_OP               ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET)
311 #define ARGI_TO_DEC_STR_OP              ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET)
312 #define ARGI_TO_HEX_STR_OP              ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET)
313 #define ARGI_TO_INTEGER_OP              ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET)
314 #define ARGI_TO_STRING_OP               ARGI_LIST3 (ARGI_BUFFER,     ARGI_INTEGER,       ARGI_FIXED_TARGET)
315 #define ARGI_TYPE_OP                    ARGI_LIST1 (ARGI_ANYTYPE)
316 #define ARGI_UNLOAD_OP                  ARGI_LIST1 (ARGI_DDBHANDLE)
317 #define ARGI_VAR_PACKAGE_OP             ARGI_LIST1 (ARGI_INTEGER)
318 #define ARGI_WAIT_OP                    ARGI_LIST2 (ARGI_EVENT,      ARGI_INTEGER)
319 #define ARGI_WHILE_OP                   ARGI_INVALID_OPCODE
320 #define ARGI_WORD_OP                    ARGI_INVALID_OPCODE
321 #define ARGI_ZERO_OP                    ARG_NONE
322
323 #endif                          /* __ACOPCODE_H__ */