Home | History | Annotate | Line # | Download | only in parser
psopcode.c revision 1.3.4.2
      1  1.3.4.2  rmind /******************************************************************************
      2  1.3.4.2  rmind  *
      3  1.3.4.2  rmind  * Module Name: psopcode - Parser/Interpreter opcode information table
      4  1.3.4.2  rmind  *
      5  1.3.4.2  rmind  *****************************************************************************/
      6  1.3.4.2  rmind 
      7  1.3.4.2  rmind /*
      8  1.3.4.2  rmind  * Copyright (C) 2000 - 2011, Intel Corp.
      9  1.3.4.2  rmind  * All rights reserved.
     10  1.3.4.2  rmind  *
     11  1.3.4.2  rmind  * Redistribution and use in source and binary forms, with or without
     12  1.3.4.2  rmind  * modification, are permitted provided that the following conditions
     13  1.3.4.2  rmind  * are met:
     14  1.3.4.2  rmind  * 1. Redistributions of source code must retain the above copyright
     15  1.3.4.2  rmind  *    notice, this list of conditions, and the following disclaimer,
     16  1.3.4.2  rmind  *    without modification.
     17  1.3.4.2  rmind  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  1.3.4.2  rmind  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  1.3.4.2  rmind  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  1.3.4.2  rmind  *    including a substantially similar Disclaimer requirement for further
     21  1.3.4.2  rmind  *    binary redistribution.
     22  1.3.4.2  rmind  * 3. Neither the names of the above-listed copyright holders nor the names
     23  1.3.4.2  rmind  *    of any contributors may be used to endorse or promote products derived
     24  1.3.4.2  rmind  *    from this software without specific prior written permission.
     25  1.3.4.2  rmind  *
     26  1.3.4.2  rmind  * Alternatively, this software may be distributed under the terms of the
     27  1.3.4.2  rmind  * GNU General Public License ("GPL") version 2 as published by the Free
     28  1.3.4.2  rmind  * Software Foundation.
     29  1.3.4.2  rmind  *
     30  1.3.4.2  rmind  * NO WARRANTY
     31  1.3.4.2  rmind  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  1.3.4.2  rmind  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  1.3.4.2  rmind  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34  1.3.4.2  rmind  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  1.3.4.2  rmind  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  1.3.4.2  rmind  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  1.3.4.2  rmind  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  1.3.4.2  rmind  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  1.3.4.2  rmind  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  1.3.4.2  rmind  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  1.3.4.2  rmind  * POSSIBILITY OF SUCH DAMAGES.
     42  1.3.4.2  rmind  */
     43  1.3.4.2  rmind 
     44  1.3.4.2  rmind 
     45  1.3.4.2  rmind #include "acpi.h"
     46  1.3.4.2  rmind #include "accommon.h"
     47  1.3.4.2  rmind #include "acparser.h"
     48  1.3.4.2  rmind #include "acopcode.h"
     49  1.3.4.2  rmind #include "amlcode.h"
     50  1.3.4.2  rmind 
     51  1.3.4.2  rmind 
     52  1.3.4.2  rmind #define _COMPONENT          ACPI_PARSER
     53  1.3.4.2  rmind         ACPI_MODULE_NAME    ("psopcode")
     54  1.3.4.2  rmind 
     55  1.3.4.2  rmind 
     56  1.3.4.2  rmind static const UINT8          AcpiGbl_ArgumentCount[] = {0,1,1,1,1,2,2,2,2,3,3,6};
     57  1.3.4.2  rmind 
     58  1.3.4.2  rmind 
     59  1.3.4.2  rmind /*******************************************************************************
     60  1.3.4.2  rmind  *
     61  1.3.4.2  rmind  * NAME:        AcpiGbl_AmlOpInfo
     62  1.3.4.2  rmind  *
     63  1.3.4.2  rmind  * DESCRIPTION: Opcode table. Each entry contains <opcode, type, name, operands>
     64  1.3.4.2  rmind  *              The name is a simple ascii string, the operand specifier is an
     65  1.3.4.2  rmind  *              ascii string with one letter per operand.  The letter specifies
     66  1.3.4.2  rmind  *              the operand type.
     67  1.3.4.2  rmind  *
     68  1.3.4.2  rmind  ******************************************************************************/
     69  1.3.4.2  rmind 
     70  1.3.4.2  rmind /*
     71  1.3.4.2  rmind  * Summary of opcode types/flags
     72  1.3.4.2  rmind  *
     73  1.3.4.2  rmind 
     74  1.3.4.2  rmind  Opcodes that have associated namespace objects (AML_NSOBJECT flag)
     75  1.3.4.2  rmind 
     76  1.3.4.2  rmind     AML_SCOPE_OP
     77  1.3.4.2  rmind     AML_DEVICE_OP
     78  1.3.4.2  rmind     AML_THERMAL_ZONE_OP
     79  1.3.4.2  rmind     AML_METHOD_OP
     80  1.3.4.2  rmind     AML_POWER_RES_OP
     81  1.3.4.2  rmind     AML_PROCESSOR_OP
     82  1.3.4.2  rmind     AML_FIELD_OP
     83  1.3.4.2  rmind     AML_INDEX_FIELD_OP
     84  1.3.4.2  rmind     AML_BANK_FIELD_OP
     85  1.3.4.2  rmind     AML_NAME_OP
     86  1.3.4.2  rmind     AML_ALIAS_OP
     87  1.3.4.2  rmind     AML_MUTEX_OP
     88  1.3.4.2  rmind     AML_EVENT_OP
     89  1.3.4.2  rmind     AML_REGION_OP
     90  1.3.4.2  rmind     AML_CREATE_FIELD_OP
     91  1.3.4.2  rmind     AML_CREATE_BIT_FIELD_OP
     92  1.3.4.2  rmind     AML_CREATE_BYTE_FIELD_OP
     93  1.3.4.2  rmind     AML_CREATE_WORD_FIELD_OP
     94  1.3.4.2  rmind     AML_CREATE_DWORD_FIELD_OP
     95  1.3.4.2  rmind     AML_CREATE_QWORD_FIELD_OP
     96  1.3.4.2  rmind     AML_INT_NAMEDFIELD_OP
     97  1.3.4.2  rmind     AML_INT_METHODCALL_OP
     98  1.3.4.2  rmind     AML_INT_NAMEPATH_OP
     99  1.3.4.2  rmind 
    100  1.3.4.2  rmind   Opcodes that are "namespace" opcodes (AML_NSOPCODE flag)
    101  1.3.4.2  rmind 
    102  1.3.4.2  rmind     AML_SCOPE_OP
    103  1.3.4.2  rmind     AML_DEVICE_OP
    104  1.3.4.2  rmind     AML_THERMAL_ZONE_OP
    105  1.3.4.2  rmind     AML_METHOD_OP
    106  1.3.4.2  rmind     AML_POWER_RES_OP
    107  1.3.4.2  rmind     AML_PROCESSOR_OP
    108  1.3.4.2  rmind     AML_FIELD_OP
    109  1.3.4.2  rmind     AML_INDEX_FIELD_OP
    110  1.3.4.2  rmind     AML_BANK_FIELD_OP
    111  1.3.4.2  rmind     AML_NAME_OP
    112  1.3.4.2  rmind     AML_ALIAS_OP
    113  1.3.4.2  rmind     AML_MUTEX_OP
    114  1.3.4.2  rmind     AML_EVENT_OP
    115  1.3.4.2  rmind     AML_REGION_OP
    116  1.3.4.2  rmind     AML_INT_NAMEDFIELD_OP
    117  1.3.4.2  rmind 
    118  1.3.4.2  rmind   Opcodes that have an associated namespace node (AML_NSNODE flag)
    119  1.3.4.2  rmind 
    120  1.3.4.2  rmind     AML_SCOPE_OP
    121  1.3.4.2  rmind     AML_DEVICE_OP
    122  1.3.4.2  rmind     AML_THERMAL_ZONE_OP
    123  1.3.4.2  rmind     AML_METHOD_OP
    124  1.3.4.2  rmind     AML_POWER_RES_OP
    125  1.3.4.2  rmind     AML_PROCESSOR_OP
    126  1.3.4.2  rmind     AML_NAME_OP
    127  1.3.4.2  rmind     AML_ALIAS_OP
    128  1.3.4.2  rmind     AML_MUTEX_OP
    129  1.3.4.2  rmind     AML_EVENT_OP
    130  1.3.4.2  rmind     AML_REGION_OP
    131  1.3.4.2  rmind     AML_CREATE_FIELD_OP
    132  1.3.4.2  rmind     AML_CREATE_BIT_FIELD_OP
    133  1.3.4.2  rmind     AML_CREATE_BYTE_FIELD_OP
    134  1.3.4.2  rmind     AML_CREATE_WORD_FIELD_OP
    135  1.3.4.2  rmind     AML_CREATE_DWORD_FIELD_OP
    136  1.3.4.2  rmind     AML_CREATE_QWORD_FIELD_OP
    137  1.3.4.2  rmind     AML_INT_NAMEDFIELD_OP
    138  1.3.4.2  rmind     AML_INT_METHODCALL_OP
    139  1.3.4.2  rmind     AML_INT_NAMEPATH_OP
    140  1.3.4.2  rmind 
    141  1.3.4.2  rmind   Opcodes that define named ACPI objects (AML_NAMED flag)
    142  1.3.4.2  rmind 
    143  1.3.4.2  rmind     AML_SCOPE_OP
    144  1.3.4.2  rmind     AML_DEVICE_OP
    145  1.3.4.2  rmind     AML_THERMAL_ZONE_OP
    146  1.3.4.2  rmind     AML_METHOD_OP
    147  1.3.4.2  rmind     AML_POWER_RES_OP
    148  1.3.4.2  rmind     AML_PROCESSOR_OP
    149  1.3.4.2  rmind     AML_NAME_OP
    150  1.3.4.2  rmind     AML_ALIAS_OP
    151  1.3.4.2  rmind     AML_MUTEX_OP
    152  1.3.4.2  rmind     AML_EVENT_OP
    153  1.3.4.2  rmind     AML_REGION_OP
    154  1.3.4.2  rmind     AML_INT_NAMEDFIELD_OP
    155  1.3.4.2  rmind 
    156  1.3.4.2  rmind   Opcodes that contain executable AML as part of the definition that
    157  1.3.4.2  rmind   must be deferred until needed
    158  1.3.4.2  rmind 
    159  1.3.4.2  rmind     AML_METHOD_OP
    160  1.3.4.2  rmind     AML_VAR_PACKAGE_OP
    161  1.3.4.2  rmind     AML_CREATE_FIELD_OP
    162  1.3.4.2  rmind     AML_CREATE_BIT_FIELD_OP
    163  1.3.4.2  rmind     AML_CREATE_BYTE_FIELD_OP
    164  1.3.4.2  rmind     AML_CREATE_WORD_FIELD_OP
    165  1.3.4.2  rmind     AML_CREATE_DWORD_FIELD_OP
    166  1.3.4.2  rmind     AML_CREATE_QWORD_FIELD_OP
    167  1.3.4.2  rmind     AML_REGION_OP
    168  1.3.4.2  rmind     AML_BUFFER_OP
    169  1.3.4.2  rmind 
    170  1.3.4.2  rmind   Field opcodes
    171  1.3.4.2  rmind 
    172  1.3.4.2  rmind     AML_CREATE_FIELD_OP
    173  1.3.4.2  rmind     AML_FIELD_OP
    174  1.3.4.2  rmind     AML_INDEX_FIELD_OP
    175  1.3.4.2  rmind     AML_BANK_FIELD_OP
    176  1.3.4.2  rmind 
    177  1.3.4.2  rmind   Field "Create" opcodes
    178  1.3.4.2  rmind 
    179  1.3.4.2  rmind     AML_CREATE_FIELD_OP
    180  1.3.4.2  rmind     AML_CREATE_BIT_FIELD_OP
    181  1.3.4.2  rmind     AML_CREATE_BYTE_FIELD_OP
    182  1.3.4.2  rmind     AML_CREATE_WORD_FIELD_OP
    183  1.3.4.2  rmind     AML_CREATE_DWORD_FIELD_OP
    184  1.3.4.2  rmind     AML_CREATE_QWORD_FIELD_OP
    185  1.3.4.2  rmind 
    186  1.3.4.2  rmind  ******************************************************************************/
    187  1.3.4.2  rmind 
    188  1.3.4.2  rmind 
    189  1.3.4.2  rmind /*
    190  1.3.4.2  rmind  * Master Opcode information table.  A summary of everything we know about each
    191  1.3.4.2  rmind  * opcode, all in one place.
    192  1.3.4.2  rmind  */
    193  1.3.4.2  rmind const ACPI_OPCODE_INFO    AcpiGbl_AmlOpInfo[AML_NUM_OPCODES] =
    194  1.3.4.2  rmind {
    195  1.3.4.2  rmind /*! [Begin] no source code translation */
    196  1.3.4.2  rmind /* Index           Name                 Parser Args               Interpreter Args                ObjectType                    Class                      Type                  Flags */
    197  1.3.4.2  rmind 
    198  1.3.4.2  rmind /* 00 */ ACPI_OP ("Zero",               ARGP_ZERO_OP,              ARGI_ZERO_OP,               ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_CONSTANT,        AML_CONSTANT),
    199  1.3.4.2  rmind /* 01 */ ACPI_OP ("One",                ARGP_ONE_OP,               ARGI_ONE_OP,                ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_CONSTANT,        AML_CONSTANT),
    200  1.3.4.2  rmind /* 02 */ ACPI_OP ("Alias",              ARGP_ALIAS_OP,             ARGI_ALIAS_OP,              ACPI_TYPE_LOCAL_ALIAS,       AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_SIMPLE,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    201  1.3.4.2  rmind /* 03 */ ACPI_OP ("Name",               ARGP_NAME_OP,              ARGI_NAME_OP,               ACPI_TYPE_ANY,               AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_COMPLEX,   AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    202  1.3.4.2  rmind /* 04 */ ACPI_OP ("ByteConst",          ARGP_BYTE_OP,              ARGI_BYTE_OP,               ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_CONSTANT),
    203  1.3.4.2  rmind /* 05 */ ACPI_OP ("WordConst",          ARGP_WORD_OP,              ARGI_WORD_OP,               ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_CONSTANT),
    204  1.3.4.2  rmind /* 06 */ ACPI_OP ("DwordConst",         ARGP_DWORD_OP,             ARGI_DWORD_OP,              ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_CONSTANT),
    205  1.3.4.2  rmind /* 07 */ ACPI_OP ("String",             ARGP_STRING_OP,            ARGI_STRING_OP,             ACPI_TYPE_STRING,            AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_CONSTANT),
    206  1.3.4.2  rmind /* 08 */ ACPI_OP ("Scope",              ARGP_SCOPE_OP,             ARGI_SCOPE_OP,              ACPI_TYPE_LOCAL_SCOPE,       AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_NO_OBJ,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    207  1.3.4.2  rmind /* 09 */ ACPI_OP ("Buffer",             ARGP_BUFFER_OP,            ARGI_BUFFER_OP,             ACPI_TYPE_BUFFER,            AML_CLASS_CREATE,          AML_TYPE_CREATE_OBJECT,   AML_HAS_ARGS | AML_DEFER | AML_CONSTANT),
    208  1.3.4.2  rmind /* 0A */ ACPI_OP ("Package",            ARGP_PACKAGE_OP,           ARGI_PACKAGE_OP,            ACPI_TYPE_PACKAGE,           AML_CLASS_CREATE,          AML_TYPE_CREATE_OBJECT,   AML_HAS_ARGS | AML_DEFER | AML_CONSTANT),
    209  1.3.4.2  rmind /* 0B */ ACPI_OP ("Method",             ARGP_METHOD_OP,            ARGI_METHOD_OP,             ACPI_TYPE_METHOD,            AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_COMPLEX,   AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED | AML_DEFER),
    210  1.3.4.2  rmind /* 0C */ ACPI_OP ("Local0",             ARGP_LOCAL0,               ARGI_LOCAL0,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    211  1.3.4.2  rmind /* 0D */ ACPI_OP ("Local1",             ARGP_LOCAL1,               ARGI_LOCAL1,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    212  1.3.4.2  rmind /* 0E */ ACPI_OP ("Local2",             ARGP_LOCAL2,               ARGI_LOCAL2,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    213  1.3.4.2  rmind /* 0F */ ACPI_OP ("Local3",             ARGP_LOCAL3,               ARGI_LOCAL3,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    214  1.3.4.2  rmind /* 10 */ ACPI_OP ("Local4",             ARGP_LOCAL4,               ARGI_LOCAL4,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    215  1.3.4.2  rmind /* 11 */ ACPI_OP ("Local5",             ARGP_LOCAL5,               ARGI_LOCAL5,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    216  1.3.4.2  rmind /* 12 */ ACPI_OP ("Local6",             ARGP_LOCAL6,               ARGI_LOCAL6,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    217  1.3.4.2  rmind /* 13 */ ACPI_OP ("Local7",             ARGP_LOCAL7,               ARGI_LOCAL7,                ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LOCAL_VARIABLE,  0),
    218  1.3.4.2  rmind /* 14 */ ACPI_OP ("Arg0",               ARGP_ARG0,                 ARGI_ARG0,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    219  1.3.4.2  rmind /* 15 */ ACPI_OP ("Arg1",               ARGP_ARG1,                 ARGI_ARG1,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    220  1.3.4.2  rmind /* 16 */ ACPI_OP ("Arg2",               ARGP_ARG2,                 ARGI_ARG2,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    221  1.3.4.2  rmind /* 17 */ ACPI_OP ("Arg3",               ARGP_ARG3,                 ARGI_ARG3,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    222  1.3.4.2  rmind /* 18 */ ACPI_OP ("Arg4",               ARGP_ARG4,                 ARGI_ARG4,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    223  1.3.4.2  rmind /* 19 */ ACPI_OP ("Arg5",               ARGP_ARG5,                 ARGI_ARG5,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    224  1.3.4.2  rmind /* 1A */ ACPI_OP ("Arg6",               ARGP_ARG6,                 ARGI_ARG6,                  ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_METHOD_ARGUMENT, 0),
    225  1.3.4.2  rmind /* 1B */ ACPI_OP ("Store",              ARGP_STORE_OP,             ARGI_STORE_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R),
    226  1.3.4.2  rmind /* 1C */ ACPI_OP ("RefOf",              ARGP_REF_OF_OP,            ARGI_REF_OF_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R),
    227  1.3.4.2  rmind /* 1D */ ACPI_OP ("Add",                ARGP_ADD_OP,               ARGI_ADD_OP,                ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    228  1.3.4.2  rmind /* 1E */ ACPI_OP ("Concatenate",        ARGP_CONCAT_OP,            ARGI_CONCAT_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
    229  1.3.4.2  rmind /* 1F */ ACPI_OP ("Subtract",           ARGP_SUBTRACT_OP,          ARGI_SUBTRACT_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    230  1.3.4.2  rmind /* 20 */ ACPI_OP ("Increment",          ARGP_INCREMENT_OP,         ARGI_INCREMENT_OP,          ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
    231  1.3.4.2  rmind /* 21 */ ACPI_OP ("Decrement",          ARGP_DECREMENT_OP,         ARGI_DECREMENT_OP,          ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
    232  1.3.4.2  rmind /* 22 */ ACPI_OP ("Multiply",           ARGP_MULTIPLY_OP,          ARGI_MULTIPLY_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    233  1.3.4.2  rmind /* 23 */ ACPI_OP ("Divide",             ARGP_DIVIDE_OP,            ARGI_DIVIDE_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_2T_1R,   AML_FLAGS_EXEC_2A_2T_1R | AML_CONSTANT),
    234  1.3.4.2  rmind /* 24 */ ACPI_OP ("ShiftLeft",          ARGP_SHIFT_LEFT_OP,        ARGI_SHIFT_LEFT_OP,         ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    235  1.3.4.2  rmind /* 25 */ ACPI_OP ("ShiftRight",         ARGP_SHIFT_RIGHT_OP,       ARGI_SHIFT_RIGHT_OP,        ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    236  1.3.4.2  rmind /* 26 */ ACPI_OP ("And",                ARGP_BIT_AND_OP,           ARGI_BIT_AND_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    237  1.3.4.2  rmind /* 27 */ ACPI_OP ("NAnd",               ARGP_BIT_NAND_OP,          ARGI_BIT_NAND_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    238  1.3.4.2  rmind /* 28 */ ACPI_OP ("Or",                 ARGP_BIT_OR_OP,            ARGI_BIT_OR_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    239  1.3.4.2  rmind /* 29 */ ACPI_OP ("NOr",                ARGP_BIT_NOR_OP,           ARGI_BIT_NOR_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    240  1.3.4.2  rmind /* 2A */ ACPI_OP ("XOr",                ARGP_BIT_XOR_OP,           ARGI_BIT_XOR_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_MATH | AML_CONSTANT),
    241  1.3.4.2  rmind /* 2B */ ACPI_OP ("Not",                ARGP_BIT_NOT_OP,           ARGI_BIT_NOT_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    242  1.3.4.2  rmind /* 2C */ ACPI_OP ("FindSetLeftBit",     ARGP_FIND_SET_LEFT_BIT_OP, 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),
    243  1.3.4.2  rmind /* 2D */ ACPI_OP ("FindSetRightBit",    ARGP_FIND_SET_RIGHT_BIT_OP,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),
    244  1.3.4.2  rmind /* 2E */ ACPI_OP ("DerefOf",            ARGP_DEREF_OF_OP,          ARGI_DEREF_OF_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R),
    245  1.3.4.2  rmind /* 2F */ ACPI_OP ("Notify",             ARGP_NOTIFY_OP,            ARGI_NOTIFY_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_0R,   AML_FLAGS_EXEC_2A_0T_0R),
    246  1.3.4.2  rmind /* 30 */ ACPI_OP ("SizeOf",             ARGP_SIZE_OF_OP,           ARGI_SIZE_OF_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE),
    247  1.3.4.2  rmind /* 31 */ ACPI_OP ("Index",              ARGP_INDEX_OP,             ARGI_INDEX_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R),
    248  1.3.4.2  rmind /* 32 */ ACPI_OP ("Match",              ARGP_MATCH_OP,             ARGI_MATCH_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_6A_0T_1R,   AML_FLAGS_EXEC_6A_0T_1R | AML_CONSTANT),
    249  1.3.4.2  rmind /* 33 */ ACPI_OP ("CreateDWordField",   ARGP_CREATE_DWORD_FIELD_OP,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),
    250  1.3.4.2  rmind /* 34 */ ACPI_OP ("CreateWordField",    ARGP_CREATE_WORD_FIELD_OP, 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),
    251  1.3.4.2  rmind /* 35 */ ACPI_OP ("CreateByteField",    ARGP_CREATE_BYTE_FIELD_OP, 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),
    252  1.3.4.2  rmind /* 36 */ ACPI_OP ("CreateBitField",     ARGP_CREATE_BIT_FIELD_OP,  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),
    253  1.3.4.2  rmind /* 37 */ ACPI_OP ("ObjectType",         ARGP_TYPE_OP,              ARGI_TYPE_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R | AML_NO_OPERAND_RESOLVE),
    254  1.3.4.2  rmind /* 38 */ ACPI_OP ("LAnd",               ARGP_LAND_OP,              ARGI_LAND_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC | AML_CONSTANT),
    255  1.3.4.2  rmind /* 39 */ ACPI_OP ("LOr",                ARGP_LOR_OP,               ARGI_LOR_OP,                ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL_NUMERIC | AML_CONSTANT),
    256  1.3.4.2  rmind /* 3A */ ACPI_OP ("LNot",               ARGP_LNOT_OP,              ARGI_LNOT_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_1R,   AML_FLAGS_EXEC_1A_0T_1R | AML_CONSTANT),
    257  1.3.4.2  rmind /* 3B */ ACPI_OP ("LEqual",             ARGP_LEQUAL_OP,            ARGI_LEQUAL_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
    258  1.3.4.2  rmind /* 3C */ ACPI_OP ("LGreater",           ARGP_LGREATER_OP,          ARGI_LGREATER_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
    259  1.3.4.2  rmind /* 3D */ ACPI_OP ("LLess",              ARGP_LLESS_OP,             ARGI_LLESS_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R | AML_LOGICAL | AML_CONSTANT),
    260  1.3.4.2  rmind /* 3E */ ACPI_OP ("If",                 ARGP_IF_OP,                ARGI_IF_OP,                 ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         AML_HAS_ARGS),
    261  1.3.4.2  rmind /* 3F */ ACPI_OP ("Else",               ARGP_ELSE_OP,              ARGI_ELSE_OP,               ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         AML_HAS_ARGS),
    262  1.3.4.2  rmind /* 40 */ ACPI_OP ("While",              ARGP_WHILE_OP,             ARGI_WHILE_OP,              ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         AML_HAS_ARGS),
    263  1.3.4.2  rmind /* 41 */ ACPI_OP ("Noop",               ARGP_NOOP_OP,              ARGI_NOOP_OP,               ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         0),
    264  1.3.4.2  rmind /* 42 */ ACPI_OP ("Return",             ARGP_RETURN_OP,            ARGI_RETURN_OP,             ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         AML_HAS_ARGS),
    265  1.3.4.2  rmind /* 43 */ ACPI_OP ("Break",              ARGP_BREAK_OP,             ARGI_BREAK_OP,              ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         0),
    266  1.3.4.2  rmind /* 44 */ ACPI_OP ("BreakPoint",         ARGP_BREAK_POINT_OP,       ARGI_BREAK_POINT_OP,        ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         0),
    267  1.3.4.2  rmind /* 45 */ ACPI_OP ("Ones",               ARGP_ONES_OP,              ARGI_ONES_OP,               ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_CONSTANT,        AML_CONSTANT),
    268  1.3.4.2  rmind 
    269  1.3.4.2  rmind /* Prefixed opcodes (Two-byte opcodes with a prefix op) */
    270  1.3.4.2  rmind 
    271  1.3.4.2  rmind /* 46 */ ACPI_OP ("Mutex",              ARGP_MUTEX_OP,             ARGI_MUTEX_OP,              ACPI_TYPE_MUTEX,             AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_SIMPLE,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    272  1.3.4.2  rmind /* 47 */ ACPI_OP ("Event",              ARGP_EVENT_OP,             ARGI_EVENT_OP,              ACPI_TYPE_EVENT,             AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_SIMPLE,    AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ),
    273  1.3.4.2  rmind /* 48 */ ACPI_OP ("CondRefOf",          ARGP_COND_REF_OF_OP,       ARGI_COND_REF_OF_OP,        ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R),
    274  1.3.4.2  rmind /* 49 */ ACPI_OP ("CreateField",        ARGP_CREATE_FIELD_OP,      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),
    275  1.3.4.2  rmind /* 4A */ ACPI_OP ("Load",               ARGP_LOAD_OP,              ARGI_LOAD_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_0R,   AML_FLAGS_EXEC_1A_1T_0R),
    276  1.3.4.2  rmind /* 4B */ ACPI_OP ("Stall",              ARGP_STALL_OP,             ARGI_STALL_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    277  1.3.4.2  rmind /* 4C */ ACPI_OP ("Sleep",              ARGP_SLEEP_OP,             ARGI_SLEEP_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    278  1.3.4.2  rmind /* 4D */ ACPI_OP ("Acquire",            ARGP_ACQUIRE_OP,           ARGI_ACQUIRE_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R),
    279  1.3.4.2  rmind /* 4E */ ACPI_OP ("Signal",             ARGP_SIGNAL_OP,            ARGI_SIGNAL_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    280  1.3.4.2  rmind /* 4F */ ACPI_OP ("Wait",               ARGP_WAIT_OP,              ARGI_WAIT_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_0T_1R,   AML_FLAGS_EXEC_2A_0T_1R),
    281  1.3.4.2  rmind /* 50 */ ACPI_OP ("Reset",              ARGP_RESET_OP,             ARGI_RESET_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    282  1.3.4.2  rmind /* 51 */ ACPI_OP ("Release",            ARGP_RELEASE_OP,           ARGI_RELEASE_OP,            ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    283  1.3.4.2  rmind /* 52 */ ACPI_OP ("FromBCD",            ARGP_FROM_BCD_OP,          ARGI_FROM_BCD_OP,           ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    284  1.3.4.2  rmind /* 53 */ ACPI_OP ("ToBCD",              ARGP_TO_BCD_OP,            ARGI_TO_BCD_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    285  1.3.4.2  rmind /* 54 */ ACPI_OP ("Unload",             ARGP_UNLOAD_OP,            ARGI_UNLOAD_OP,             ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_0T_0R,   AML_FLAGS_EXEC_1A_0T_0R),
    286  1.3.4.2  rmind /* 55 */ ACPI_OP ("Revision",           ARGP_REVISION_OP,          ARGI_REVISION_OP,           ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_CONSTANT,        0),
    287  1.3.4.2  rmind /* 56 */ ACPI_OP ("Debug",              ARGP_DEBUG_OP,             ARGI_DEBUG_OP,              ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_CONSTANT,        0),
    288  1.3.4.2  rmind /* 57 */ ACPI_OP ("Fatal",              ARGP_FATAL_OP,             ARGI_FATAL_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_3A_0T_0R,   AML_FLAGS_EXEC_3A_0T_0R),
    289  1.3.4.2  rmind /* 58 */ ACPI_OP ("OperationRegion",    ARGP_REGION_OP,            ARGI_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),
    290  1.3.4.2  rmind /* 59 */ ACPI_OP ("Field",              ARGP_FIELD_OP,             ARGI_FIELD_OP,              ACPI_TYPE_ANY,               AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_FIELD,     AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD),
    291  1.3.4.2  rmind /* 5A */ ACPI_OP ("Device",             ARGP_DEVICE_OP,            ARGI_DEVICE_OP,             ACPI_TYPE_DEVICE,            AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_NO_OBJ,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    292  1.3.4.2  rmind /* 5B */ ACPI_OP ("Processor",          ARGP_PROCESSOR_OP,         ARGI_PROCESSOR_OP,          ACPI_TYPE_PROCESSOR,         AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_SIMPLE,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    293  1.3.4.2  rmind /* 5C */ ACPI_OP ("PowerResource",      ARGP_POWER_RES_OP,         ARGI_POWER_RES_OP,          ACPI_TYPE_POWER,             AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_SIMPLE,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED),
    294  1.3.4.2  rmind /* 5D */ ACPI_OP ("ThermalZone",        ARGP_THERMAL_ZONE_OP,      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),
    295  1.3.4.2  rmind /* 5E */ ACPI_OP ("IndexField",         ARGP_INDEX_FIELD_OP,       ARGI_INDEX_FIELD_OP,        ACPI_TYPE_ANY,               AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_FIELD,     AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD),
    296  1.3.4.2  rmind /* 5F */ ACPI_OP ("BankField",          ARGP_BANK_FIELD_OP,        ARGI_BANK_FIELD_OP,         ACPI_TYPE_LOCAL_BANK_FIELD,  AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_FIELD,     AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_FIELD | AML_DEFER),
    297  1.3.4.2  rmind 
    298  1.3.4.2  rmind /* Internal opcodes that map to invalid AML opcodes */
    299  1.3.4.2  rmind 
    300  1.3.4.2  rmind /* 60 */ ACPI_OP ("LNotEqual",          ARGP_LNOTEQUAL_OP,         ARGI_LNOTEQUAL_OP,          ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           AML_HAS_ARGS | AML_CONSTANT),
    301  1.3.4.2  rmind /* 61 */ ACPI_OP ("LLessEqual",         ARGP_LLESSEQUAL_OP,        ARGI_LLESSEQUAL_OP,         ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           AML_HAS_ARGS | AML_CONSTANT),
    302  1.3.4.2  rmind /* 62 */ ACPI_OP ("LGreaterEqual",      ARGP_LGREATEREQUAL_OP,     ARGI_LGREATEREQUAL_OP,      ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           AML_HAS_ARGS | AML_CONSTANT),
    303  1.3.4.2  rmind /* 63 */ ACPI_OP ("-NamePath-",         ARGP_NAMEPATH_OP,          ARGI_NAMEPATH_OP,           ACPI_TYPE_LOCAL_REFERENCE,   AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_NSOBJECT | AML_NSNODE ),
    304  1.3.4.2  rmind /* 64 */ ACPI_OP ("-MethodCall-",       ARGP_METHODCALL_OP,        ARGI_METHODCALL_OP,         ACPI_TYPE_METHOD,            AML_CLASS_METHOD_CALL,     AML_TYPE_METHOD_CALL,     AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE),
    305  1.3.4.2  rmind /* 65 */ ACPI_OP ("-ByteList-",         ARGP_BYTELIST_OP,          ARGI_BYTELIST_OP,           ACPI_TYPE_ANY,               AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         0),
    306  1.3.4.2  rmind /* 66 */ ACPI_OP ("-ReservedField-",    ARGP_RESERVEDFIELD_OP,     ARGI_RESERVEDFIELD_OP,      ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           0),
    307  1.3.4.2  rmind /* 67 */ ACPI_OP ("-NamedField-",       ARGP_NAMEDFIELD_OP,        ARGI_NAMEDFIELD_OP,         ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ),
    308  1.3.4.2  rmind /* 68 */ ACPI_OP ("-AccessField-",      ARGP_ACCESSFIELD_OP,       ARGI_ACCESSFIELD_OP,        ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           0),
    309  1.3.4.2  rmind /* 69 */ ACPI_OP ("-StaticString",      ARGP_STATICSTRING_OP,      ARGI_STATICSTRING_OP,       ACPI_TYPE_ANY,               AML_CLASS_INTERNAL,        AML_TYPE_BOGUS,           0),
    310  1.3.4.2  rmind /* 6A */ ACPI_OP ("-Return Value-",     ARG_NONE,                  ARG_NONE,                   ACPI_TYPE_ANY,               AML_CLASS_RETURN_VALUE,    AML_TYPE_RETURN,          AML_HAS_ARGS | AML_HAS_RETVAL),
    311  1.3.4.2  rmind /* 6B */ ACPI_OP ("-UNKNOWN_OP-",       ARG_NONE,                  ARG_NONE,                   ACPI_TYPE_INVALID,           AML_CLASS_UNKNOWN,         AML_TYPE_BOGUS,           AML_HAS_ARGS),
    312  1.3.4.2  rmind /* 6C */ ACPI_OP ("-ASCII_ONLY-",       ARG_NONE,                  ARG_NONE,                   ACPI_TYPE_ANY,               AML_CLASS_ASCII,           AML_TYPE_BOGUS,           AML_HAS_ARGS),
    313  1.3.4.2  rmind /* 6D */ ACPI_OP ("-PREFIX_ONLY-",      ARG_NONE,                  ARG_NONE,                   ACPI_TYPE_ANY,               AML_CLASS_PREFIX,          AML_TYPE_BOGUS,           AML_HAS_ARGS),
    314  1.3.4.2  rmind 
    315  1.3.4.2  rmind /* ACPI 2.0 opcodes */
    316  1.3.4.2  rmind 
    317  1.3.4.2  rmind /* 6E */ ACPI_OP ("QwordConst",         ARGP_QWORD_OP,             ARGI_QWORD_OP,              ACPI_TYPE_INTEGER,           AML_CLASS_ARGUMENT,        AML_TYPE_LITERAL,         AML_CONSTANT),
    318  1.3.4.2  rmind /* 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),
    319  1.3.4.2  rmind /* 70 */ ACPI_OP ("ConcatenateResTemplate", ARGP_CONCAT_RES_OP,    ARGI_CONCAT_RES_OP,         ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
    320  1.3.4.2  rmind /* 71 */ ACPI_OP ("Mod",                ARGP_MOD_OP,               ARGI_MOD_OP,                ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
    321  1.3.4.2  rmind /* 72 */ ACPI_OP ("CreateQWordField",   ARGP_CREATE_QWORD_FIELD_OP,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),
    322  1.3.4.2  rmind /* 73 */ ACPI_OP ("ToBuffer",           ARGP_TO_BUFFER_OP,         ARGI_TO_BUFFER_OP,          ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    323  1.3.4.2  rmind /* 74 */ ACPI_OP ("ToDecimalString",    ARGP_TO_DEC_STR_OP,        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),
    324  1.3.4.2  rmind /* 75 */ ACPI_OP ("ToHexString",        ARGP_TO_HEX_STR_OP,        ARGI_TO_HEX_STR_OP,         ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    325  1.3.4.2  rmind /* 76 */ ACPI_OP ("ToInteger",          ARGP_TO_INTEGER_OP,        ARGI_TO_INTEGER_OP,         ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R | AML_CONSTANT),
    326  1.3.4.2  rmind /* 77 */ ACPI_OP ("ToString",           ARGP_TO_STRING_OP,         ARGI_TO_STRING_OP,          ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_2A_1T_1R,   AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT),
    327  1.3.4.2  rmind /* 78 */ ACPI_OP ("CopyObject",         ARGP_COPY_OP,              ARGI_COPY_OP,               ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_1A_1T_1R,   AML_FLAGS_EXEC_1A_1T_1R),
    328  1.3.4.2  rmind /* 79 */ ACPI_OP ("Mid",                ARGP_MID_OP,               ARGI_MID_OP,                ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_3A_1T_1R,   AML_FLAGS_EXEC_3A_1T_1R | AML_CONSTANT),
    329  1.3.4.2  rmind /* 7A */ ACPI_OP ("Continue",           ARGP_CONTINUE_OP,          ARGI_CONTINUE_OP,           ACPI_TYPE_ANY,               AML_CLASS_CONTROL,         AML_TYPE_CONTROL,         0),
    330  1.3.4.2  rmind /* 7B */ ACPI_OP ("LoadTable",          ARGP_LOAD_TABLE_OP,        ARGI_LOAD_TABLE_OP,         ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_6A_0T_1R,   AML_FLAGS_EXEC_6A_0T_1R),
    331  1.3.4.2  rmind /* 7C */ ACPI_OP ("DataTableRegion",    ARGP_DATA_REGION_OP,       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),
    332  1.3.4.2  rmind /* 7D */ ACPI_OP ("[EvalSubTree]",      ARGP_SCOPE_OP,             ARGI_SCOPE_OP,              ACPI_TYPE_ANY,               AML_CLASS_NAMED_OBJECT,    AML_TYPE_NAMED_NO_OBJ,    AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE),
    333  1.3.4.2  rmind 
    334  1.3.4.2  rmind /* ACPI 3.0 opcodes */
    335  1.3.4.2  rmind 
    336  1.3.4.2  rmind /* 7E */ ACPI_OP ("Timer",              ARGP_TIMER_OP,             ARGI_TIMER_OP,              ACPI_TYPE_ANY,               AML_CLASS_EXECUTE,         AML_TYPE_EXEC_0A_0T_1R,   AML_FLAGS_EXEC_0A_0T_1R)
    337  1.3.4.2  rmind 
    338  1.3.4.2  rmind /*! [End] no source code translation !*/
    339  1.3.4.2  rmind };
    340  1.3.4.2  rmind 
    341  1.3.4.2  rmind /*
    342  1.3.4.2  rmind  * This table is directly indexed by the opcodes, and returns an
    343  1.3.4.2  rmind  * index into the table above
    344  1.3.4.2  rmind  */
    345  1.3.4.2  rmind static const UINT8 AcpiGbl_ShortOpIndex[256] =
    346  1.3.4.2  rmind {
    347  1.3.4.2  rmind /*              0     1     2     3     4     5     6     7  */
    348  1.3.4.2  rmind /*              8     9     A     B     C     D     E     F  */
    349  1.3.4.2  rmind /* 0x00 */    0x00, 0x01, _UNK, _UNK, _UNK, _UNK, 0x02, _UNK,
    350  1.3.4.2  rmind /* 0x08 */    0x03, _UNK, 0x04, 0x05, 0x06, 0x07, 0x6E, _UNK,
    351  1.3.4.2  rmind /* 0x10 */    0x08, 0x09, 0x0a, 0x6F, 0x0b, _UNK, _UNK, _UNK,
    352  1.3.4.2  rmind /* 0x18 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    353  1.3.4.2  rmind /* 0x20 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    354  1.3.4.2  rmind /* 0x28 */    _UNK, _UNK, _UNK, _UNK, _UNK, 0x63, _PFX, _PFX,
    355  1.3.4.2  rmind /* 0x30 */    0x67, 0x66, 0x68, 0x65, 0x69, 0x64, 0x6A, 0x7D,
    356  1.3.4.2  rmind /* 0x38 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    357  1.3.4.2  rmind /* 0x40 */    _UNK, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
    358  1.3.4.2  rmind /* 0x48 */    _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
    359  1.3.4.2  rmind /* 0x50 */    _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
    360  1.3.4.2  rmind /* 0x58 */    _ASC, _ASC, _ASC, _UNK, _PFX, _UNK, _PFX, _ASC,
    361  1.3.4.2  rmind /* 0x60 */    0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
    362  1.3.4.2  rmind /* 0x68 */    0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, _UNK,
    363  1.3.4.2  rmind /* 0x70 */    0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
    364  1.3.4.2  rmind /* 0x78 */    0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
    365  1.3.4.2  rmind /* 0x80 */    0x2b, 0x2c, 0x2d, 0x2e, 0x70, 0x71, 0x2f, 0x30,
    366  1.3.4.2  rmind /* 0x88 */    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x72,
    367  1.3.4.2  rmind /* 0x90 */    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x73, 0x74,
    368  1.3.4.2  rmind /* 0x98 */    0x75, 0x76, _UNK, _UNK, 0x77, 0x78, 0x79, 0x7A,
    369  1.3.4.2  rmind /* 0xA0 */    0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x60, 0x61,
    370  1.3.4.2  rmind /* 0xA8 */    0x62, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    371  1.3.4.2  rmind /* 0xB0 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    372  1.3.4.2  rmind /* 0xB8 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    373  1.3.4.2  rmind /* 0xC0 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    374  1.3.4.2  rmind /* 0xC8 */    _UNK, _UNK, _UNK, _UNK, 0x44, _UNK, _UNK, _UNK,
    375  1.3.4.2  rmind /* 0xD0 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    376  1.3.4.2  rmind /* 0xD8 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    377  1.3.4.2  rmind /* 0xE0 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    378  1.3.4.2  rmind /* 0xE8 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    379  1.3.4.2  rmind /* 0xF0 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    380  1.3.4.2  rmind /* 0xF8 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, 0x45,
    381  1.3.4.2  rmind };
    382  1.3.4.2  rmind 
    383  1.3.4.2  rmind /*
    384  1.3.4.2  rmind  * This table is indexed by the second opcode of the extended opcode
    385  1.3.4.2  rmind  * pair.  It returns an index into the opcode table (AcpiGbl_AmlOpInfo)
    386  1.3.4.2  rmind  */
    387  1.3.4.2  rmind static const UINT8 AcpiGbl_LongOpIndex[NUM_EXTENDED_OPCODE] =
    388  1.3.4.2  rmind {
    389  1.3.4.2  rmind /*              0     1     2     3     4     5     6     7  */
    390  1.3.4.2  rmind /*              8     9     A     B     C     D     E     F  */
    391  1.3.4.2  rmind /* 0x00 */    _UNK, 0x46, 0x47, _UNK, _UNK, _UNK, _UNK, _UNK,
    392  1.3.4.2  rmind /* 0x08 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    393  1.3.4.2  rmind /* 0x10 */    _UNK, _UNK, 0x48, 0x49, _UNK, _UNK, _UNK, _UNK,
    394  1.3.4.2  rmind /* 0x18 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, 0x7B,
    395  1.3.4.2  rmind /* 0x20 */    0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
    396  1.3.4.2  rmind /* 0x28 */    0x52, 0x53, 0x54, _UNK, _UNK, _UNK, _UNK, _UNK,
    397  1.3.4.2  rmind /* 0x30 */    0x55, 0x56, 0x57, 0x7e, _UNK, _UNK, _UNK, _UNK,
    398  1.3.4.2  rmind /* 0x38 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    399  1.3.4.2  rmind /* 0x40 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    400  1.3.4.2  rmind /* 0x48 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    401  1.3.4.2  rmind /* 0x50 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    402  1.3.4.2  rmind /* 0x58 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    403  1.3.4.2  rmind /* 0x60 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    404  1.3.4.2  rmind /* 0x68 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    405  1.3.4.2  rmind /* 0x70 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    406  1.3.4.2  rmind /* 0x78 */    _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
    407  1.3.4.2  rmind /* 0x80 */    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    408  1.3.4.2  rmind /* 0x88 */    0x7C,
    409  1.3.4.2  rmind };
    410  1.3.4.2  rmind 
    411  1.3.4.2  rmind 
    412  1.3.4.2  rmind /*******************************************************************************
    413  1.3.4.2  rmind  *
    414  1.3.4.2  rmind  * FUNCTION:    AcpiPsGetOpcodeInfo
    415  1.3.4.2  rmind  *
    416  1.3.4.2  rmind  * PARAMETERS:  Opcode              - The AML opcode
    417  1.3.4.2  rmind  *
    418  1.3.4.2  rmind  * RETURN:      A pointer to the info about the opcode.
    419  1.3.4.2  rmind  *
    420  1.3.4.2  rmind  * DESCRIPTION: Find AML opcode description based on the opcode.
    421  1.3.4.2  rmind  *              NOTE: This procedure must ALWAYS return a valid pointer!
    422  1.3.4.2  rmind  *
    423  1.3.4.2  rmind  ******************************************************************************/
    424  1.3.4.2  rmind 
    425  1.3.4.2  rmind const ACPI_OPCODE_INFO *
    426  1.3.4.2  rmind AcpiPsGetOpcodeInfo (
    427  1.3.4.2  rmind     UINT16                  Opcode)
    428  1.3.4.2  rmind {
    429  1.3.4.2  rmind     ACPI_FUNCTION_NAME (PsGetOpcodeInfo);
    430  1.3.4.2  rmind 
    431  1.3.4.2  rmind 
    432  1.3.4.2  rmind     /*
    433  1.3.4.2  rmind      * Detect normal 8-bit opcode or extended 16-bit opcode
    434  1.3.4.2  rmind      */
    435  1.3.4.2  rmind     if (!(Opcode & 0xFF00))
    436  1.3.4.2  rmind     {
    437  1.3.4.2  rmind         /* Simple (8-bit) opcode: 0-255, can't index beyond table  */
    438  1.3.4.2  rmind 
    439  1.3.4.2  rmind         return (&AcpiGbl_AmlOpInfo [AcpiGbl_ShortOpIndex [(UINT8) Opcode]]);
    440  1.3.4.2  rmind     }
    441  1.3.4.2  rmind 
    442  1.3.4.2  rmind     if (((Opcode & 0xFF00) == AML_EXTENDED_OPCODE) &&
    443  1.3.4.2  rmind         (((UINT8) Opcode) <= MAX_EXTENDED_OPCODE))
    444  1.3.4.2  rmind     {
    445  1.3.4.2  rmind         /* Valid extended (16-bit) opcode */
    446  1.3.4.2  rmind 
    447  1.3.4.2  rmind         return (&AcpiGbl_AmlOpInfo [AcpiGbl_LongOpIndex [(UINT8) Opcode]]);
    448  1.3.4.2  rmind     }
    449  1.3.4.2  rmind 
    450  1.3.4.2  rmind     /* Unknown AML opcode */
    451  1.3.4.2  rmind 
    452  1.3.4.2  rmind     ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
    453  1.3.4.2  rmind         "Unknown AML opcode [%4.4X]\n", Opcode));
    454  1.3.4.2  rmind 
    455  1.3.4.2  rmind     return (&AcpiGbl_AmlOpInfo [_UNK]);
    456  1.3.4.2  rmind }
    457  1.3.4.2  rmind 
    458  1.3.4.2  rmind 
    459  1.3.4.2  rmind /*******************************************************************************
    460  1.3.4.2  rmind  *
    461  1.3.4.2  rmind  * FUNCTION:    AcpiPsGetOpcodeName
    462  1.3.4.2  rmind  *
    463  1.3.4.2  rmind  * PARAMETERS:  Opcode              - The AML opcode
    464  1.3.4.2  rmind  *
    465  1.3.4.2  rmind  * RETURN:      A pointer to the name of the opcode (ASCII String)
    466  1.3.4.2  rmind  *              Note: Never returns NULL.
    467  1.3.4.2  rmind  *
    468  1.3.4.2  rmind  * DESCRIPTION: Translate an opcode into a human-readable string
    469  1.3.4.2  rmind  *
    470  1.3.4.2  rmind  ******************************************************************************/
    471  1.3.4.2  rmind 
    472  1.3.4.2  rmind char *
    473  1.3.4.2  rmind AcpiPsGetOpcodeName (
    474  1.3.4.2  rmind     UINT16                  Opcode)
    475  1.3.4.2  rmind {
    476  1.3.4.2  rmind #if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUG_OUTPUT)
    477  1.3.4.2  rmind 
    478  1.3.4.2  rmind     const ACPI_OPCODE_INFO  *Op;
    479  1.3.4.2  rmind 
    480  1.3.4.2  rmind 
    481  1.3.4.2  rmind     Op = AcpiPsGetOpcodeInfo (Opcode);
    482  1.3.4.2  rmind 
    483  1.3.4.2  rmind     /* Always guaranteed to return a valid pointer */
    484  1.3.4.2  rmind 
    485  1.3.4.2  rmind     return __UNCONST(Op->Name);
    486  1.3.4.2  rmind 
    487  1.3.4.2  rmind #else
    488  1.3.4.2  rmind     return __UNCONST("OpcodeName unavailable");
    489  1.3.4.2  rmind 
    490  1.3.4.2  rmind #endif
    491  1.3.4.2  rmind }
    492  1.3.4.2  rmind 
    493  1.3.4.2  rmind 
    494  1.3.4.2  rmind /*******************************************************************************
    495  1.3.4.2  rmind  *
    496  1.3.4.2  rmind  * FUNCTION:    AcpiPsGetArgumentCount
    497  1.3.4.2  rmind  *
    498  1.3.4.2  rmind  * PARAMETERS:  OpType              - Type associated with the AML opcode
    499  1.3.4.2  rmind  *
    500  1.3.4.2  rmind  * RETURN:      Argument count
    501  1.3.4.2  rmind  *
    502  1.3.4.2  rmind  * DESCRIPTION: Obtain the number of expected arguments for an AML opcode
    503  1.3.4.2  rmind  *
    504  1.3.4.2  rmind  ******************************************************************************/
    505  1.3.4.2  rmind 
    506  1.3.4.2  rmind UINT8
    507  1.3.4.2  rmind AcpiPsGetArgumentCount (
    508  1.3.4.2  rmind     UINT32                  OpType)
    509  1.3.4.2  rmind {
    510  1.3.4.2  rmind 
    511  1.3.4.2  rmind     if (OpType <= AML_TYPE_EXEC_6A_0T_1R)
    512  1.3.4.2  rmind     {
    513  1.3.4.2  rmind         return (AcpiGbl_ArgumentCount[OpType]);
    514  1.3.4.2  rmind     }
    515  1.3.4.2  rmind 
    516  1.3.4.2  rmind     return (0);
    517  1.3.4.2  rmind }
    518