|
ReactOS 0.4.16-dev-1946-g52006dd
|
#include <uacpi/internal/types.h>#include <uacpi/internal/interpreter.h>#include <uacpi/internal/dynamic_array.h>#include <uacpi/internal/opcodes.h>#include <uacpi/internal/namespace.h>#include <uacpi/internal/stdlib.h>#include <uacpi/internal/context.h>#include <uacpi/internal/shareable.h>#include <uacpi/internal/tables.h>#include <uacpi/internal/helpers.h>#include <uacpi/kernel_api.h>#include <uacpi/internal/utilities.h>#include <uacpi/internal/opregion.h>#include <uacpi/internal/io.h>#include <uacpi/internal/notify.h>#include <uacpi/internal/resources.h>#include <uacpi/internal/event.h>#include <uacpi/internal/mutex.h>#include <uacpi/internal/osi.h>
Go to the source code of this file.
Classes | |
| struct | package_length |
| struct | item |
| struct | op_context |
| struct | code_block |
| struct | call_frame |
| struct | execution_context |
| struct | field_specific_data |
Macros | |
| #define | AML_READ(ptr, offset) (*(((uacpi_u8*)(ptr)) + offset)) |
| #define | EXEC_OP_DO_LVL(lvl, reason, ...) |
| #define | EXEC_OP_DO_ERR(reason, ...) EXEC_OP_DO_LVL(error, reason, __VA_ARGS__) |
| #define | EXEC_OP_DO_WARN(reason, ...) EXEC_OP_DO_LVL(warn, reason, __VA_ARGS__) |
| #define | EXEC_OP_ERR_2(reason, arg0, arg1) EXEC_OP_DO_ERR(reason, ,arg0, arg1) |
| #define | EXEC_OP_ERR_1(reason, arg0) EXEC_OP_DO_ERR(reason, ,arg0) |
| #define | EXEC_OP_ERR(reason) EXEC_OP_DO_ERR(reason) |
| #define | EXEC_OP_WARN(reason) EXEC_OP_DO_WARN(reason) |
| #define | SPEC_SIMPLE_NAME "SimpleName := NameString | ArgObj | LocalObj" |
| #define | SPEC_SUPER_NAME "SuperName := SimpleName | DebugObj | ReferenceTypeOpcode" |
| #define | SPEC_TERM_ARG "TermArg := ExpressionOpcode | DataObject | ArgObj | LocalObj" |
| #define | SPEC_OPERAND "Operand := TermArg => Integer" |
| #define | SPEC_STRING "String := TermArg => String" |
| #define | SPEC_TARGET "Target := SuperName | NullName" |
| #define | SPEC_COMPUTATIONAL_DATA |
| #define | EXT_OP_IDX(op) (op & 0xFF) |
Variables | |
| static const uacpi_char *const | op_trace_action_types [3] |
| static uacpi_u8 | parse_op_generates_item [0x100] |
| static uacpi_status(* | op_handlers [])(struct execution_context *ctx) |
| static uacpi_u8 | handler_idx_of_op [0x100] |
| static uacpi_u8 | handler_idx_of_ext_op [0x100] |
Definition at line 337 of file interpreter.c.
| #define EXEC_OP_DO_ERR | ( | reason, | |
| ... | |||
| ) | EXEC_OP_DO_LVL(error, reason, __VA_ARGS__) |
Definition at line 4589 of file interpreter.c.
Definition at line 4585 of file interpreter.c.
| #define EXEC_OP_DO_WARN | ( | reason, | |
| ... | |||
| ) | EXEC_OP_DO_LVL(warn, reason, __VA_ARGS__) |
Definition at line 4590 of file interpreter.c.
| #define EXEC_OP_ERR | ( | reason | ) | EXEC_OP_DO_ERR(reason) |
Definition at line 4594 of file interpreter.c.
| #define EXEC_OP_ERR_1 | ( | reason, | |
| arg0 | |||
| ) | EXEC_OP_DO_ERR(reason, ,arg0) |
Definition at line 4593 of file interpreter.c.
Definition at line 4592 of file interpreter.c.
| #define EXEC_OP_WARN | ( | reason | ) | EXEC_OP_DO_WARN(reason) |
Definition at line 4596 of file interpreter.c.
Definition at line 5062 of file interpreter.c.
| #define SPEC_COMPUTATIONAL_DATA |
Definition at line 4607 of file interpreter.c.
| #define SPEC_OPERAND "Operand := TermArg => Integer" |
Definition at line 4603 of file interpreter.c.
| #define SPEC_SIMPLE_NAME "SimpleName := NameString | ArgObj | LocalObj" |
Definition at line 4598 of file interpreter.c.
| #define SPEC_STRING "String := TermArg => String" |
Definition at line 4604 of file interpreter.c.
| #define SPEC_SUPER_NAME "SuperName := SimpleName | DebugObj | ReferenceTypeOpcode" |
Definition at line 4599 of file interpreter.c.
| #define SPEC_TARGET "Target := SuperName | NullName" |
Definition at line 4605 of file interpreter.c.
| #define SPEC_TERM_ARG "TermArg := ExpressionOpcode | DataObject | ArgObj | LocalObj" |
Definition at line 4601 of file interpreter.c.
| Enumerator | |
|---|---|
| ARGX | |
| LOCALX | |
Definition at line 1018 of file interpreter.c.
| Enumerator | |
|---|---|
| CODE_BLOCK_IF | |
| CODE_BLOCK_ELSE | |
| CODE_BLOCK_WHILE | |
| CODE_BLOCK_SCOPE | |
Definition at line 87 of file interpreter.c.
| Enumerator | |
|---|---|
| FORCE_RELEASE_NO | |
| FORCE_RELEASE_YES | |
Definition at line 180 of file interpreter.c.
| Enumerator | |
|---|---|
| ITEM_NONE | |
| ITEM_NAMESPACE_NODE | |
| ITEM_OBJECT | |
| ITEM_EMPTY_OBJECT | |
| ITEM_PACKAGE_LENGTH | |
| ITEM_IMMEDIATE | |
Definition at line 23 of file interpreter.c.
| Enumerator | |
|---|---|
| METHOD_CALL_NATIVE | |
| METHOD_CALL_AML | |
| METHOD_CALL_TABLE_LOAD | |
Definition at line 5102 of file interpreter.c.
Definition at line 4852 of file interpreter.c.
| Enumerator | |
|---|---|
| OP_TRACE_ACTION_BEGIN | |
| OP_TRACE_ACTION_RESUME | |
| OP_TRACE_ACTION_END | |
Definition at line 4137 of file interpreter.c.
| Enumerator | |
|---|---|
| RESOLVE_CREATE_LAST_NAMESEG_FAIL_IF_EXISTS | |
| RESOLVE_FAIL_IF_DOESNT_EXIST | |
Definition at line 472 of file interpreter.c.
|
static |
Definition at line 5184 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 1970 of file interpreter.c.
Referenced by handle_code_block().
|
static |
Definition at line 3804 of file interpreter.c.
Referenced by field_get_read_type().
|
static |
Definition at line 937 of file interpreter.c.
Referenced by debug_store_no_recurse(), handle_inc_dec(), handle_ref_or_deref_of(), and write_buffer_index().
|
static |
Definition at line 2699 of file interpreter.c.
Referenced by handle_concatenate(), and handle_to().
|
static |
Definition at line 1176 of file interpreter.c.
Referenced by handle_create_data_region(), and handle_load_table().
|
static |
Definition at line 4497 of file interpreter.c.
Referenced by ctx_reload_post_ret(), and prepare_method_call().
|
static |
Definition at line 293 of file interpreter.c.
Referenced by call_frame_has_code(), exec_op(), handle_string(), parse_package_length(), and resolve_name_string().
|
static |
Definition at line 288 of file interpreter.c.
Referenced by exec_op(), handle_string(), parse_package_length(), peek_next_op(), and resolve_name_string().
|
static |
Definition at line 298 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 2246 of file interpreter.c.
Referenced by handle_copy_object_or_store().
|
static |
Definition at line 4025 of file interpreter.c.
Referenced by handle_code_block().
|
static |
Definition at line 4132 of file interpreter.c.
Referenced by exec_op(), and uacpi_execute_control_method().
|
static |
Definition at line 5837 of file interpreter.c.
Referenced by stack_unwind(), and uacpi_execute_control_method().
|
static |
Definition at line 2149 of file interpreter.c.
Referenced by store_to_target().
|
static |
Definition at line 2066 of file interpreter.c.
Referenced by debug_store().
|
static |
Definition at line 2418 of file interpreter.c.
Referenced by handle_binary_math().
|
static |
Definition at line 637 of file interpreter.c.
Referenced by exec_op(), and handle_create_field().
|
static |
Definition at line 1282 of file interpreter.c.
Referenced by uacpi_execute_table().
|
static |
Definition at line 2760 of file interpreter.c.
Referenced by make_null_buffer(), and make_null_string().
| DYNAMIC_ARRAY_WITH_INLINE_STORAGE | ( | DYNAMIC_ARRAY_WITH_INLINE_STORAGE_IMPL( | temp_namespace_node_array, |
| uacpi_namespace_node * | , | ||
| 8 | |||
| ) |
Definition at line 247 of file interpreter.c.
| DYNAMIC_ARRAY_WITH_INLINE_STORAGE_IMPL | ( | call_frame_array | , |
| struct call_frame | , | ||
| static | |||
| ) |
Definition at line 304 of file interpreter.c.
| DYNAMIC_ARRAY_WITH_INLINE_STORAGE_IMPL | ( | code_block_array | , |
| struct code_block | , | ||
| static | |||
| ) |
Definition at line 104 of file interpreter.c.
| DYNAMIC_ARRAY_WITH_INLINE_STORAGE_IMPL | ( | op_context_array | , |
| struct op_context | , | ||
| static | |||
| ) |
Definition at line 69 of file interpreter.c.
|
static |
|
static |
Definition at line 1576 of file interpreter.c.
Referenced by handle_create_field().
|
static |
Definition at line 1594 of file interpreter.c.
Referenced by handle_create_field().
|
static |
Definition at line 2540 of file interpreter.c.
Referenced by handle_index().
|
static |
Definition at line 4407 of file interpreter.c.
Referenced by prepare_method_call().
|
static |
Definition at line 5197 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 5916 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 3827 of file interpreter.c.
Referenced by handle_field_read().
|
static |
Definition at line 3815 of file interpreter.c.
Referenced by exec_op(), and handle_inc_dec().
|
static |
Definition at line 1940 of file interpreter.c.
Referenced by begin_block_execution(), frame_reset_post_end_block(), and update_scope().
|
static |
Definition at line 4164 of file interpreter.c.
Referenced by prepare_method_call().
|
static |
Definition at line 2043 of file interpreter.c.
Referenced by handle_control_flow(), and maybe_end_block().
|
static |
Definition at line 4193 of file interpreter.c.
Referenced by prepare_method_call().
Definition at line 1563 of file interpreter.c.
Referenced by handle_create_field().
|
static |
Definition at line 902 of file interpreter.c.
Referenced by handle_concatenate(), handle_index(), handle_mid(), handle_sizeof(), handle_to(), and object_assign_with_implicit_cast().
|
static |
Definition at line 683 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 1071 of file interpreter.c.
|
static |
Definition at line 1023 of file interpreter.c.
Referenced by handle_arg(), and handle_local().
|
static |
Definition at line 3181 of file interpreter.c.
|
static |
Definition at line 3308 of file interpreter.c.
|
static |
Definition at line 2493 of file interpreter.c.
|
static |
Definition at line 707 of file interpreter.c.
|
static |
Definition at line 4061 of file interpreter.c.
|
static |
Definition at line 2929 of file interpreter.c.
|
static |
Definition at line 3040 of file interpreter.c.
|
static |
Definition at line 3995 of file interpreter.c.
|
static |
Definition at line 4286 of file interpreter.c.
|
static |
Definition at line 1095 of file interpreter.c.
|
static |
Definition at line 3905 of file interpreter.c.
|
static |
Definition at line 1209 of file interpreter.c.
|
static |
Definition at line 1612 of file interpreter.c.
|
static |
Definition at line 3496 of file interpreter.c.
|
static |
Definition at line 3549 of file interpreter.c.
|
static |
Definition at line 3787 of file interpreter.c.
|
static |
Definition at line 1109 of file interpreter.c.
|
static |
Definition at line 3577 of file interpreter.c.
|
static |
Definition at line 3847 of file interpreter.c.
|
static |
Definition at line 3760 of file interpreter.c.
|
static |
Definition at line 4333 of file interpreter.c.
|
static |
Definition at line 2553 of file interpreter.c.
|
static |
Definition at line 1413 of file interpreter.c.
|
static |
Definition at line 1302 of file interpreter.c.
|
static |
Definition at line 1062 of file interpreter.c.
|
static |
Definition at line 3255 of file interpreter.c.
Referenced by handle_binary_logic().
|
static |
Definition at line 3276 of file interpreter.c.
Referenced by handle_binary_logic().
|
static |
Definition at line 3241 of file interpreter.c.
|
static |
Definition at line 3386 of file interpreter.c.
|
static |
Definition at line 2874 of file interpreter.c.
|
static |
Definition at line 3628 of file interpreter.c.
|
static |
Definition at line 1080 of file interpreter.c.
|
static |
Definition at line 3724 of file interpreter.c.
|
static |
Definition at line 3124 of file interpreter.c.
|
static |
Definition at line 788 of file interpreter.c.
|
static |
Definition at line 2361 of file interpreter.c.
|
static |
Definition at line 4091 of file interpreter.c.
|
static |
Definition at line 3087 of file interpreter.c.
|
static |
Definition at line 3153 of file interpreter.c.
|
static |
Definition at line 760 of file interpreter.c.
|
static |
Definition at line 3142 of file interpreter.c.
|
static |
Definition at line 2788 of file interpreter.c.
|
static |
Definition at line 2847 of file interpreter.c.
|
static |
Definition at line 2513 of file interpreter.c.
|
static |
Definition at line 3218 of file interpreter.c.
|
static |
Definition at line 185 of file interpreter.c.
Referenced by ctx_reload_post_ret(), execution_context_release(), and handle_mutex_ctl().
|
static |
Definition at line 128 of file interpreter.c.
Referenced by held_mutexes_array_remove_and_release().
|
static |
Definition at line 3489 of file interpreter.c.
Referenced by handle_create_method().
|
static |
Definition at line 2666 of file interpreter.c.
Referenced by handle_to().
|
static |
Definition at line 1253 of file interpreter.c.
Referenced by do_load_table(), and prepare_table_load().
|
static |
Definition at line 2778 of file interpreter.c.
Referenced by handle_mid(), and handle_to().
|
static |
Definition at line 2773 of file interpreter.c.
Referenced by handle_mid(), handle_to(), and handle_to_string().
|
static |
Definition at line 3366 of file interpreter.c.
Referenced by handle_match().
|
static |
Definition at line 4234 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 1923 of file interpreter.c.
Referenced by handle_return(), and prepare_method_call().
|
static |
Definition at line 1883 of file interpreter.c.
Referenced by method_get_ret_object().
|
static |
Definition at line 364 of file interpreter.c.
Referenced by handle_package(), and trace_named_object_lookup_or_creation_failure().
|
static |
Definition at line 959 of file interpreter.c.
Referenced by store_to_reference(), and store_to_target().
|
static |
Definition at line 2213 of file interpreter.c.
Referenced by copy_object_to_reference(), and store_to_reference().
|
static |
Definition at line 2638 of file interpreter.c.
Referenced by handle_binary_logic(), handle_concatenate(), and handle_to().
Definition at line 1878 of file interpreter.c.
Referenced by exec_op(), handle_binary_logic(), handle_logical_not(), handle_match(), TestSSEExceptions(), and uacpi_osi().
|
static |
Definition at line 4638 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4650 of file interpreter.c.
Referenced by exec_op().
|
static |
|
static |
Definition at line 4564 of file interpreter.c.
Referenced by exec_op(), and op_decode_aml_op().
|
static |
Definition at line 4554 of file interpreter.c.
Referenced by exec_op(), op_decode_byte(), and op_typecheck().
|
static |
Definition at line 4661 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4611 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4624 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 2198 of file interpreter.c.
Referenced by object_replace_child().
|
static |
Definition at line 339 of file interpreter.c.
Referenced by resolve_name_string().
|
static |
Definition at line 3431 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 655 of file interpreter.c.
|
static |
Definition at line 4466 of file interpreter.c.
|
static |
Definition at line 4485 of file interpreter.c.
Referenced by exec_op(), and stack_unwind().
|
static |
Definition at line 5108 of file interpreter.c.
Referenced by exec_op(), and uacpi_execute_control_method().
|
static |
Definition at line 1258 of file interpreter.c.
Referenced by do_load_table(), handle_load(), and handle_load_table().
|
static |
Definition at line 4212 of file interpreter.c.
Referenced by prepare_method_call().
|
static |
Definition at line 4452 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 2182 of file interpreter.c.
Referenced by copy_object_to_reference(), handle_inc_dec(), handle_object_type(), handle_ref_or_deref_of(), handle_sizeof(), and store_to_reference().
|
static |
Definition at line 4116 of file interpreter.c.
Referenced by ctx_reload_post_ret(), pop_op(), push_new_frame(), and push_op().
|
static |
Definition at line 1163 of file interpreter.c.
Referenced by handle_create_data_region(), and handle_load_table().
|
static |
Definition at line 477 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 897 of file interpreter.c.
Referenced by get_object_storage(), handle_concatenate(), and handle_inc_dec().
|
static |
Definition at line 5876 of file interpreter.c.
Referenced by uacpi_execute_control_method().
|
static |
Definition at line 2299 of file interpreter.c.
Referenced by store_to_target().
|
static |
Definition at line 4251 of file interpreter.c.
Referenced by exec_op(), and handle_copy_object_or_store().
|
static |
Definition at line 1154 of file interpreter.c.
Referenced by build_table_id(), and handle_load_table().
|
static |
Definition at line 5855 of file interpreter.c.
Referenced by stack_unwind().
|
static |
Definition at line 4768 of file interpreter.c.
Referenced by exec_op().
|
inlinestatic |
Definition at line 4149 of file interpreter.c.
Referenced by exec_op(), and uacpi_execute_control_method().
Definition at line 4159 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 1870 of file interpreter.c.
Referenced by exec_op(), and handle_unary_math().
|
static |
Definition at line 4743 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4712 of file interpreter.c.
Referenced by typecheck_operand(), and typecheck_string().
|
static |
Definition at line 4727 of file interpreter.c.
Referenced by exec_op().
|
static |
| uacpi_status uacpi_execute_control_method | ( | uacpi_namespace_node * | scope, |
| uacpi_control_method * | method, | ||
| const uacpi_object_array * | args, | ||
| uacpi_object ** | out_obj | ||
| ) |
Definition at line 5934 of file interpreter.c.
Referenced by async_run_gpe_handler(), do_load_table(), region_run_reg(), and uacpi_eval().
| uacpi_status uacpi_execute_table | ( | void * | tbl, |
| enum uacpi_table_load_cause | cause | ||
| ) |
Definition at line 1549 of file interpreter.c.
Referenced by uacpi_table_load_with_cause().
| uacpi_status uacpi_osi | ( | uacpi_handle | handle, |
| uacpi_object * | retval | ||
| ) |
Definition at line 6021 of file interpreter.c.
Referenced by make_object_for_predefined().
|
static |
Definition at line 4844 of file interpreter.c.
|
static |
Definition at line 1957 of file interpreter.c.
Referenced by begin_block_execution(), and frame_reset_post_end_block().
|
static |
Definition at line 947 of file interpreter.c.
Referenced by object_assign_with_implicit_cast().
|
static |
Definition at line 5064 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4952 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4900 of file interpreter.c.
Referenced by exec_op().
|
static |
Definition at line 4143 of file interpreter.c.
Referenced by trace_op().
|
static |
Definition at line 4520 of file interpreter.c.
Referenced by exec_op().