1
2
3
4
5
6
7
8
9
10#include <acpi/acpi.h>
11#include "accommon.h"
12#include "acopcode.h"
13#include "amlcode.h"
14
15#define _COMPONENT ACPI_PARSER
16ACPI_MODULE_NAME("psopcode")
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES] = {
150
151
152
153 ACPI_OP("Zero", ARGP_ZERO_OP, ARGI_ZERO_OP, ACPI_TYPE_INTEGER,
154 AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT),
155 ACPI_OP("One", ARGP_ONE_OP, ARGI_ONE_OP, ACPI_TYPE_INTEGER,
156 AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT),
157 ACPI_OP("Alias", ARGP_ALIAS_OP, ARGI_ALIAS_OP,
158 ACPI_TYPE_LOCAL_ALIAS, AML_CLASS_NAMED_OBJECT,
159 AML_TYPE_NAMED_SIMPLE,
160 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
161 AML_NSNODE | AML_NAMED),
162 ACPI_OP("Name", ARGP_NAME_OP, ARGI_NAME_OP, ACPI_TYPE_ANY,
163 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX,
164 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
165 AML_NSNODE | AML_NAMED),
166 ACPI_OP("ByteConst", ARGP_BYTE_OP, ARGI_BYTE_OP,
167 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,
168 AML_TYPE_LITERAL, AML_CONSTANT),
169 ACPI_OP("WordConst", ARGP_WORD_OP, ARGI_WORD_OP,
170 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,
171 AML_TYPE_LITERAL, AML_CONSTANT),
172 ACPI_OP("DwordConst", ARGP_DWORD_OP, ARGI_DWORD_OP,
173 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,
174 AML_TYPE_LITERAL, AML_CONSTANT),
175 ACPI_OP("String", ARGP_STRING_OP, ARGI_STRING_OP,
176 ACPI_TYPE_STRING, AML_CLASS_ARGUMENT,
177 AML_TYPE_LITERAL, AML_CONSTANT),
178 ACPI_OP("Scope", ARGP_SCOPE_OP, ARGI_SCOPE_OP,
179 ACPI_TYPE_LOCAL_SCOPE, AML_CLASS_NAMED_OBJECT,
180 AML_TYPE_NAMED_NO_OBJ,
181 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
182 AML_NSNODE | AML_NAMED),
183 ACPI_OP("Buffer", ARGP_BUFFER_OP, ARGI_BUFFER_OP,
184 ACPI_TYPE_BUFFER, AML_CLASS_CREATE,
185 AML_TYPE_CREATE_OBJECT,
186 AML_HAS_ARGS | AML_DEFER | AML_CONSTANT),
187 ACPI_OP("Package", ARGP_PACKAGE_OP, ARGI_PACKAGE_OP,
188 ACPI_TYPE_PACKAGE, AML_CLASS_CREATE,
189 AML_TYPE_CREATE_OBJECT,
190 AML_HAS_ARGS | AML_DEFER | AML_CONSTANT),
191 ACPI_OP("Method", ARGP_METHOD_OP, ARGI_METHOD_OP,
192 ACPI_TYPE_METHOD, AML_CLASS_NAMED_OBJECT,
193 AML_TYPE_NAMED_COMPLEX,
194 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
195 AML_NSNODE | AML_NAMED | AML_DEFER),
196 ACPI_OP("Local0", ARGP_LOCAL0, ARGI_LOCAL0,
197 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
198 AML_TYPE_LOCAL_VARIABLE, 0),
199 ACPI_OP("Local1", ARGP_LOCAL1, ARGI_LOCAL1,
200 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
201 AML_TYPE_LOCAL_VARIABLE, 0),
202 ACPI_OP("Local2", ARGP_LOCAL2, ARGI_LOCAL2,
203 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
204 AML_TYPE_LOCAL_VARIABLE, 0),
205 ACPI_OP("Local3", ARGP_LOCAL3, ARGI_LOCAL3,
206 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
207 AML_TYPE_LOCAL_VARIABLE, 0),
208 ACPI_OP("Local4", ARGP_LOCAL4, ARGI_LOCAL4,
209 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
210 AML_TYPE_LOCAL_VARIABLE, 0),
211 ACPI_OP("Local5", ARGP_LOCAL5, ARGI_LOCAL5,
212 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
213 AML_TYPE_LOCAL_VARIABLE, 0),
214 ACPI_OP("Local6", ARGP_LOCAL6, ARGI_LOCAL6,
215 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
216 AML_TYPE_LOCAL_VARIABLE, 0),
217 ACPI_OP("Local7", ARGP_LOCAL7, ARGI_LOCAL7,
218 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
219 AML_TYPE_LOCAL_VARIABLE, 0),
220 ACPI_OP("Arg0", ARGP_ARG0, ARGI_ARG0,
221 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
222 AML_TYPE_METHOD_ARGUMENT, 0),
223 ACPI_OP("Arg1", ARGP_ARG1, ARGI_ARG1,
224 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
225 AML_TYPE_METHOD_ARGUMENT, 0),
226 ACPI_OP("Arg2", ARGP_ARG2, ARGI_ARG2,
227 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
228 AML_TYPE_METHOD_ARGUMENT, 0),
229 ACPI_OP("Arg3", ARGP_ARG3, ARGI_ARG3,
230 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
231 AML_TYPE_METHOD_ARGUMENT, 0),
232 ACPI_OP("Arg4", ARGP_ARG4, ARGI_ARG4,
233 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
234 AML_TYPE_METHOD_ARGUMENT, 0),
235 ACPI_OP("Arg5", ARGP_ARG5, ARGI_ARG5,
236 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
237 AML_TYPE_METHOD_ARGUMENT, 0),
238 ACPI_OP("Arg6", ARGP_ARG6, ARGI_ARG6,
239 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
240 AML_TYPE_METHOD_ARGUMENT, 0),
241 ACPI_OP("Store", ARGP_STORE_OP, ARGI_STORE_OP, ACPI_TYPE_ANY,
242 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
243 AML_FLAGS_EXEC_1A_1T_1R),
244 ACPI_OP("RefOf", ARGP_REF_OF_OP, ARGI_REF_OF_OP, ACPI_TYPE_ANY,
245 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R,
246 AML_FLAGS_EXEC_1A_0T_1R),
247 ACPI_OP("Add", ARGP_ADD_OP, ARGI_ADD_OP, ACPI_TYPE_ANY,
248 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
249 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
250 ACPI_OP("Concatenate", ARGP_CONCAT_OP, ARGI_CONCAT_OP,
251 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
252 AML_TYPE_EXEC_2A_1T_1R,
253 AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
254 ACPI_OP("Subtract", ARGP_SUBTRACT_OP, ARGI_SUBTRACT_OP,
255 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
256 AML_TYPE_EXEC_2A_1T_1R,
257 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
258 ACPI_OP("Increment", ARGP_INCREMENT_OP, ARGI_INCREMENT_OP,
259 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
260 AML_TYPE_EXEC_1A_0T_1R,
261 AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
262 ACPI_OP("Decrement", ARGP_DECREMENT_OP, ARGI_DECREMENT_OP,
263 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
264 AML_TYPE_EXEC_1A_0T_1R,
265 AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
266 ACPI_OP("Multiply", ARGP_MULTIPLY_OP, ARGI_MULTIPLY_OP,
267 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
268 AML_TYPE_EXEC_2A_1T_1R,
269 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
270 ACPI_OP("Divide", ARGP_DIVIDE_OP, ARGI_DIVIDE_OP,
271 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
272 AML_TYPE_EXEC_2A_2T_1R,
273 AML_FLAGS_EXEC_2A_2T_1R | AML_CONSTANT),
274 ACPI_OP("ShiftLeft", ARGP_SHIFT_LEFT_OP, ARGI_SHIFT_LEFT_OP,
275 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
276 AML_TYPE_EXEC_2A_1T_1R,
277 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
278 ACPI_OP("ShiftRight", ARGP_SHIFT_RIGHT_OP, ARGI_SHIFT_RIGHT_OP,
279 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
280 AML_TYPE_EXEC_2A_1T_1R,
281 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
282 ACPI_OP("And", ARGP_BIT_AND_OP, ARGI_BIT_AND_OP, ACPI_TYPE_ANY,
283 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
284 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
285 ACPI_OP("NAnd", ARGP_BIT_NAND_OP, ARGI_BIT_NAND_OP,
286 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
287 AML_TYPE_EXEC_2A_1T_1R,
288 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
289 ACPI_OP("Or", ARGP_BIT_OR_OP, ARGI_BIT_OR_OP, ACPI_TYPE_ANY,
290 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
291 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
292 ACPI_OP("NOr", ARGP_BIT_NOR_OP, ARGI_BIT_NOR_OP, ACPI_TYPE_ANY,
293 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
294 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
295 ACPI_OP("XOr", ARGP_BIT_XOR_OP, ARGI_BIT_XOR_OP, ACPI_TYPE_ANY,
296 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
297 AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
298 ACPI_OP("Not", ARGP_BIT_NOT_OP, ARGI_BIT_NOT_OP, ACPI_TYPE_ANY,
299 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
300 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
301 ACPI_OP("FindSetLeftBit", ARGP_FIND_SET_LEFT_BIT_OP,
302 ARGI_FIND_SET_LEFT_BIT_OP, ACPI_TYPE_ANY,
303 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
304 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
305 ACPI_OP("FindSetRightBit", ARGP_FIND_SET_RIGHT_BIT_OP,
306 ARGI_FIND_SET_RIGHT_BIT_OP, ACPI_TYPE_ANY,
307 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
308 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
309 ACPI_OP("DerefOf", ARGP_DEREF_OF_OP, ARGI_DEREF_OF_OP,
310 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
311 AML_TYPE_EXEC_1A_0T_1R, AML_FLAGS_EXEC_1A_0T_1R),
312 ACPI_OP("Notify", ARGP_NOTIFY_OP, ARGI_NOTIFY_OP,
313 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
314 AML_TYPE_EXEC_2A_0T_0R, AML_FLAGS_EXEC_2A_0T_0R),
315 ACPI_OP("SizeOf", ARGP_SIZE_OF_OP, ARGI_SIZE_OF_OP,
316 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
317 AML_TYPE_EXEC_1A_0T_1R,
318 AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE),
319 ACPI_OP("Index", ARGP_INDEX_OP, ARGI_INDEX_OP, ACPI_TYPE_ANY,
320 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
321 AML_FLAGS_EXEC_2A_1T_1R),
322 ACPI_OP("Match", ARGP_MATCH_OP, ARGI_MATCH_OP, ACPI_TYPE_ANY,
323 AML_CLASS_EXECUTE, AML_TYPE_EXEC_6A_0T_1R,
324 AML_FLAGS_EXEC_6A_0T_1R | AML_CONSTANT),
325 ACPI_OP("CreateDWordField", ARGP_CREATE_DWORD_FIELD_OP,
326 ARGI_CREATE_DWORD_FIELD_OP,
327 ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE,
328 AML_TYPE_CREATE_FIELD,
329 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
330 AML_DEFER | AML_CREATE),
331 ACPI_OP("CreateWordField", ARGP_CREATE_WORD_FIELD_OP,
332 ARGI_CREATE_WORD_FIELD_OP,
333 ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE,
334 AML_TYPE_CREATE_FIELD,
335 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
336 AML_DEFER | AML_CREATE),
337 ACPI_OP("CreateByteField", ARGP_CREATE_BYTE_FIELD_OP,
338 ARGI_CREATE_BYTE_FIELD_OP,
339 ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE,
340 AML_TYPE_CREATE_FIELD,
341 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
342 AML_DEFER | AML_CREATE),
343 ACPI_OP("CreateBitField", ARGP_CREATE_BIT_FIELD_OP,
344 ARGI_CREATE_BIT_FIELD_OP,
345 ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE,
346 AML_TYPE_CREATE_FIELD,
347 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
348 AML_DEFER | AML_CREATE),
349 ACPI_OP("ObjectType", ARGP_OBJECT_TYPE_OP, ARGI_OBJECT_TYPE_OP,
350 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
351 AML_TYPE_EXEC_1A_0T_1R,
352 AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE),
353 ACPI_OP("LAnd", ARGP_LAND_OP, ARGI_LAND_OP, ACPI_TYPE_ANY,
354 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R,
355 AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC |
356 AML_CONSTANT),
357 ACPI_OP("LOr", ARGP_LOR_OP, ARGI_LOR_OP, ACPI_TYPE_ANY,
358 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R,
359 AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC |
360 AML_CONSTANT),
361 ACPI_OP("LNot", ARGP_LNOT_OP, ARGI_LNOT_OP, ACPI_TYPE_ANY,
362 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_1R,
363 AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
364 ACPI_OP("LEqual", ARGP_LEQUAL_OP, ARGI_LEQUAL_OP,
365 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
366 AML_TYPE_EXEC_2A_0T_1R,
367 AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
368 ACPI_OP("LGreater", ARGP_LGREATER_OP, ARGI_LGREATER_OP,
369 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
370 AML_TYPE_EXEC_2A_0T_1R,
371 AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
372 ACPI_OP("LLess", ARGP_LLESS_OP, ARGI_LLESS_OP, ACPI_TYPE_ANY,
373 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R,
374 AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
375 ACPI_OP("If", ARGP_IF_OP, ARGI_IF_OP, ACPI_TYPE_ANY,
376 AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS),
377 ACPI_OP("Else", ARGP_ELSE_OP, ARGI_ELSE_OP, ACPI_TYPE_ANY,
378 AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS),
379 ACPI_OP("While", ARGP_WHILE_OP, ARGI_WHILE_OP, ACPI_TYPE_ANY,
380 AML_CLASS_CONTROL, AML_TYPE_CONTROL, AML_HAS_ARGS),
381 ACPI_OP("Noop", ARGP_NOOP_OP, ARGI_NOOP_OP, ACPI_TYPE_ANY,
382 AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0),
383 ACPI_OP("Return", ARGP_RETURN_OP, ARGI_RETURN_OP,
384 ACPI_TYPE_ANY, AML_CLASS_CONTROL,
385 AML_TYPE_CONTROL, AML_HAS_ARGS),
386 ACPI_OP("Break", ARGP_BREAK_OP, ARGI_BREAK_OP, ACPI_TYPE_ANY,
387 AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0),
388 ACPI_OP("BreakPoint", ARGP_BREAK_POINT_OP, ARGI_BREAK_POINT_OP,
389 ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0),
390 ACPI_OP("Ones", ARGP_ONES_OP, ARGI_ONES_OP, ACPI_TYPE_INTEGER,
391 AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT),
392
393
394
395 ACPI_OP("Mutex", ARGP_MUTEX_OP, ARGI_MUTEX_OP, ACPI_TYPE_MUTEX,
396 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE,
397 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
398 AML_NSNODE | AML_NAMED),
399 ACPI_OP("Event", ARGP_EVENT_OP, ARGI_EVENT_OP, ACPI_TYPE_EVENT,
400 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE,
401 AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
402 ACPI_OP("CondRefOf", ARGP_COND_REF_OF_OP, ARGI_COND_REF_OF_OP,
403 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
404 AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R),
405 ACPI_OP("CreateField", ARGP_CREATE_FIELD_OP,
406 ARGI_CREATE_FIELD_OP, ACPI_TYPE_BUFFER_FIELD,
407 AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD,
408 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
409 AML_DEFER | AML_FIELD | AML_CREATE),
410 ACPI_OP("Load", ARGP_LOAD_OP, ARGI_LOAD_OP, ACPI_TYPE_ANY,
411 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_0R,
412 AML_FLAGS_EXEC_1A_1T_0R),
413 ACPI_OP("Stall", ARGP_STALL_OP, ARGI_STALL_OP, ACPI_TYPE_ANY,
414 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R,
415 AML_FLAGS_EXEC_1A_0T_0R),
416 ACPI_OP("Sleep", ARGP_SLEEP_OP, ARGI_SLEEP_OP, ACPI_TYPE_ANY,
417 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R,
418 AML_FLAGS_EXEC_1A_0T_0R),
419 ACPI_OP("Acquire", ARGP_ACQUIRE_OP, ARGI_ACQUIRE_OP,
420 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
421 AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R),
422 ACPI_OP("Signal", ARGP_SIGNAL_OP, ARGI_SIGNAL_OP,
423 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
424 AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R),
425 ACPI_OP("Wait", ARGP_WAIT_OP, ARGI_WAIT_OP, ACPI_TYPE_ANY,
426 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R,
427 AML_FLAGS_EXEC_2A_0T_1R),
428 ACPI_OP("Reset", ARGP_RESET_OP, ARGI_RESET_OP, ACPI_TYPE_ANY,
429 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R,
430 AML_FLAGS_EXEC_1A_0T_0R),
431 ACPI_OP("Release", ARGP_RELEASE_OP, ARGI_RELEASE_OP,
432 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
433 AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R),
434 ACPI_OP("FromBCD", ARGP_FROM_BCD_OP, ARGI_FROM_BCD_OP,
435 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
436 AML_TYPE_EXEC_1A_1T_1R,
437 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
438 ACPI_OP("ToBCD", ARGP_TO_BCD_OP, ARGI_TO_BCD_OP, ACPI_TYPE_ANY,
439 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
440 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
441 ACPI_OP("Unload", ARGP_UNLOAD_OP, ARGI_UNLOAD_OP,
442 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
443 AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R),
444 ACPI_OP("Revision", ARGP_REVISION_OP, ARGI_REVISION_OP,
445 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,
446 AML_TYPE_CONSTANT, 0),
447 ACPI_OP("Debug", ARGP_DEBUG_OP, ARGI_DEBUG_OP,
448 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
449 AML_TYPE_CONSTANT, 0),
450 ACPI_OP("Fatal", ARGP_FATAL_OP, ARGI_FATAL_OP, ACPI_TYPE_ANY,
451 AML_CLASS_EXECUTE, AML_TYPE_EXEC_3A_0T_0R,
452 AML_FLAGS_EXEC_3A_0T_0R),
453 ACPI_OP("OperationRegion", ARGP_REGION_OP, ARGI_REGION_OP,
454 ACPI_TYPE_REGION, AML_CLASS_NAMED_OBJECT,
455 AML_TYPE_NAMED_COMPLEX,
456 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
457 AML_NSNODE | AML_NAMED | AML_DEFER),
458 ACPI_OP("Field", ARGP_FIELD_OP, ARGI_FIELD_OP, ACPI_TYPE_ANY,
459 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_FIELD,
460 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
461 AML_FIELD),
462 ACPI_OP("Device", ARGP_DEVICE_OP, ARGI_DEVICE_OP,
463 ACPI_TYPE_DEVICE, AML_CLASS_NAMED_OBJECT,
464 AML_TYPE_NAMED_NO_OBJ,
465 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
466 AML_NSNODE | AML_NAMED),
467 ACPI_OP("Processor", ARGP_PROCESSOR_OP, ARGI_PROCESSOR_OP,
468 ACPI_TYPE_PROCESSOR, AML_CLASS_NAMED_OBJECT,
469 AML_TYPE_NAMED_SIMPLE,
470 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
471 AML_NSNODE | AML_NAMED),
472 ACPI_OP("PowerResource", ARGP_POWER_RES_OP, ARGI_POWER_RES_OP,
473 ACPI_TYPE_POWER, AML_CLASS_NAMED_OBJECT,
474 AML_TYPE_NAMED_SIMPLE,
475 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
476 AML_NSNODE | AML_NAMED),
477 ACPI_OP("ThermalZone", ARGP_THERMAL_ZONE_OP,
478 ARGI_THERMAL_ZONE_OP, ACPI_TYPE_THERMAL,
479 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_NO_OBJ,
480 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
481 AML_NSNODE | AML_NAMED),
482 ACPI_OP("IndexField", ARGP_INDEX_FIELD_OP, ARGI_INDEX_FIELD_OP,
483 ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT,
484 AML_TYPE_NAMED_FIELD,
485 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
486 AML_FIELD),
487 ACPI_OP("BankField", ARGP_BANK_FIELD_OP, ARGI_BANK_FIELD_OP,
488 ACPI_TYPE_LOCAL_BANK_FIELD,
489 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_FIELD,
490 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
491 AML_FIELD | AML_DEFER),
492
493
494
495 ACPI_OP("LNotEqual", ARGP_LNOTEQUAL_OP, ARGI_LNOTEQUAL_OP,
496 ACPI_TYPE_ANY, AML_CLASS_INTERNAL,
497 AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT),
498 ACPI_OP("LLessEqual", ARGP_LLESSEQUAL_OP, ARGI_LLESSEQUAL_OP,
499 ACPI_TYPE_ANY, AML_CLASS_INTERNAL,
500 AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT),
501 ACPI_OP("LGreaterEqual", ARGP_LGREATEREQUAL_OP,
502 ARGI_LGREATEREQUAL_OP, ACPI_TYPE_ANY,
503 AML_CLASS_INTERNAL, AML_TYPE_BOGUS,
504 AML_HAS_ARGS | AML_CONSTANT),
505 ACPI_OP("-NamePath-", ARGP_NAMEPATH_OP, ARGI_NAMEPATH_OP,
506 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,
507 AML_TYPE_LITERAL, AML_NSOBJECT | AML_NSNODE),
508 ACPI_OP("-MethodCall-", ARGP_METHODCALL_OP, ARGI_METHODCALL_OP,
509 ACPI_TYPE_METHOD, AML_CLASS_METHOD_CALL,
510 AML_TYPE_METHOD_CALL,
511 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE),
512 ACPI_OP("-ByteList-", ARGP_BYTELIST_OP, ARGI_BYTELIST_OP,
513 ACPI_TYPE_ANY, AML_CLASS_ARGUMENT,
514 AML_TYPE_LITERAL, 0),
515 ACPI_OP("-ReservedField-", ARGP_RESERVEDFIELD_OP,
516 ARGI_RESERVEDFIELD_OP, ACPI_TYPE_ANY,
517 AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
518 ACPI_OP("-NamedField-", ARGP_NAMEDFIELD_OP, ARGI_NAMEDFIELD_OP,
519 ACPI_TYPE_ANY, AML_CLASS_INTERNAL,
520 AML_TYPE_BOGUS,
521 AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
522 ACPI_OP("-AccessField-", ARGP_ACCESSFIELD_OP,
523 ARGI_ACCESSFIELD_OP, ACPI_TYPE_ANY,
524 AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
525 ACPI_OP("-StaticString", ARGP_STATICSTRING_OP,
526 ARGI_STATICSTRING_OP, ACPI_TYPE_ANY,
527 AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
528 ACPI_OP("-Return Value-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY,
529 AML_CLASS_RETURN_VALUE, AML_TYPE_RETURN,
530 AML_HAS_ARGS | AML_HAS_RETVAL),
531 ACPI_OP("-UNKNOWN_OP-", ARG_NONE, ARG_NONE, ACPI_TYPE_INVALID,
532 AML_CLASS_UNKNOWN, AML_TYPE_BOGUS, AML_HAS_ARGS),
533 ACPI_OP("-ASCII_ONLY-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY,
534 AML_CLASS_ASCII, AML_TYPE_BOGUS, AML_HAS_ARGS),
535 ACPI_OP("-PREFIX_ONLY-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY,
536 AML_CLASS_PREFIX, AML_TYPE_BOGUS, AML_HAS_ARGS),
537
538
539
540 ACPI_OP("QwordConst", ARGP_QWORD_OP, ARGI_QWORD_OP,
541 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,
542 AML_TYPE_LITERAL, AML_CONSTANT),
543 ACPI_OP("Package", ARGP_VAR_PACKAGE_OP,
544 ARGI_VAR_PACKAGE_OP, ACPI_TYPE_PACKAGE,
545 AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT,
546 AML_HAS_ARGS | AML_DEFER),
547 ACPI_OP("ConcatenateResTemplate", ARGP_CONCAT_RES_OP,
548 ARGI_CONCAT_RES_OP, ACPI_TYPE_ANY,
549 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
550 AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
551 ACPI_OP("Mod", ARGP_MOD_OP, ARGI_MOD_OP, ACPI_TYPE_ANY,
552 AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R,
553 AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
554 ACPI_OP("CreateQWordField", ARGP_CREATE_QWORD_FIELD_OP,
555 ARGI_CREATE_QWORD_FIELD_OP,
556 ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE,
557 AML_TYPE_CREATE_FIELD,
558 AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE |
559 AML_DEFER | AML_CREATE),
560 ACPI_OP("ToBuffer", ARGP_TO_BUFFER_OP, ARGI_TO_BUFFER_OP,
561 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
562 AML_TYPE_EXEC_1A_1T_1R,
563 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
564 ACPI_OP("ToDecimalString", ARGP_TO_DEC_STR_OP,
565 ARGI_TO_DEC_STR_OP, ACPI_TYPE_ANY,
566 AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R,
567 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
568 ACPI_OP("ToHexString", ARGP_TO_HEX_STR_OP, ARGI_TO_HEX_STR_OP,
569 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
570 AML_TYPE_EXEC_1A_1T_1R,
571 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
572 ACPI_OP("ToInteger", ARGP_TO_INTEGER_OP, ARGI_TO_INTEGER_OP,
573 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
574 AML_TYPE_EXEC_1A_1T_1R,
575 AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
576 ACPI_OP("ToString", ARGP_TO_STRING_OP, ARGI_TO_STRING_OP,
577 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
578 AML_TYPE_EXEC_2A_1T_1R,
579 AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
580 ACPI_OP("CopyObject", ARGP_COPY_OP, ARGI_COPY_OP,
581 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
582 AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R),
583 ACPI_OP("Mid", ARGP_MID_OP, ARGI_MID_OP, ACPI_TYPE_ANY,
584 AML_CLASS_EXECUTE, AML_TYPE_EXEC_3A_1T_1R,
585 AML_FLAGS_EXEC_3A_1T_1R | AML_CONSTANT),
586 ACPI_OP("Continue", ARGP_CONTINUE_OP, ARGI_CONTINUE_OP,
587 ACPI_TYPE_ANY, AML_CLASS_CONTROL, AML_TYPE_CONTROL, 0),
588 ACPI_OP("LoadTable", ARGP_LOAD_TABLE_OP, ARGI_LOAD_TABLE_OP,
589 ACPI_TYPE_ANY, AML_CLASS_EXECUTE,
590 AML_TYPE_EXEC_6A_0T_1R, AML_FLAGS_EXEC_6A_0T_1R),
591 ACPI_OP("DataTableRegion", ARGP_DATA_REGION_OP,
592 ARGI_DATA_REGION_OP, ACPI_TYPE_REGION,
593 AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX,
594 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
595 AML_NSNODE | AML_NAMED | AML_DEFER),
596 ACPI_OP("[EvalSubTree]", ARGP_SCOPE_OP, ARGI_SCOPE_OP,
597 ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT,
598 AML_TYPE_NAMED_NO_OBJ,
599 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
600 AML_NSNODE),
601
602
603
604 ACPI_OP("Timer", ARGP_TIMER_OP, ARGI_TIMER_OP, ACPI_TYPE_ANY,
605 AML_CLASS_EXECUTE, AML_TYPE_EXEC_0A_0T_1R,
606 AML_FLAGS_EXEC_0A_0T_1R),
607
608
609
610 ACPI_OP("-ConnectField-", ARGP_CONNECTFIELD_OP,
611 ARGI_CONNECTFIELD_OP, ACPI_TYPE_ANY,
612 AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS),
613 ACPI_OP("-ExtAccessField-", ARGP_CONNECTFIELD_OP,
614 ARGI_CONNECTFIELD_OP, ACPI_TYPE_ANY,
615 AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
616
617
618
619 ACPI_OP("External", ARGP_EXTERNAL_OP, ARGI_EXTERNAL_OP,
620 ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT,
621 AML_TYPE_NAMED_SIMPLE,
622 AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
623 AML_NSNODE | AML_NAMED),
624 ACPI_OP("Comment", ARGP_COMMENT_OP, ARGI_COMMENT_OP,
625 ACPI_TYPE_STRING, AML_CLASS_ARGUMENT,
626 AML_TYPE_LITERAL, AML_CONSTANT)
627
628
629};
630