diff options
Diffstat (limited to 'include/acpi/amlcode.h')
-rw-r--r-- | include/acpi/amlcode.h | 170 |
1 files changed, 71 insertions, 99 deletions
diff --git a/include/acpi/amlcode.h b/include/acpi/amlcode.h index 50a088901196..7fdf5299f501 100644 --- a/include/acpi/amlcode.h +++ b/include/acpi/amlcode.h | |||
@@ -59,11 +59,11 @@ | |||
59 | #define AML_WORD_OP (u16) 0x0b | 59 | #define AML_WORD_OP (u16) 0x0b |
60 | #define AML_DWORD_OP (u16) 0x0c | 60 | #define AML_DWORD_OP (u16) 0x0c |
61 | #define AML_STRING_OP (u16) 0x0d | 61 | #define AML_STRING_OP (u16) 0x0d |
62 | #define AML_QWORD_OP (u16) 0x0e /* ACPI 2.0 */ | 62 | #define AML_QWORD_OP (u16) 0x0e /* ACPI 2.0 */ |
63 | #define AML_SCOPE_OP (u16) 0x10 | 63 | #define AML_SCOPE_OP (u16) 0x10 |
64 | #define AML_BUFFER_OP (u16) 0x11 | 64 | #define AML_BUFFER_OP (u16) 0x11 |
65 | #define AML_PACKAGE_OP (u16) 0x12 | 65 | #define AML_PACKAGE_OP (u16) 0x12 |
66 | #define AML_VAR_PACKAGE_OP (u16) 0x13 /* ACPI 2.0 */ | 66 | #define AML_VAR_PACKAGE_OP (u16) 0x13 /* ACPI 2.0 */ |
67 | #define AML_METHOD_OP (u16) 0x14 | 67 | #define AML_METHOD_OP (u16) 0x14 |
68 | #define AML_DUAL_NAME_PREFIX (u16) 0x2e | 68 | #define AML_DUAL_NAME_PREFIX (u16) 0x2e |
69 | #define AML_MULTI_NAME_PREFIX_OP (u16) 0x2f | 69 | #define AML_MULTI_NAME_PREFIX_OP (u16) 0x2f |
@@ -109,8 +109,8 @@ | |||
109 | #define AML_FIND_SET_LEFT_BIT_OP (u16) 0x81 | 109 | #define AML_FIND_SET_LEFT_BIT_OP (u16) 0x81 |
110 | #define AML_FIND_SET_RIGHT_BIT_OP (u16) 0x82 | 110 | #define AML_FIND_SET_RIGHT_BIT_OP (u16) 0x82 |
111 | #define AML_DEREF_OF_OP (u16) 0x83 | 111 | #define AML_DEREF_OF_OP (u16) 0x83 |
112 | #define AML_CONCAT_RES_OP (u16) 0x84 /* ACPI 2.0 */ | 112 | #define AML_CONCAT_RES_OP (u16) 0x84 /* ACPI 2.0 */ |
113 | #define AML_MOD_OP (u16) 0x85 /* ACPI 2.0 */ | 113 | #define AML_MOD_OP (u16) 0x85 /* ACPI 2.0 */ |
114 | #define AML_NOTIFY_OP (u16) 0x86 | 114 | #define AML_NOTIFY_OP (u16) 0x86 |
115 | #define AML_SIZE_OF_OP (u16) 0x87 | 115 | #define AML_SIZE_OF_OP (u16) 0x87 |
116 | #define AML_INDEX_OP (u16) 0x88 | 116 | #define AML_INDEX_OP (u16) 0x88 |
@@ -120,21 +120,21 @@ | |||
120 | #define AML_CREATE_BYTE_FIELD_OP (u16) 0x8c | 120 | #define AML_CREATE_BYTE_FIELD_OP (u16) 0x8c |
121 | #define AML_CREATE_BIT_FIELD_OP (u16) 0x8d | 121 | #define AML_CREATE_BIT_FIELD_OP (u16) 0x8d |
122 | #define AML_TYPE_OP (u16) 0x8e | 122 | #define AML_TYPE_OP (u16) 0x8e |
123 | #define AML_CREATE_QWORD_FIELD_OP (u16) 0x8f /* ACPI 2.0 */ | 123 | #define AML_CREATE_QWORD_FIELD_OP (u16) 0x8f /* ACPI 2.0 */ |
124 | #define AML_LAND_OP (u16) 0x90 | 124 | #define AML_LAND_OP (u16) 0x90 |
125 | #define AML_LOR_OP (u16) 0x91 | 125 | #define AML_LOR_OP (u16) 0x91 |
126 | #define AML_LNOT_OP (u16) 0x92 | 126 | #define AML_LNOT_OP (u16) 0x92 |
127 | #define AML_LEQUAL_OP (u16) 0x93 | 127 | #define AML_LEQUAL_OP (u16) 0x93 |
128 | #define AML_LGREATER_OP (u16) 0x94 | 128 | #define AML_LGREATER_OP (u16) 0x94 |
129 | #define AML_LLESS_OP (u16) 0x95 | 129 | #define AML_LLESS_OP (u16) 0x95 |
130 | #define AML_TO_BUFFER_OP (u16) 0x96 /* ACPI 2.0 */ | 130 | #define AML_TO_BUFFER_OP (u16) 0x96 /* ACPI 2.0 */ |
131 | #define AML_TO_DECSTRING_OP (u16) 0x97 /* ACPI 2.0 */ | 131 | #define AML_TO_DECSTRING_OP (u16) 0x97 /* ACPI 2.0 */ |
132 | #define AML_TO_HEXSTRING_OP (u16) 0x98 /* ACPI 2.0 */ | 132 | #define AML_TO_HEXSTRING_OP (u16) 0x98 /* ACPI 2.0 */ |
133 | #define AML_TO_INTEGER_OP (u16) 0x99 /* ACPI 2.0 */ | 133 | #define AML_TO_INTEGER_OP (u16) 0x99 /* ACPI 2.0 */ |
134 | #define AML_TO_STRING_OP (u16) 0x9c /* ACPI 2.0 */ | 134 | #define AML_TO_STRING_OP (u16) 0x9c /* ACPI 2.0 */ |
135 | #define AML_COPY_OP (u16) 0x9d /* ACPI 2.0 */ | 135 | #define AML_COPY_OP (u16) 0x9d /* ACPI 2.0 */ |
136 | #define AML_MID_OP (u16) 0x9e /* ACPI 2.0 */ | 136 | #define AML_MID_OP (u16) 0x9e /* ACPI 2.0 */ |
137 | #define AML_CONTINUE_OP (u16) 0x9f /* ACPI 2.0 */ | 137 | #define AML_CONTINUE_OP (u16) 0x9f /* ACPI 2.0 */ |
138 | #define AML_IF_OP (u16) 0xa0 | 138 | #define AML_IF_OP (u16) 0xa0 |
139 | #define AML_ELSE_OP (u16) 0xa1 | 139 | #define AML_ELSE_OP (u16) 0xa1 |
140 | #define AML_WHILE_OP (u16) 0xa2 | 140 | #define AML_WHILE_OP (u16) 0xa2 |
@@ -146,7 +146,7 @@ | |||
146 | 146 | ||
147 | /* prefixed opcodes */ | 147 | /* prefixed opcodes */ |
148 | 148 | ||
149 | #define AML_EXTENDED_OPCODE (u16) 0x5b00 /* prefix for 2-byte opcodes */ | 149 | #define AML_EXTENDED_OPCODE (u16) 0x5b00 /* prefix for 2-byte opcodes */ |
150 | 150 | ||
151 | #define AML_MUTEX_OP (u16) 0x5b01 | 151 | #define AML_MUTEX_OP (u16) 0x5b01 |
152 | #define AML_EVENT_OP (u16) 0x5b02 | 152 | #define AML_EVENT_OP (u16) 0x5b02 |
@@ -154,7 +154,7 @@ | |||
154 | #define AML_SHIFT_LEFT_BIT_OP (u16) 0x5b11 | 154 | #define AML_SHIFT_LEFT_BIT_OP (u16) 0x5b11 |
155 | #define AML_COND_REF_OF_OP (u16) 0x5b12 | 155 | #define AML_COND_REF_OF_OP (u16) 0x5b12 |
156 | #define AML_CREATE_FIELD_OP (u16) 0x5b13 | 156 | #define AML_CREATE_FIELD_OP (u16) 0x5b13 |
157 | #define AML_LOAD_TABLE_OP (u16) 0x5b1f /* ACPI 2.0 */ | 157 | #define AML_LOAD_TABLE_OP (u16) 0x5b1f /* ACPI 2.0 */ |
158 | #define AML_LOAD_OP (u16) 0x5b20 | 158 | #define AML_LOAD_OP (u16) 0x5b20 |
159 | #define AML_STALL_OP (u16) 0x5b21 | 159 | #define AML_STALL_OP (u16) 0x5b21 |
160 | #define AML_SLEEP_OP (u16) 0x5b22 | 160 | #define AML_SLEEP_OP (u16) 0x5b22 |
@@ -169,7 +169,7 @@ | |||
169 | #define AML_REVISION_OP (u16) 0x5b30 | 169 | #define AML_REVISION_OP (u16) 0x5b30 |
170 | #define AML_DEBUG_OP (u16) 0x5b31 | 170 | #define AML_DEBUG_OP (u16) 0x5b31 |
171 | #define AML_FATAL_OP (u16) 0x5b32 | 171 | #define AML_FATAL_OP (u16) 0x5b32 |
172 | #define AML_TIMER_OP (u16) 0x5b33 /* ACPI 3.0 */ | 172 | #define AML_TIMER_OP (u16) 0x5b33 /* ACPI 3.0 */ |
173 | #define AML_REGION_OP (u16) 0x5b80 | 173 | #define AML_REGION_OP (u16) 0x5b80 |
174 | #define AML_FIELD_OP (u16) 0x5b81 | 174 | #define AML_FIELD_OP (u16) 0x5b81 |
175 | #define AML_DEVICE_OP (u16) 0x5b82 | 175 | #define AML_DEVICE_OP (u16) 0x5b82 |
@@ -178,8 +178,7 @@ | |||
178 | #define AML_THERMAL_ZONE_OP (u16) 0x5b85 | 178 | #define AML_THERMAL_ZONE_OP (u16) 0x5b85 |
179 | #define AML_INDEX_FIELD_OP (u16) 0x5b86 | 179 | #define AML_INDEX_FIELD_OP (u16) 0x5b86 |
180 | #define AML_BANK_FIELD_OP (u16) 0x5b87 | 180 | #define AML_BANK_FIELD_OP (u16) 0x5b87 |
181 | #define AML_DATA_REGION_OP (u16) 0x5b88 /* ACPI 2.0 */ | 181 | #define AML_DATA_REGION_OP (u16) 0x5b88 /* ACPI 2.0 */ |
182 | |||
183 | 182 | ||
184 | /* Bogus opcodes (they are actually two separate opcodes) */ | 183 | /* Bogus opcodes (they are actually two separate opcodes) */ |
185 | 184 | ||
@@ -187,7 +186,6 @@ | |||
187 | #define AML_LLESSEQUAL_OP (u16) 0x9294 | 186 | #define AML_LLESSEQUAL_OP (u16) 0x9294 |
188 | #define AML_LNOTEQUAL_OP (u16) 0x9293 | 187 | #define AML_LNOTEQUAL_OP (u16) 0x9293 |
189 | 188 | ||
190 | |||
191 | /* | 189 | /* |
192 | * Internal opcodes | 190 | * Internal opcodes |
193 | * Use only "Unknown" AML opcodes, don't attempt to use | 191 | * Use only "Unknown" AML opcodes, don't attempt to use |
@@ -203,7 +201,6 @@ | |||
203 | #define AML_INT_RETURN_VALUE_OP (u16) 0x0036 | 201 | #define AML_INT_RETURN_VALUE_OP (u16) 0x0036 |
204 | #define AML_INT_EVAL_SUBTREE_OP (u16) 0x0037 | 202 | #define AML_INT_EVAL_SUBTREE_OP (u16) 0x0037 |
205 | 203 | ||
206 | |||
207 | #define ARG_NONE 0x0 | 204 | #define ARG_NONE 0x0 |
208 | 205 | ||
209 | /* | 206 | /* |
@@ -245,7 +242,7 @@ | |||
245 | 242 | ||
246 | /* Single, simple types */ | 243 | /* Single, simple types */ |
247 | 244 | ||
248 | #define ARGI_ANYTYPE 0x01 /* Don't care */ | 245 | #define ARGI_ANYTYPE 0x01 /* Don't care */ |
249 | #define ARGI_PACKAGE 0x02 | 246 | #define ARGI_PACKAGE 0x02 |
250 | #define ARGI_EVENT 0x03 | 247 | #define ARGI_EVENT 0x03 |
251 | #define ARGI_MUTEX 0x04 | 248 | #define ARGI_MUTEX 0x04 |
@@ -256,8 +253,8 @@ | |||
256 | #define ARGI_INTEGER 0x06 | 253 | #define ARGI_INTEGER 0x06 |
257 | #define ARGI_STRING 0x07 | 254 | #define ARGI_STRING 0x07 |
258 | #define ARGI_BUFFER 0x08 | 255 | #define ARGI_BUFFER 0x08 |
259 | #define ARGI_BUFFER_OR_STRING 0x09 /* Used by MID op only */ | 256 | #define ARGI_BUFFER_OR_STRING 0x09 /* Used by MID op only */ |
260 | #define ARGI_COMPUTEDATA 0x0A /* Buffer, String, or Integer */ | 257 | #define ARGI_COMPUTEDATA 0x0A /* Buffer, String, or Integer */ |
261 | 258 | ||
262 | /* Reference objects */ | 259 | /* Reference objects */ |
263 | 260 | ||
@@ -265,30 +262,28 @@ | |||
265 | #define ARGI_OBJECT_REF 0x0C | 262 | #define ARGI_OBJECT_REF 0x0C |
266 | #define ARGI_DEVICE_REF 0x0D | 263 | #define ARGI_DEVICE_REF 0x0D |
267 | #define ARGI_REFERENCE 0x0E | 264 | #define ARGI_REFERENCE 0x0E |
268 | #define ARGI_TARGETREF 0x0F /* Target, subject to implicit conversion */ | 265 | #define ARGI_TARGETREF 0x0F /* Target, subject to implicit conversion */ |
269 | #define ARGI_FIXED_TARGET 0x10 /* Target, no implicit conversion */ | 266 | #define ARGI_FIXED_TARGET 0x10 /* Target, no implicit conversion */ |
270 | #define ARGI_SIMPLE_TARGET 0x11 /* Name, Local, Arg -- no implicit conversion */ | 267 | #define ARGI_SIMPLE_TARGET 0x11 /* Name, Local, Arg -- no implicit conversion */ |
271 | 268 | ||
272 | /* Multiple/complex types */ | 269 | /* Multiple/complex types */ |
273 | 270 | ||
274 | #define ARGI_DATAOBJECT 0x12 /* Buffer, String, package or reference to a Node - Used only by size_of operator*/ | 271 | #define ARGI_DATAOBJECT 0x12 /* Buffer, String, package or reference to a Node - Used only by size_of operator */ |
275 | #define ARGI_COMPLEXOBJ 0x13 /* Buffer, String, or package (Used by INDEX op only) */ | 272 | #define ARGI_COMPLEXOBJ 0x13 /* Buffer, String, or package (Used by INDEX op only) */ |
276 | #define ARGI_REF_OR_STRING 0x14 /* Reference or String (Used by DEREFOF op only) */ | 273 | #define ARGI_REF_OR_STRING 0x14 /* Reference or String (Used by DEREFOF op only) */ |
277 | #define ARGI_REGION_OR_FIELD 0x15 /* Used by LOAD op only */ | 274 | #define ARGI_REGION_OR_FIELD 0x15 /* Used by LOAD op only */ |
278 | #define ARGI_DATAREFOBJ 0x16 | 275 | #define ARGI_DATAREFOBJ 0x16 |
279 | 276 | ||
280 | /* Note: types above can expand to 0x1F maximum */ | 277 | /* Note: types above can expand to 0x1F maximum */ |
281 | 278 | ||
282 | #define ARGI_INVALID_OPCODE 0xFFFFFFFF | 279 | #define ARGI_INVALID_OPCODE 0xFFFFFFFF |
283 | 280 | ||
284 | |||
285 | /* | 281 | /* |
286 | * hash offsets | 282 | * hash offsets |
287 | */ | 283 | */ |
288 | #define AML_EXTOP_HASH_OFFSET 22 | 284 | #define AML_EXTOP_HASH_OFFSET 22 |
289 | #define AML_LNOT_HASH_OFFSET 19 | 285 | #define AML_LNOT_HASH_OFFSET 19 |
290 | 286 | ||
291 | |||
292 | /* | 287 | /* |
293 | * opcode groups and types | 288 | * opcode groups and types |
294 | */ | 289 | */ |
@@ -296,7 +291,6 @@ | |||
296 | #define OPGRP_FIELD 0x02 | 291 | #define OPGRP_FIELD 0x02 |
297 | #define OPGRP_BYTELIST 0x04 | 292 | #define OPGRP_BYTELIST 0x04 |
298 | 293 | ||
299 | |||
300 | /* | 294 | /* |
301 | * Opcode information | 295 | * Opcode information |
302 | */ | 296 | */ |
@@ -322,31 +316,30 @@ | |||
322 | /* Convenient flag groupings */ | 316 | /* Convenient flag groupings */ |
323 | 317 | ||
324 | #define AML_FLAGS_EXEC_0A_0T_1R AML_HAS_RETVAL | 318 | #define AML_FLAGS_EXEC_0A_0T_1R AML_HAS_RETVAL |
325 | #define AML_FLAGS_EXEC_1A_0T_0R AML_HAS_ARGS /* Monadic1 */ | 319 | #define AML_FLAGS_EXEC_1A_0T_0R AML_HAS_ARGS /* Monadic1 */ |
326 | #define AML_FLAGS_EXEC_1A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Monadic2 */ | 320 | #define AML_FLAGS_EXEC_1A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Monadic2 */ |
327 | #define AML_FLAGS_EXEC_1A_1T_0R AML_HAS_ARGS | AML_HAS_TARGET | 321 | #define AML_FLAGS_EXEC_1A_1T_0R AML_HAS_ARGS | AML_HAS_TARGET |
328 | #define AML_FLAGS_EXEC_1A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* monadic2_r */ | 322 | #define AML_FLAGS_EXEC_1A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* monadic2_r */ |
329 | #define AML_FLAGS_EXEC_2A_0T_0R AML_HAS_ARGS /* Dyadic1 */ | 323 | #define AML_FLAGS_EXEC_2A_0T_0R AML_HAS_ARGS /* Dyadic1 */ |
330 | #define AML_FLAGS_EXEC_2A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Dyadic2 */ | 324 | #define AML_FLAGS_EXEC_2A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Dyadic2 */ |
331 | #define AML_FLAGS_EXEC_2A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* dyadic2_r */ | 325 | #define AML_FLAGS_EXEC_2A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* dyadic2_r */ |
332 | #define AML_FLAGS_EXEC_2A_2T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL | 326 | #define AML_FLAGS_EXEC_2A_2T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL |
333 | #define AML_FLAGS_EXEC_3A_0T_0R AML_HAS_ARGS | 327 | #define AML_FLAGS_EXEC_3A_0T_0R AML_HAS_ARGS |
334 | #define AML_FLAGS_EXEC_3A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL | 328 | #define AML_FLAGS_EXEC_3A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL |
335 | #define AML_FLAGS_EXEC_6A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL | 329 | #define AML_FLAGS_EXEC_6A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL |
336 | 330 | ||
337 | |||
338 | /* | 331 | /* |
339 | * The opcode Type is used in a dispatch table, do not change | 332 | * The opcode Type is used in a dispatch table, do not change |
340 | * without updating the table. | 333 | * without updating the table. |
341 | */ | 334 | */ |
342 | #define AML_TYPE_EXEC_0A_0T_1R 0x00 | 335 | #define AML_TYPE_EXEC_0A_0T_1R 0x00 |
343 | #define AML_TYPE_EXEC_1A_0T_0R 0x01 /* Monadic1 */ | 336 | #define AML_TYPE_EXEC_1A_0T_0R 0x01 /* Monadic1 */ |
344 | #define AML_TYPE_EXEC_1A_0T_1R 0x02 /* Monadic2 */ | 337 | #define AML_TYPE_EXEC_1A_0T_1R 0x02 /* Monadic2 */ |
345 | #define AML_TYPE_EXEC_1A_1T_0R 0x03 | 338 | #define AML_TYPE_EXEC_1A_1T_0R 0x03 |
346 | #define AML_TYPE_EXEC_1A_1T_1R 0x04 /* monadic2_r */ | 339 | #define AML_TYPE_EXEC_1A_1T_1R 0x04 /* monadic2_r */ |
347 | #define AML_TYPE_EXEC_2A_0T_0R 0x05 /* Dyadic1 */ | 340 | #define AML_TYPE_EXEC_2A_0T_0R 0x05 /* Dyadic1 */ |
348 | #define AML_TYPE_EXEC_2A_0T_1R 0x06 /* Dyadic2 */ | 341 | #define AML_TYPE_EXEC_2A_0T_1R 0x06 /* Dyadic2 */ |
349 | #define AML_TYPE_EXEC_2A_1T_1R 0x07 /* dyadic2_r */ | 342 | #define AML_TYPE_EXEC_2A_1T_1R 0x07 /* dyadic2_r */ |
350 | #define AML_TYPE_EXEC_2A_2T_1R 0x08 | 343 | #define AML_TYPE_EXEC_2A_2T_1R 0x08 |
351 | #define AML_TYPE_EXEC_3A_0T_0R 0x09 | 344 | #define AML_TYPE_EXEC_3A_0T_0R 0x09 |
352 | #define AML_TYPE_EXEC_3A_1T_1R 0x0A | 345 | #define AML_TYPE_EXEC_3A_1T_1R 0x0A |
@@ -399,40 +392,33 @@ | |||
399 | #define AML_CLASS_METHOD_CALL 0x09 | 392 | #define AML_CLASS_METHOD_CALL 0x09 |
400 | #define AML_CLASS_UNKNOWN 0x0A | 393 | #define AML_CLASS_UNKNOWN 0x0A |
401 | 394 | ||
402 | |||
403 | /* Predefined Operation Region space_iDs */ | 395 | /* Predefined Operation Region space_iDs */ |
404 | 396 | ||
405 | typedef enum | 397 | typedef enum { |
406 | { | 398 | REGION_MEMORY = 0, |
407 | REGION_MEMORY = 0, | ||
408 | REGION_IO, | 399 | REGION_IO, |
409 | REGION_PCI_CONFIG, | 400 | REGION_PCI_CONFIG, |
410 | REGION_EC, | 401 | REGION_EC, |
411 | REGION_SMBUS, | 402 | REGION_SMBUS, |
412 | REGION_CMOS, | 403 | REGION_CMOS, |
413 | REGION_PCI_BAR, | 404 | REGION_PCI_BAR, |
414 | REGION_DATA_TABLE, /* Internal use only */ | 405 | REGION_DATA_TABLE, /* Internal use only */ |
415 | REGION_FIXED_HW = 0x7F | 406 | REGION_FIXED_HW = 0x7F |
416 | |||
417 | } AML_REGION_TYPES; | 407 | } AML_REGION_TYPES; |
418 | 408 | ||
419 | |||
420 | /* Comparison operation codes for match_op operator */ | 409 | /* Comparison operation codes for match_op operator */ |
421 | 410 | ||
422 | typedef enum | 411 | typedef enum { |
423 | { | 412 | MATCH_MTR = 0, |
424 | MATCH_MTR = 0, | 413 | MATCH_MEQ = 1, |
425 | MATCH_MEQ = 1, | 414 | MATCH_MLE = 2, |
426 | MATCH_MLE = 2, | 415 | MATCH_MLT = 3, |
427 | MATCH_MLT = 3, | 416 | MATCH_MGE = 4, |
428 | MATCH_MGE = 4, | 417 | MATCH_MGT = 5 |
429 | MATCH_MGT = 5 | ||
430 | |||
431 | } AML_MATCH_OPERATOR; | 418 | } AML_MATCH_OPERATOR; |
432 | 419 | ||
433 | #define MAX_MATCH_OPERATOR 5 | 420 | #define MAX_MATCH_OPERATOR 5 |
434 | 421 | ||
435 | |||
436 | /* | 422 | /* |
437 | * field_flags | 423 | * field_flags |
438 | * | 424 | * |
@@ -450,60 +436,47 @@ typedef enum | |||
450 | #define AML_FIELD_LOCK_RULE_MASK 0x10 | 436 | #define AML_FIELD_LOCK_RULE_MASK 0x10 |
451 | #define AML_FIELD_UPDATE_RULE_MASK 0x60 | 437 | #define AML_FIELD_UPDATE_RULE_MASK 0x60 |
452 | 438 | ||
453 | |||
454 | /* 1) Field Access Types */ | 439 | /* 1) Field Access Types */ |
455 | 440 | ||
456 | typedef enum | 441 | typedef enum { |
457 | { | 442 | AML_FIELD_ACCESS_ANY = 0x00, |
458 | AML_FIELD_ACCESS_ANY = 0x00, | 443 | AML_FIELD_ACCESS_BYTE = 0x01, |
459 | AML_FIELD_ACCESS_BYTE = 0x01, | 444 | AML_FIELD_ACCESS_WORD = 0x02, |
460 | AML_FIELD_ACCESS_WORD = 0x02, | 445 | AML_FIELD_ACCESS_DWORD = 0x03, |
461 | AML_FIELD_ACCESS_DWORD = 0x03, | 446 | AML_FIELD_ACCESS_QWORD = 0x04, /* ACPI 2.0 */ |
462 | AML_FIELD_ACCESS_QWORD = 0x04, /* ACPI 2.0 */ | 447 | AML_FIELD_ACCESS_BUFFER = 0x05 /* ACPI 2.0 */ |
463 | AML_FIELD_ACCESS_BUFFER = 0x05 /* ACPI 2.0 */ | ||
464 | |||
465 | } AML_ACCESS_TYPE; | 448 | } AML_ACCESS_TYPE; |
466 | 449 | ||
467 | |||
468 | /* 2) Field Lock Rules */ | 450 | /* 2) Field Lock Rules */ |
469 | 451 | ||
470 | typedef enum | 452 | typedef enum { |
471 | { | 453 | AML_FIELD_LOCK_NEVER = 0x00, |
472 | AML_FIELD_LOCK_NEVER = 0x00, | 454 | AML_FIELD_LOCK_ALWAYS = 0x10 |
473 | AML_FIELD_LOCK_ALWAYS = 0x10 | ||
474 | |||
475 | } AML_LOCK_RULE; | 455 | } AML_LOCK_RULE; |
476 | 456 | ||
477 | |||
478 | /* 3) Field Update Rules */ | 457 | /* 3) Field Update Rules */ |
479 | 458 | ||
480 | typedef enum | 459 | typedef enum { |
481 | { | 460 | AML_FIELD_UPDATE_PRESERVE = 0x00, |
482 | AML_FIELD_UPDATE_PRESERVE = 0x00, | 461 | AML_FIELD_UPDATE_WRITE_AS_ONES = 0x20, |
483 | AML_FIELD_UPDATE_WRITE_AS_ONES = 0x20, | ||
484 | AML_FIELD_UPDATE_WRITE_AS_ZEROS = 0x40 | 462 | AML_FIELD_UPDATE_WRITE_AS_ZEROS = 0x40 |
485 | |||
486 | } AML_UPDATE_RULE; | 463 | } AML_UPDATE_RULE; |
487 | 464 | ||
488 | |||
489 | /* | 465 | /* |
490 | * Field Access Attributes. | 466 | * Field Access Attributes. |
491 | * This byte is extracted from the AML via the | 467 | * This byte is extracted from the AML via the |
492 | * access_as keyword | 468 | * access_as keyword |
493 | */ | 469 | */ |
494 | typedef enum | 470 | typedef enum { |
495 | { | 471 | AML_FIELD_ATTRIB_SMB_QUICK = 0x02, |
496 | AML_FIELD_ATTRIB_SMB_QUICK = 0x02, | 472 | AML_FIELD_ATTRIB_SMB_SEND_RCV = 0x04, |
497 | AML_FIELD_ATTRIB_SMB_SEND_RCV = 0x04, | 473 | AML_FIELD_ATTRIB_SMB_BYTE = 0x06, |
498 | AML_FIELD_ATTRIB_SMB_BYTE = 0x06, | 474 | AML_FIELD_ATTRIB_SMB_WORD = 0x08, |
499 | AML_FIELD_ATTRIB_SMB_WORD = 0x08, | 475 | AML_FIELD_ATTRIB_SMB_BLOCK = 0x0A, |
500 | AML_FIELD_ATTRIB_SMB_BLOCK = 0x0A, | 476 | AML_FIELD_ATTRIB_SMB_WORD_CALL = 0x0C, |
501 | AML_FIELD_ATTRIB_SMB_WORD_CALL = 0x0C, | ||
502 | AML_FIELD_ATTRIB_SMB_BLOCK_CALL = 0x0D | 477 | AML_FIELD_ATTRIB_SMB_BLOCK_CALL = 0x0D |
503 | |||
504 | } AML_ACCESS_ATTRIBUTE; | 478 | } AML_ACCESS_ATTRIBUTE; |
505 | 479 | ||
506 | |||
507 | /* Bit fields in method_flags byte */ | 480 | /* Bit fields in method_flags byte */ |
508 | 481 | ||
509 | #define AML_METHOD_ARG_COUNT 0x07 | 482 | #define AML_METHOD_ARG_COUNT 0x07 |
@@ -516,5 +489,4 @@ typedef enum | |||
516 | #define AML_METHOD_RESERVED1 0x02 | 489 | #define AML_METHOD_RESERVED1 0x02 |
517 | #define AML_METHOD_RESERVED2 0x04 | 490 | #define AML_METHOD_RESERVED2 0x04 |
518 | 491 | ||
519 | 492 | #endif /* __AMLCODE_H__ */ | |
520 | #endif /* __AMLCODE_H__ */ | ||