2018-03-14 16:13:07 -07:00
// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
2005-04-16 15:20:36 -07:00
/******************************************************************************
*
* Module Name : psopcode - Parser / Interpreter opcode information table
*
2020-01-10 11:31:49 -08:00
* Copyright ( C ) 2000 - 2020 , Intel Corp .
2005-04-16 15:20:36 -07:00
*
2018-03-14 16:13:07 -07:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-04-16 15:20:36 -07:00
# include <acpi/acpi.h>
2009-01-09 00:30:03 -05:00
# include "accommon.h"
# include "acopcode.h"
# include "amlcode.h"
2005-04-16 15:20:36 -07:00
# define _COMPONENT ACPI_PARSER
2005-08-05 00:44:28 -04:00
ACPI_MODULE_NAME ( " psopcode " )
2005-04-16 15:20:36 -07:00
/*******************************************************************************
*
* NAME : acpi_gbl_aml_op_info
*
* DESCRIPTION : Opcode table . Each entry contains < opcode , type , name , operands >
* The name is a simple ascii string , the operand specifier is an
2012-10-31 02:26:55 +00:00
* ascii string with one letter per operand . The letter specifies
2005-04-16 15:20:36 -07:00
* the operand type .
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Summary of opcode types / flags
2005-04-18 22:49:35 -04:00
*
2005-04-16 15:20:36 -07:00
Opcodes that have associated namespace objects ( AML_NSOBJECT flag )
AML_SCOPE_OP
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
2017-04-26 16:18:40 +08:00
AML_POWER_RESOURCE_OP
2005-04-16 15:20:36 -07:00
AML_PROCESSOR_OP
AML_FIELD_OP
AML_INDEX_FIELD_OP
AML_BANK_FIELD_OP
AML_NAME_OP
AML_ALIAS_OP
AML_MUTEX_OP
AML_EVENT_OP
AML_REGION_OP
AML_CREATE_FIELD_OP
AML_CREATE_BIT_FIELD_OP
AML_CREATE_BYTE_FIELD_OP
AML_CREATE_WORD_FIELD_OP
AML_CREATE_DWORD_FIELD_OP
AML_CREATE_QWORD_FIELD_OP
AML_INT_NAMEDFIELD_OP
AML_INT_METHODCALL_OP
AML_INT_NAMEPATH_OP
Opcodes that are " namespace " opcodes ( AML_NSOPCODE flag )
AML_SCOPE_OP
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
2017-04-26 16:18:40 +08:00
AML_POWER_RESOURCE_OP
2005-04-16 15:20:36 -07:00
AML_PROCESSOR_OP
AML_FIELD_OP
AML_INDEX_FIELD_OP
AML_BANK_FIELD_OP
AML_NAME_OP
AML_ALIAS_OP
AML_MUTEX_OP
AML_EVENT_OP
AML_REGION_OP
AML_INT_NAMEDFIELD_OP
Opcodes that have an associated namespace node ( AML_NSNODE flag )
AML_SCOPE_OP
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
2017-04-26 16:18:40 +08:00
AML_POWER_RESOURCE_OP
2005-04-16 15:20:36 -07:00
AML_PROCESSOR_OP
AML_NAME_OP
AML_ALIAS_OP
AML_MUTEX_OP
AML_EVENT_OP
AML_REGION_OP
AML_CREATE_FIELD_OP
AML_CREATE_BIT_FIELD_OP
AML_CREATE_BYTE_FIELD_OP
AML_CREATE_WORD_FIELD_OP
AML_CREATE_DWORD_FIELD_OP
AML_CREATE_QWORD_FIELD_OP
AML_INT_NAMEDFIELD_OP
AML_INT_METHODCALL_OP
AML_INT_NAMEPATH_OP
Opcodes that define named ACPI objects ( AML_NAMED flag )
AML_SCOPE_OP
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
2017-04-26 16:18:40 +08:00
AML_POWER_RESOURCE_OP
2005-04-16 15:20:36 -07:00
AML_PROCESSOR_OP
AML_NAME_OP
AML_ALIAS_OP
AML_MUTEX_OP
AML_EVENT_OP
AML_REGION_OP
AML_INT_NAMEDFIELD_OP
Opcodes that contain executable AML as part of the definition that
must be deferred until needed
AML_METHOD_OP
2017-04-26 16:18:40 +08:00
AML_VARIABLE_PACKAGE_OP
2005-04-16 15:20:36 -07:00
AML_CREATE_FIELD_OP
AML_CREATE_BIT_FIELD_OP
AML_CREATE_BYTE_FIELD_OP
AML_CREATE_WORD_FIELD_OP
AML_CREATE_DWORD_FIELD_OP
AML_CREATE_QWORD_FIELD_OP
AML_REGION_OP
AML_BUFFER_OP
Field opcodes
AML_CREATE_FIELD_OP
AML_FIELD_OP
AML_INDEX_FIELD_OP
AML_BANK_FIELD_OP
Field " Create " opcodes
AML_CREATE_FIELD_OP
AML_CREATE_BIT_FIELD_OP
AML_CREATE_BYTE_FIELD_OP
AML_CREATE_WORD_FIELD_OP
AML_CREATE_DWORD_FIELD_OP
AML_CREATE_QWORD_FIELD_OP
2005-04-18 22:49:35 -04:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-04-16 15:20:36 -07:00
/*
2012-10-31 02:26:55 +00:00
* Master Opcode information table . A summary of everything we know about each
2005-04-18 22:49:35 -04:00
* opcode , all in one place .
2005-04-16 15:20:36 -07:00
*/
2005-08-05 00:44:28 -04:00
const struct acpi_opcode_info acpi_gbl_aml_op_info [ AML_NUM_OPCODES ] = {
2005-04-16 15:20:36 -07:00
/*! [Begin] no source code translation */
/* Index Name Parser Args Interpreter Args ObjectType Class Type Flags */
2005-08-05 00:44:28 -04:00
/* 00 */ ACPI_OP ( " Zero " , ARGP_ZERO_OP , ARGI_ZERO_OP , ACPI_TYPE_INTEGER ,
2015-12-29 13:52:32 +08:00
AML_CLASS_ARGUMENT , AML_TYPE_CONSTANT , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 01 */ ACPI_OP ( " One " , ARGP_ONE_OP , ARGI_ONE_OP , ACPI_TYPE_INTEGER ,
2015-12-29 13:52:32 +08:00
AML_CLASS_ARGUMENT , AML_TYPE_CONSTANT , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 02 */ ACPI_OP ( " Alias " , ARGP_ALIAS_OP , ARGI_ALIAS_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_ALIAS , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_SIMPLE ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 03 */ ACPI_OP ( " Name " , ARGP_NAME_OP , ARGI_NAME_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_NAMED_OBJECT , AML_TYPE_NAMED_COMPLEX ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 04 */ ACPI_OP ( " ByteConst " , ARGP_BYTE_OP , ARGI_BYTE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_INTEGER , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 05 */ ACPI_OP ( " WordConst " , ARGP_WORD_OP , ARGI_WORD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_INTEGER , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 06 */ ACPI_OP ( " DwordConst " , ARGP_DWORD_OP , ARGI_DWORD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_INTEGER , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 07 */ ACPI_OP ( " String " , ARGP_STRING_OP , ARGI_STRING_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_STRING , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 08 */ ACPI_OP ( " Scope " , ARGP_SCOPE_OP , ARGI_SCOPE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_SCOPE , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_NO_OBJ ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 09 */ ACPI_OP ( " Buffer " , ARGP_BUFFER_OP , ARGI_BUFFER_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_BUFFER , AML_CLASS_CREATE ,
AML_TYPE_CREATE_OBJECT ,
AML_HAS_ARGS | AML_DEFER | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 0A */ ACPI_OP ( " Package " , ARGP_PACKAGE_OP , ARGI_PACKAGE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_PACKAGE , AML_CLASS_CREATE ,
AML_TYPE_CREATE_OBJECT ,
AML_HAS_ARGS | AML_DEFER | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 0B */ ACPI_OP ( " Method " , ARGP_METHOD_OP , ARGI_METHOD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_METHOD , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_COMPLEX ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED | AML_DEFER ) ,
2005-08-05 00:44:28 -04:00
/* 0C */ ACPI_OP ( " Local0 " , ARGP_LOCAL0 , ARGI_LOCAL0 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 0D */ ACPI_OP ( " Local1 " , ARGP_LOCAL1 , ARGI_LOCAL1 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 0E */ ACPI_OP ( " Local2 " , ARGP_LOCAL2 , ARGI_LOCAL2 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 0F */ ACPI_OP ( " Local3 " , ARGP_LOCAL3 , ARGI_LOCAL3 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 10 */ ACPI_OP ( " Local4 " , ARGP_LOCAL4 , ARGI_LOCAL4 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 11 */ ACPI_OP ( " Local5 " , ARGP_LOCAL5 , ARGI_LOCAL5 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 12 */ ACPI_OP ( " Local6 " , ARGP_LOCAL6 , ARGI_LOCAL6 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 13 */ ACPI_OP ( " Local7 " , ARGP_LOCAL7 , ARGI_LOCAL7 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LOCAL_VARIABLE , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 14 */ ACPI_OP ( " Arg0 " , ARGP_ARG0 , ARGI_ARG0 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 15 */ ACPI_OP ( " Arg1 " , ARGP_ARG1 , ARGI_ARG1 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 16 */ ACPI_OP ( " Arg2 " , ARGP_ARG2 , ARGI_ARG2 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 17 */ ACPI_OP ( " Arg3 " , ARGP_ARG3 , ARGI_ARG3 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 18 */ ACPI_OP ( " Arg4 " , ARGP_ARG4 , ARGI_ARG4 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 19 */ ACPI_OP ( " Arg5 " , ARGP_ARG5 , ARGI_ARG5 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 1A */ ACPI_OP ( " Arg6 " , ARGP_ARG6 , ARGI_ARG6 ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_METHOD_ARGUMENT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 1B */ ACPI_OP ( " Store " , ARGP_STORE_OP , ARGI_STORE_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 1C */ ACPI_OP ( " RefOf " , ARGP_REF_OF_OP , ARGI_REF_OF_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 1D */ ACPI_OP ( " Add " , ARGP_ADD_OP , ARGI_ADD_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 1E */ ACPI_OP ( " Concatenate " , ARGP_CONCAT_OP , ARGI_CONCAT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 1F */ ACPI_OP ( " Subtract " , ARGP_SUBTRACT_OP , ARGI_SUBTRACT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 20 */ ACPI_OP ( " Increment " , ARGP_INCREMENT_OP , ARGI_INCREMENT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 21 */ ACPI_OP ( " Decrement " , ARGP_DECREMENT_OP , ARGI_DECREMENT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 22 */ ACPI_OP ( " Multiply " , ARGP_MULTIPLY_OP , ARGI_MULTIPLY_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 23 */ ACPI_OP ( " Divide " , ARGP_DIVIDE_OP , ARGI_DIVIDE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_2T_1R ,
AML_FLAGS_EXEC_2A_2T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 24 */ ACPI_OP ( " ShiftLeft " , ARGP_SHIFT_LEFT_OP , ARGI_SHIFT_LEFT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 25 */ ACPI_OP ( " ShiftRight " , ARGP_SHIFT_RIGHT_OP , ARGI_SHIFT_RIGHT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 26 */ ACPI_OP ( " And " , ARGP_BIT_AND_OP , ARGI_BIT_AND_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 27 */ ACPI_OP ( " NAnd " , ARGP_BIT_NAND_OP , ARGI_BIT_NAND_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 28 */ ACPI_OP ( " Or " , ARGP_BIT_OR_OP , ARGI_BIT_OR_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 29 */ ACPI_OP ( " NOr " , ARGP_BIT_NOR_OP , ARGI_BIT_NOR_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 2A */ ACPI_OP ( " XOr " , ARGP_BIT_XOR_OP , ARGI_BIT_XOR_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 2B */ ACPI_OP ( " Not " , ARGP_BIT_NOT_OP , ARGI_BIT_NOT_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 2C */ ACPI_OP ( " FindSetLeftBit " , ARGP_FIND_SET_LEFT_BIT_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 2D */ ACPI_OP ( " FindSetRightBit " , ARGP_FIND_SET_RIGHT_BIT_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 2E */ ACPI_OP ( " DerefOf " , ARGP_DEREF_OF_OP , ARGI_DEREF_OF_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_1R , AML_FLAGS_EXEC_1A_0T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 2F */ ACPI_OP ( " Notify " , ARGP_NOTIFY_OP , ARGI_NOTIFY_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_0T_0R , AML_FLAGS_EXEC_2A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 30 */ ACPI_OP ( " SizeOf " , ARGP_SIZE_OF_OP , ARGI_SIZE_OF_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE ) ,
2005-08-05 00:44:28 -04:00
/* 31 */ ACPI_OP ( " Index " , ARGP_INDEX_OP , ARGI_INDEX_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 32 */ ACPI_OP ( " Match " , ARGP_MATCH_OP , ARGI_MATCH_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_6A_0T_1R ,
AML_FLAGS_EXEC_6A_0T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 33 */ ACPI_OP ( " CreateDWordField " , ARGP_CREATE_DWORD_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 34 */ ACPI_OP ( " CreateWordField " , ARGP_CREATE_WORD_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 35 */ ACPI_OP ( " CreateByteField " , ARGP_CREATE_BYTE_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 36 */ ACPI_OP ( " CreateBitField " , ARGP_CREATE_BIT_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2015-12-29 14:00:28 +08:00
/* 37 */ ACPI_OP ( " ObjectType " , ARGP_OBJECT_TYPE_OP , ARGI_OBJECT_TYPE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE ) ,
2005-08-05 00:44:28 -04:00
/* 38 */ ACPI_OP ( " LAnd " , ARGP_LAND_OP , ARGI_LAND_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_0T_1R ,
2012-10-31 02:25:45 +00:00
AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC |
AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 39 */ ACPI_OP ( " LOr " , ARGP_LOR_OP , ARGI_LOR_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_0T_1R ,
AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC |
2012-10-31 02:25:45 +00:00
AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 3A */ ACPI_OP ( " LNot " , ARGP_LNOT_OP , ARGI_LNOT_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_0T_1R ,
AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 3B */ ACPI_OP ( " LEqual " , ARGP_LEQUAL_OP , ARGI_LEQUAL_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_0T_1R ,
AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 3C */ ACPI_OP ( " LGreater " , ARGP_LGREATER_OP , ARGI_LGREATER_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_0T_1R ,
AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 3D */ ACPI_OP ( " LLess " , ARGP_LLESS_OP , ARGI_LLESS_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_0T_1R ,
AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 3E */ ACPI_OP ( " If " , ARGP_IF_OP , ARGI_IF_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_CONTROL , AML_TYPE_CONTROL , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 3F */ ACPI_OP ( " Else " , ARGP_ELSE_OP , ARGI_ELSE_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_CONTROL , AML_TYPE_CONTROL , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 40 */ ACPI_OP ( " While " , ARGP_WHILE_OP , ARGI_WHILE_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_CONTROL , AML_TYPE_CONTROL , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 41 */ ACPI_OP ( " Noop " , ARGP_NOOP_OP , ARGI_NOOP_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_CONTROL , AML_TYPE_CONTROL , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 42 */ ACPI_OP ( " Return " , ARGP_RETURN_OP , ARGI_RETURN_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_CONTROL ,
AML_TYPE_CONTROL , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 43 */ ACPI_OP ( " Break " , ARGP_BREAK_OP , ARGI_BREAK_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_CONTROL , AML_TYPE_CONTROL , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 44 */ ACPI_OP ( " BreakPoint " , ARGP_BREAK_POINT_OP , ARGI_BREAK_POINT_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_CONTROL , AML_TYPE_CONTROL , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 45 */ ACPI_OP ( " Ones " , ARGP_ONES_OP , ARGI_ONES_OP , ACPI_TYPE_INTEGER ,
2015-12-29 13:52:32 +08:00
AML_CLASS_ARGUMENT , AML_TYPE_CONSTANT , AML_CONSTANT ) ,
2005-04-16 15:20:36 -07:00
/* Prefixed opcodes (Two-byte opcodes with a prefix op) */
2005-08-05 00:44:28 -04:00
/* 46 */ ACPI_OP ( " Mutex " , ARGP_MUTEX_OP , ARGI_MUTEX_OP , ACPI_TYPE_MUTEX ,
2015-12-29 13:52:32 +08:00
AML_CLASS_NAMED_OBJECT , AML_TYPE_NAMED_SIMPLE ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 47 */ ACPI_OP ( " Event " , ARGP_EVENT_OP , ARGI_EVENT_OP , ACPI_TYPE_EVENT ,
2015-12-29 13:52:32 +08:00
AML_CLASS_NAMED_OBJECT , AML_TYPE_NAMED_SIMPLE ,
AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 48 */ ACPI_OP ( " CondRefOf " , ARGP_COND_REF_OF_OP , ARGI_COND_REF_OF_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R , AML_FLAGS_EXEC_1A_1T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 49 */ ACPI_OP ( " CreateField " , ARGP_CREATE_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 4A */ ACPI_OP ( " Load " , ARGP_LOAD_OP , ARGI_LOAD_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_1T_0R ,
AML_FLAGS_EXEC_1A_1T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 4B */ ACPI_OP ( " Stall " , ARGP_STALL_OP , ARGI_STALL_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_0T_0R ,
AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 4C */ ACPI_OP ( " Sleep " , ARGP_SLEEP_OP , ARGI_SLEEP_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_0T_0R ,
AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 4D */ ACPI_OP ( " Acquire " , ARGP_ACQUIRE_OP , ARGI_ACQUIRE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_0T_1R , AML_FLAGS_EXEC_2A_0T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 4E */ ACPI_OP ( " Signal " , ARGP_SIGNAL_OP , ARGI_SIGNAL_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_0R , AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 4F */ ACPI_OP ( " Wait " , ARGP_WAIT_OP , ARGI_WAIT_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_0T_1R ,
AML_FLAGS_EXEC_2A_0T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 50 */ ACPI_OP ( " Reset " , ARGP_RESET_OP , ARGI_RESET_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_0T_0R ,
AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 51 */ ACPI_OP ( " Release " , ARGP_RELEASE_OP , ARGI_RELEASE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_0R , AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 52 */ ACPI_OP ( " FromBCD " , ARGP_FROM_BCD_OP , ARGI_FROM_BCD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 53 */ ACPI_OP ( " ToBCD " , ARGP_TO_BCD_OP , ARGI_TO_BCD_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 54 */ ACPI_OP ( " Unload " , ARGP_UNLOAD_OP , ARGI_UNLOAD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_0T_0R , AML_FLAGS_EXEC_1A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 55 */ ACPI_OP ( " Revision " , ARGP_REVISION_OP , ARGI_REVISION_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_INTEGER , AML_CLASS_ARGUMENT ,
AML_TYPE_CONSTANT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 56 */ ACPI_OP ( " Debug " , ARGP_DEBUG_OP , ARGI_DEBUG_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_CONSTANT , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 57 */ ACPI_OP ( " Fatal " , ARGP_FATAL_OP , ARGI_FATAL_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_3A_0T_0R ,
AML_FLAGS_EXEC_3A_0T_0R ) ,
2005-08-05 00:44:28 -04:00
/* 58 */ ACPI_OP ( " OperationRegion " , ARGP_REGION_OP , ARGI_REGION_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_REGION , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_COMPLEX ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED | AML_DEFER ) ,
2005-08-05 00:44:28 -04:00
/* 59 */ ACPI_OP ( " Field " , ARGP_FIELD_OP , ARGI_FIELD_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_NAMED_OBJECT , AML_TYPE_NAMED_FIELD ,
2012-10-31 02:25:45 +00:00
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_FIELD ) ,
2005-08-05 00:44:28 -04:00
/* 5A */ ACPI_OP ( " Device " , ARGP_DEVICE_OP , ARGI_DEVICE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_DEVICE , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_NO_OBJ ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 5B */ ACPI_OP ( " Processor " , ARGP_PROCESSOR_OP , ARGI_PROCESSOR_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_PROCESSOR , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_SIMPLE ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 5C */ ACPI_OP ( " PowerResource " , ARGP_POWER_RES_OP , ARGI_POWER_RES_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_POWER , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_SIMPLE ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 5D */ ACPI_OP ( " ThermalZone " , ARGP_THERMAL_ZONE_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 5E */ ACPI_OP ( " IndexField " , ARGP_INDEX_FIELD_OP , ARGI_INDEX_FIELD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_FIELD ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
2012-10-31 02:25:45 +00:00
AML_FIELD ) ,
2005-08-05 00:44:28 -04:00
/* 5F */ ACPI_OP ( " BankField " , ARGP_BANK_FIELD_OP , ARGI_BANK_FIELD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_BANK_FIELD ,
2012-10-31 02:25:45 +00:00
AML_CLASS_NAMED_OBJECT , AML_TYPE_NAMED_FIELD ,
2015-12-29 13:52:32 +08:00
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
2012-10-31 02:25:45 +00:00
AML_FIELD | AML_DEFER ) ,
2005-04-16 15:20:36 -07:00
/* Internal opcodes that map to invalid AML opcodes */
2005-08-05 00:44:28 -04:00
/* 60 */ ACPI_OP ( " LNotEqual " , ARGP_LNOTEQUAL_OP , ARGI_LNOTEQUAL_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_INTERNAL ,
AML_TYPE_BOGUS , AML_HAS_ARGS | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 61 */ ACPI_OP ( " LLessEqual " , ARGP_LLESSEQUAL_OP , ARGI_LLESSEQUAL_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_INTERNAL ,
AML_TYPE_BOGUS , AML_HAS_ARGS | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 62 */ ACPI_OP ( " LGreaterEqual " , ARGP_LGREATEREQUAL_OP ,
2015-12-29 13:52:32 +08:00
ARGI_LGREATEREQUAL_OP , ACPI_TYPE_ANY ,
AML_CLASS_INTERNAL , AML_TYPE_BOGUS ,
AML_HAS_ARGS | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 63 */ ACPI_OP ( " -NamePath- " , ARGP_NAMEPATH_OP , ARGI_NAMEPATH_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_LOCAL_REFERENCE , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_NSOBJECT | AML_NSNODE ) ,
2005-08-05 00:44:28 -04:00
/* 64 */ ACPI_OP ( " -MethodCall- " , ARGP_METHODCALL_OP , ARGI_METHODCALL_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_METHOD , AML_CLASS_METHOD_CALL ,
AML_TYPE_METHOD_CALL ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE ) ,
2005-08-05 00:44:28 -04:00
/* 65 */ ACPI_OP ( " -ByteList- " , ARGP_BYTELIST_OP , ARGI_BYTELIST_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 66 */ ACPI_OP ( " -ReservedField- " , ARGP_RESERVEDFIELD_OP ,
2015-12-29 13:52:32 +08:00
ARGI_RESERVEDFIELD_OP , ACPI_TYPE_ANY ,
AML_CLASS_INTERNAL , AML_TYPE_BOGUS , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 67 */ ACPI_OP ( " -NamedField- " , ARGP_NAMEDFIELD_OP , ARGI_NAMEDFIELD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_INTERNAL ,
AML_TYPE_BOGUS ,
AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ) ,
2005-08-05 00:44:28 -04:00
/* 68 */ ACPI_OP ( " -AccessField- " , ARGP_ACCESSFIELD_OP ,
2015-12-29 13:52:32 +08:00
ARGI_ACCESSFIELD_OP , ACPI_TYPE_ANY ,
AML_CLASS_INTERNAL , AML_TYPE_BOGUS , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 69 */ ACPI_OP ( " -StaticString " , ARGP_STATICSTRING_OP ,
2015-12-29 13:52:32 +08:00
ARGI_STATICSTRING_OP , ACPI_TYPE_ANY ,
AML_CLASS_INTERNAL , AML_TYPE_BOGUS , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 6A */ ACPI_OP ( " -Return Value- " , ARG_NONE , ARG_NONE , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_RETURN_VALUE , AML_TYPE_RETURN ,
AML_HAS_ARGS | AML_HAS_RETVAL ) ,
2005-08-05 00:44:28 -04:00
/* 6B */ ACPI_OP ( " -UNKNOWN_OP- " , ARG_NONE , ARG_NONE , ACPI_TYPE_INVALID ,
2015-12-29 13:52:32 +08:00
AML_CLASS_UNKNOWN , AML_TYPE_BOGUS , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 6C */ ACPI_OP ( " -ASCII_ONLY- " , ARG_NONE , ARG_NONE , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_ASCII , AML_TYPE_BOGUS , AML_HAS_ARGS ) ,
2005-08-05 00:44:28 -04:00
/* 6D */ ACPI_OP ( " -PREFIX_ONLY- " , ARG_NONE , ARG_NONE , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_PREFIX , AML_TYPE_BOGUS , AML_HAS_ARGS ) ,
2005-04-16 15:20:36 -07:00
/* ACPI 2.0 opcodes */
2005-08-05 00:44:28 -04:00
/* 6E */ ACPI_OP ( " QwordConst " , ARGP_QWORD_OP , ARGI_QWORD_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_INTEGER , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 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 ) ,
/* 70 */ ACPI_OP ( " ConcatenateResTemplate " , ARGP_CONCAT_RES_OP ,
2015-12-29 13:52:32 +08:00
ARGI_CONCAT_RES_OP , ACPI_TYPE_ANY ,
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 71 */ ACPI_OP ( " Mod " , ARGP_MOD_OP , ARGI_MOD_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 72 */ ACPI_OP ( " CreateQWordField " , ARGP_CREATE_QWORD_FIELD_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 73 */ ACPI_OP ( " ToBuffer " , ARGP_TO_BUFFER_OP , ARGI_TO_BUFFER_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 74 */ ACPI_OP ( " ToDecimalString " , ARGP_TO_DEC_STR_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 75 */ ACPI_OP ( " ToHexString " , ARGP_TO_HEX_STR_OP , ARGI_TO_HEX_STR_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 76 */ ACPI_OP ( " ToInteger " , ARGP_TO_INTEGER_OP , ARGI_TO_INTEGER_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R ,
AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 77 */ ACPI_OP ( " ToString " , ARGP_TO_STRING_OP , ARGI_TO_STRING_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_2A_1T_1R ,
AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 78 */ ACPI_OP ( " CopyObject " , ARGP_COPY_OP , ARGI_COPY_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_1A_1T_1R , AML_FLAGS_EXEC_1A_1T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 79 */ ACPI_OP ( " Mid " , ARGP_MID_OP , ARGI_MID_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_3A_1T_1R ,
AML_FLAGS_EXEC_3A_1T_1R | AML_CONSTANT ) ,
2005-08-05 00:44:28 -04:00
/* 7A */ ACPI_OP ( " Continue " , ARGP_CONTINUE_OP , ARGI_CONTINUE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_CONTROL , AML_TYPE_CONTROL , 0 ) ,
2005-08-05 00:44:28 -04:00
/* 7B */ ACPI_OP ( " LoadTable " , ARGP_LOAD_TABLE_OP , ARGI_LOAD_TABLE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_EXECUTE ,
AML_TYPE_EXEC_6A_0T_1R , AML_FLAGS_EXEC_6A_0T_1R ) ,
2005-08-05 00:44:28 -04:00
/* 7C */ ACPI_OP ( " DataTableRegion " , ARGP_DATA_REGION_OP ,
2015-12-29 13:52:32 +08:00
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 ) ,
2005-08-05 00:44:28 -04:00
/* 7D */ ACPI_OP ( " [EvalSubTree] " , ARGP_SCOPE_OP , ARGI_SCOPE_OP ,
2015-12-29 13:52:32 +08:00
ACPI_TYPE_ANY , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_NO_OBJ ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
2012-10-31 02:25:45 +00:00
AML_NSNODE ) ,
2005-04-16 15:20:36 -07:00
/* ACPI 3.0 opcodes */
2005-08-05 00:44:28 -04:00
/* 7E */ ACPI_OP ( " Timer " , ARGP_TIMER_OP , ARGI_TIMER_OP , ACPI_TYPE_ANY ,
2015-12-29 13:52:32 +08:00
AML_CLASS_EXECUTE , AML_TYPE_EXEC_0A_0T_1R ,
2011-11-16 13:39:07 +08:00
AML_FLAGS_EXEC_0A_0T_1R ) ,
/* ACPI 5.0 opcodes */
/* 7F */ ACPI_OP ( " -ConnectField- " , ARGP_CONNECTFIELD_OP ,
ARGI_CONNECTFIELD_OP , ACPI_TYPE_ANY ,
AML_CLASS_INTERNAL , AML_TYPE_BOGUS , AML_HAS_ARGS ) ,
/* 80 */ ACPI_OP ( " -ExtAccessField- " , ARGP_CONNECTFIELD_OP ,
ARGI_CONNECTFIELD_OP , ACPI_TYPE_ANY ,
2015-04-13 11:50:32 +08:00
AML_CLASS_INTERNAL , AML_TYPE_BOGUS , 0 ) ,
/* ACPI 6.0 opcodes */
2017-06-05 16:41:28 +08:00
/* 81 */ ACPI_OP ( " External " , ARGP_EXTERNAL_OP , ARGI_EXTERNAL_OP ,
ACPI_TYPE_ANY , AML_CLASS_NAMED_OBJECT ,
AML_TYPE_NAMED_SIMPLE ,
AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE |
AML_NSNODE | AML_NAMED ) ,
2017-04-28 08:53:22 +08:00
/* 82 */ ACPI_OP ( " Comment " , ARGP_COMMENT_OP , ARGI_COMMENT_OP ,
ACPI_TYPE_STRING , AML_CLASS_ARGUMENT ,
AML_TYPE_LITERAL , AML_CONSTANT )
2005-04-16 15:20:36 -07:00
/*! [End] no source code translation !*/
} ;