iPXE
AcpiAml.h
Go to the documentation of this file.
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