⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psopcode.c

📁 linux-2.6.15.6
💻 C
📖 第 1 页 / 共 3 页
字号:
/****************************************************************************** * * Module Name: psopcode - Parser/Interpreter opcode information table * *****************************************************************************//* * Copyright (C) 2000 - 2005, R. Byron Moore * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions, and the following disclaimer, *    without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer *    substantially similar to the "NO WARRANTY" disclaimer below *    ("Disclaimer") and any redistribution must be conditioned upon *    including a substantially similar Disclaimer requirement for further *    binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names *    of any contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */#include <acpi/acpi.h>#include <acpi/acparser.h>#include <acpi/acopcode.h>#include <acpi/amlcode.h>#define _COMPONENT          ACPI_PARSERACPI_MODULE_NAME("psopcode")/******************************************************************************* * * 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 *              ascii string with one letter per operand.  The letter specifies *              the operand type. * ******************************************************************************//* * Summary of opcode types/flags * Opcodes that have associated namespace objects (AML_NSOBJECT flag)	AML_SCOPE_OP	AML_DEVICE_OP	AML_THERMAL_ZONE_OP	AML_METHOD_OP	AML_POWER_RES_OP	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	AML_POWER_RES_OP	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	AML_POWER_RES_OP	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	AML_POWER_RES_OP	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	AML_VAR_PACKAGE_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_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 ******************************************************************************//* * Master Opcode information table.  A summary of everything we know about each * opcode, all in one place. */const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES] = {/*! [Begin] no source code translation *//* Index           Name                 Parser Args               Interpreter Args                ObjectType                    Class                      Type                  Flags *//* 00 */ ACPI_OP("Zero", ARGP_ZERO_OP, ARGI_ZERO_OP, ACPI_TYPE_INTEGER,			 AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT),/* 01 */ ACPI_OP("One", ARGP_ONE_OP, ARGI_ONE_OP, ACPI_TYPE_INTEGER,			 AML_CLASS_ARGUMENT, AML_TYPE_CONSTANT, AML_CONSTANT),/* 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),/* 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),/* 04 */ ACPI_OP("ByteConst", ARGP_BYTE_OP, ARGI_BYTE_OP,			 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,			 AML_TYPE_LITERAL, AML_CONSTANT),/* 05 */ ACPI_OP("WordConst", ARGP_WORD_OP, ARGI_WORD_OP,			 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,			 AML_TYPE_LITERAL, AML_CONSTANT),/* 06 */ ACPI_OP("DwordConst", ARGP_DWORD_OP, ARGI_DWORD_OP,			 ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT,			 AML_TYPE_LITERAL, AML_CONSTANT),/* 07 */ ACPI_OP("String", ARGP_STRING_OP, ARGI_STRING_OP,			 ACPI_TYPE_STRING, AML_CLASS_ARGUMENT,			 AML_TYPE_LITERAL, AML_CONSTANT),/* 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),/* 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),/* 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),/* 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),/* 0C */ ACPI_OP("Local0", ARGP_LOCAL0, ARGI_LOCAL0,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 0D */ ACPI_OP("Local1", ARGP_LOCAL1, ARGI_LOCAL1,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 0E */ ACPI_OP("Local2", ARGP_LOCAL2, ARGI_LOCAL2,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 0F */ ACPI_OP("Local3", ARGP_LOCAL3, ARGI_LOCAL3,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 10 */ ACPI_OP("Local4", ARGP_LOCAL4, ARGI_LOCAL4,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 11 */ ACPI_OP("Local5", ARGP_LOCAL5, ARGI_LOCAL5,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 12 */ ACPI_OP("Local6", ARGP_LOCAL6, ARGI_LOCAL6,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 13 */ ACPI_OP("Local7", ARGP_LOCAL7, ARGI_LOCAL7,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_LOCAL_VARIABLE, 0),/* 14 */ ACPI_OP("Arg0", ARGP_ARG0, ARGI_ARG0,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_METHOD_ARGUMENT, 0),/* 15 */ ACPI_OP("Arg1", ARGP_ARG1, ARGI_ARG1,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_METHOD_ARGUMENT, 0),/* 16 */ ACPI_OP("Arg2", ARGP_ARG2, ARGI_ARG2,			 ACPI_TYPE_LOCAL_REFERENCE, AML_CLASS_ARGUMENT,			 AML_TYPE_METHOD_ARGUMENT, 0),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -