iPXE
|
00001 /** @file 00002 This file contains AML code definition in the latest ACPI spec. 00003 00004 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> 00005 This program and the accompanying materials 00006 are licensed and made available under the terms and conditions of the BSD License 00007 which accompanies this distribution. The full text of the license may be found at 00008 http://opensource.org/licenses/bsd-license.php 00009 00010 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 00011 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 00012 00013 **/ 00014 00015 #ifndef _ACPI_AML_H_ 00016 #define _ACPI_AML_H_ 00017 00018 FILE_LICENCE ( BSD3 ); 00019 00020 // 00021 // ACPI AML definition 00022 // 00023 00024 // 00025 // Primary OpCode 00026 // 00027 #define AML_ZERO_OP 0x00 00028 #define AML_ONE_OP 0x01 00029 #define AML_ALIAS_OP 0x06 00030 #define AML_NAME_OP 0x08 00031 #define AML_BYTE_PREFIX 0x0a 00032 #define AML_WORD_PREFIX 0x0b 00033 #define AML_DWORD_PREFIX 0x0c 00034 #define AML_STRING_PREFIX 0x0d 00035 #define AML_QWORD_PREFIX 0x0e 00036 #define AML_SCOPE_OP 0x10 00037 #define AML_BUFFER_OP 0x11 00038 #define AML_PACKAGE_OP 0x12 00039 #define AML_VAR_PACKAGE_OP 0x13 00040 #define AML_METHOD_OP 0x14 00041 #define AML_DUAL_NAME_PREFIX 0x2e 00042 #define AML_MULTI_NAME_PREFIX 0x2f 00043 #define AML_NAME_CHAR_A 0x41 00044 #define AML_NAME_CHAR_B 0x42 00045 #define AML_NAME_CHAR_C 0x43 00046 #define AML_NAME_CHAR_D 0x44 00047 #define AML_NAME_CHAR_E 0x45 00048 #define AML_NAME_CHAR_F 0x46 00049 #define AML_NAME_CHAR_G 0x47 00050 #define AML_NAME_CHAR_H 0x48 00051 #define AML_NAME_CHAR_I 0x49 00052 #define AML_NAME_CHAR_J 0x4a 00053 #define AML_NAME_CHAR_K 0x4b 00054 #define AML_NAME_CHAR_L 0x4c 00055 #define AML_NAME_CHAR_M 0x4d 00056 #define AML_NAME_CHAR_N 0x4e 00057 #define AML_NAME_CHAR_O 0x4f 00058 #define AML_NAME_CHAR_P 0x50 00059 #define AML_NAME_CHAR_Q 0x51 00060 #define AML_NAME_CHAR_R 0x52 00061 #define AML_NAME_CHAR_S 0x53 00062 #define AML_NAME_CHAR_T 0x54 00063 #define AML_NAME_CHAR_U 0x55 00064 #define AML_NAME_CHAR_V 0x56 00065 #define AML_NAME_CHAR_W 0x57 00066 #define AML_NAME_CHAR_X 0x58 00067 #define AML_NAME_CHAR_Y 0x59 00068 #define AML_NAME_CHAR_Z 0x5a 00069 #define AML_ROOT_CHAR 0x5c 00070 #define AML_PARENT_PREFIX_CHAR 0x5e 00071 #define AML_NAME_CHAR__ 0x5f 00072 #define AML_LOCAL0 0x60 00073 #define AML_LOCAL1 0x61 00074 #define AML_LOCAL2 0x62 00075 #define AML_LOCAL3 0x63 00076 #define AML_LOCAL4 0x64 00077 #define AML_LOCAL5 0x65 00078 #define AML_LOCAL6 0x66 00079 #define AML_LOCAL7 0x67 00080 #define AML_ARG0 0x68 00081 #define AML_ARG1 0x69 00082 #define AML_ARG2 0x6a 00083 #define AML_ARG3 0x6b 00084 #define AML_ARG4 0x6c 00085 #define AML_ARG5 0x6d 00086 #define AML_ARG6 0x6e 00087 #define AML_STORE_OP 0x70 00088 #define AML_REF_OF_OP 0x71 00089 #define AML_ADD_OP 0x72 00090 #define AML_CONCAT_OP 0x73 00091 #define AML_SUBTRACT_OP 0x74 00092 #define AML_INCREMENT_OP 0x75 00093 #define AML_DECREMENT_OP 0x76 00094 #define AML_MULTIPLY_OP 0x77 00095 #define AML_DIVIDE_OP 0x78 00096 #define AML_SHIFT_LEFT_OP 0x79 00097 #define AML_SHIFT_RIGHT_OP 0x7a 00098 #define AML_AND_OP 0x7b 00099 #define AML_NAND_OP 0x7c 00100 #define AML_OR_OP 0x7d 00101 #define AML_NOR_OP 0x7e 00102 #define AML_XOR_OP 0x7f 00103 #define AML_NOT_OP 0x80 00104 #define AML_FIND_SET_LEFT_BIT_OP 0x81 00105 #define AML_FIND_SET_RIGHT_BIT_OP 0x82 00106 #define AML_DEREF_OF_OP 0x83 00107 #define AML_CONCAT_RES_OP 0x84 00108 #define AML_MOD_OP 0x85 00109 #define AML_NOTIFY_OP 0x86 00110 #define AML_SIZE_OF_OP 0x87 00111 #define AML_INDEX_OP 0x88 00112 #define AML_MATCH_OP 0x89 00113 #define AML_CREATE_DWORD_FIELD_OP 0x8a 00114 #define AML_CREATE_WORD_FIELD_OP 0x8b 00115 #define AML_CREATE_BYTE_FIELD_OP 0x8c 00116 #define AML_CREATE_BIT_FIELD_OP 0x8d 00117 #define AML_OBJECT_TYPE_OP 0x8e 00118 #define AML_CREATE_QWORD_FIELD_OP 0x8f 00119 #define AML_LAND_OP 0x90 00120 #define AML_LOR_OP 0x91 00121 #define AML_LNOT_OP 0x92 00122 #define AML_LEQUAL_OP 0x93 00123 #define AML_LGREATER_OP 0x94 00124 #define AML_LLESS_OP 0x95 00125 #define AML_TO_BUFFER_OP 0x96 00126 #define AML_TO_DEC_STRING_OP 0x97 00127 #define AML_TO_HEX_STRING_OP 0x98 00128 #define AML_TO_INTEGER_OP 0x99 00129 #define AML_TO_STRING_OP 0x9c 00130 #define AML_COPY_OBJECT_OP 0x9d 00131 #define AML_MID_OP 0x9e 00132 #define AML_CONTINUE_OP 0x9f 00133 #define AML_IF_OP 0xa0 00134 #define AML_ELSE_OP 0xa1 00135 #define AML_WHILE_OP 0xa2 00136 #define AML_NOOP_OP 0xa3 00137 #define AML_RETURN_OP 0xa4 00138 #define AML_BREAK_OP 0xa5 00139 #define AML_BREAK_POINT_OP 0xcc 00140 #define AML_ONES_OP 0xff 00141 00142 // 00143 // Extended OpCode 00144 // 00145 #define AML_EXT_OP 0x5b 00146 00147 #define AML_EXT_MUTEX_OP 0x01 00148 #define AML_EXT_EVENT_OP 0x02 00149 #define AML_EXT_COND_REF_OF_OP 0x12 00150 #define AML_EXT_CREATE_FIELD_OP 0x13 00151 #define AML_EXT_LOAD_TABLE_OP 0x1f 00152 #define AML_EXT_LOAD_OP 0x20 00153 #define AML_EXT_STALL_OP 0x21 00154 #define AML_EXT_SLEEP_OP 0x22 00155 #define AML_EXT_ACQUIRE_OP 0x23 00156 #define AML_EXT_SIGNAL_OP 0x24 00157 #define AML_EXT_WAIT_OP 0x25 00158 #define AML_EXT_RESET_OP 0x26 00159 #define AML_EXT_RELEASE_OP 0x27 00160 #define AML_EXT_FROM_BCD_OP 0x28 00161 #define AML_EXT_TO_BCD_OP 0x29 00162 #define AML_EXT_UNLOAD_OP 0x2a 00163 #define AML_EXT_REVISION_OP 0x30 00164 #define AML_EXT_DEBUG_OP 0x31 00165 #define AML_EXT_FATAL_OP 0x32 00166 #define AML_EXT_TIMER_OP 0x33 00167 #define AML_EXT_REGION_OP 0x80 00168 #define AML_EXT_FIELD_OP 0x81 00169 #define AML_EXT_DEVICE_OP 0x82 00170 #define AML_EXT_PROCESSOR_OP 0x83 00171 #define AML_EXT_POWER_RES_OP 0x84 00172 #define AML_EXT_THERMAL_ZONE_OP 0x85 00173 #define AML_EXT_INDEX_FIELD_OP 0x86 00174 #define AML_EXT_BANK_FIELD_OP 0x87 00175 #define AML_EXT_DATA_REGION_OP 0x88 00176 00177 #endif