diff options
-rw-r--r-- | drivers/acpi/acpica/acglobal.h | 2 | ||||
-rw-r--r-- | drivers/acpi/acpica/aclocal.h | 25 | ||||
-rw-r--r-- | drivers/acpi/acpica/dsmethod.c | 2 | ||||
-rw-r--r-- | drivers/acpi/acpica/dswload.c | 5 | ||||
-rw-r--r-- | drivers/acpi/acpica/nssearch.c | 5 | ||||
-rw-r--r-- | drivers/acpi/acpica/utglobal.c | 4 | ||||
-rw-r--r-- | include/acpi/acoutput.h | 1 | ||||
-rw-r--r-- | include/acpi/platform/acenv.h | 45 |
8 files changed, 76 insertions, 13 deletions
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h index 64472e4ec329..1ef7ca486a28 100644 --- a/drivers/acpi/acpica/acglobal.h +++ b/drivers/acpi/acpica/acglobal.h | |||
@@ -415,6 +415,8 @@ ACPI_EXTERN u8 acpi_gbl_db_output_flags; | |||
415 | 415 | ||
416 | ACPI_EXTERN u8 acpi_gbl_db_opt_disasm; | 416 | ACPI_EXTERN u8 acpi_gbl_db_opt_disasm; |
417 | ACPI_EXTERN u8 acpi_gbl_db_opt_verbose; | 417 | ACPI_EXTERN u8 acpi_gbl_db_opt_verbose; |
418 | ACPI_EXTERN struct acpi_external_list *acpi_gbl_external_list; | ||
419 | ACPI_EXTERN struct acpi_external_file *acpi_gbl_external_file_list; | ||
418 | #endif | 420 | #endif |
419 | 421 | ||
420 | #ifdef ACPI_DEBUGGER | 422 | #ifdef ACPI_DEBUGGER |
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h index 3453ea68a296..50f8b97e799b 100644 --- a/drivers/acpi/acpica/aclocal.h +++ b/drivers/acpi/acpica/aclocal.h | |||
@@ -1029,6 +1029,31 @@ struct acpi_port_info { | |||
1029 | 1029 | ||
1030 | /***************************************************************************** | 1030 | /***************************************************************************** |
1031 | * | 1031 | * |
1032 | * Disassembler | ||
1033 | * | ||
1034 | ****************************************************************************/ | ||
1035 | |||
1036 | struct acpi_external_list { | ||
1037 | char *path; | ||
1038 | char *internal_path; | ||
1039 | struct acpi_external_list *next; | ||
1040 | u32 value; | ||
1041 | u16 length; | ||
1042 | u8 type; | ||
1043 | u8 flags; | ||
1044 | }; | ||
1045 | |||
1046 | /* Values for Flags field above */ | ||
1047 | |||
1048 | #define ACPI_IPATH_ALLOCATED 0x01 | ||
1049 | |||
1050 | struct acpi_external_file { | ||
1051 | char *path; | ||
1052 | struct acpi_external_file *next; | ||
1053 | }; | ||
1054 | |||
1055 | /***************************************************************************** | ||
1056 | * | ||
1032 | * Debugger | 1057 | * Debugger |
1033 | * | 1058 | * |
1034 | ****************************************************************************/ | 1059 | ****************************************************************************/ |
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c index 52eb4e01622a..735c05996ec6 100644 --- a/drivers/acpi/acpica/dsmethod.c +++ b/drivers/acpi/acpica/dsmethod.c | |||
@@ -47,7 +47,7 @@ | |||
47 | #include "acinterp.h" | 47 | #include "acinterp.h" |
48 | #include "acnamesp.h" | 48 | #include "acnamesp.h" |
49 | #ifdef ACPI_DISASSEMBLER | 49 | #ifdef ACPI_DISASSEMBLER |
50 | #include <acpi/acdisasm.h> | 50 | #include "acdisasm.h" |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | #define _COMPONENT ACPI_DISPATCHER | 53 | #define _COMPONENT ACPI_DISPATCHER |
diff --git a/drivers/acpi/acpica/dswload.c b/drivers/acpi/acpica/dswload.c index 557510084c7a..d2907407a64b 100644 --- a/drivers/acpi/acpica/dswload.c +++ b/drivers/acpi/acpica/dswload.c | |||
@@ -50,7 +50,7 @@ | |||
50 | #include "acnamesp.h" | 50 | #include "acnamesp.h" |
51 | 51 | ||
52 | #ifdef ACPI_ASL_COMPILER | 52 | #ifdef ACPI_ASL_COMPILER |
53 | #include <acpi/acdisasm.h> | 53 | #include "acdisasm.h" |
54 | #endif | 54 | #endif |
55 | 55 | ||
56 | #define _COMPONENT ACPI_DISPATCHER | 56 | #define _COMPONENT ACPI_DISPATCHER |
@@ -178,7 +178,8 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state, | |||
178 | * Target of Scope() not found. Generate an External for it, and | 178 | * Target of Scope() not found. Generate an External for it, and |
179 | * insert the name into the namespace. | 179 | * insert the name into the namespace. |
180 | */ | 180 | */ |
181 | acpi_dm_add_to_external_list(path, ACPI_TYPE_DEVICE, 0); | 181 | acpi_dm_add_to_external_list(op, path, ACPI_TYPE_DEVICE, |
182 | 0); | ||
182 | status = | 183 | status = |
183 | acpi_ns_lookup(walk_state->scope_info, path, | 184 | acpi_ns_lookup(walk_state->scope_info, path, |
184 | object_type, ACPI_IMODE_LOAD_PASS1, | 185 | object_type, ACPI_IMODE_LOAD_PASS1, |
diff --git a/drivers/acpi/acpica/nssearch.c b/drivers/acpi/acpica/nssearch.c index 1d2d8ffc1bc5..b7f426482e52 100644 --- a/drivers/acpi/acpica/nssearch.c +++ b/drivers/acpi/acpica/nssearch.c | |||
@@ -328,6 +328,11 @@ acpi_ns_search_and_enter(u32 target_name, | |||
328 | if ((status == AE_OK) && (flags & ACPI_NS_ERROR_IF_FOUND)) { | 328 | if ((status == AE_OK) && (flags & ACPI_NS_ERROR_IF_FOUND)) { |
329 | status = AE_ALREADY_EXISTS; | 329 | status = AE_ALREADY_EXISTS; |
330 | } | 330 | } |
331 | #ifdef ACPI_ASL_COMPILER | ||
332 | if (*return_node && (*return_node)->type == ACPI_TYPE_ANY) { | ||
333 | (*return_node)->flags |= ANOBJ_IS_EXTERNAL; | ||
334 | } | ||
335 | #endif | ||
331 | 336 | ||
332 | /* Either found it or there was an error: finished either way */ | 337 | /* Either found it or there was an error: finished either way */ |
333 | 338 | ||
diff --git a/drivers/acpi/acpica/utglobal.c b/drivers/acpi/acpica/utglobal.c index d7919a321f4d..4080088f937c 100644 --- a/drivers/acpi/acpica/utglobal.c +++ b/drivers/acpi/acpica/utglobal.c | |||
@@ -357,6 +357,10 @@ acpi_status acpi_ut_init_globals(void) | |||
357 | acpi_gbl_root_node_struct.peer = NULL; | 357 | acpi_gbl_root_node_struct.peer = NULL; |
358 | acpi_gbl_root_node_struct.object = NULL; | 358 | acpi_gbl_root_node_struct.object = NULL; |
359 | 359 | ||
360 | #ifdef ACPI_DISASSEMBLER | ||
361 | acpi_gbl_external_list = NULL; | ||
362 | #endif | ||
363 | |||
360 | #ifdef ACPI_DEBUG_OUTPUT | 364 | #ifdef ACPI_DEBUG_OUTPUT |
361 | acpi_gbl_lowest_stack_pointer = ACPI_CAST_PTR(acpi_size, ACPI_SIZE_MAX); | 365 | acpi_gbl_lowest_stack_pointer = ACPI_CAST_PTR(acpi_size, ACPI_SIZE_MAX); |
362 | #endif | 366 | #endif |
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index 2457ac849655..38e1be094655 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
@@ -72,6 +72,7 @@ | |||
72 | #define ACPI_EXAMPLE 0x00004000 | 72 | #define ACPI_EXAMPLE 0x00004000 |
73 | #define ACPI_DRIVER 0x00008000 | 73 | #define ACPI_DRIVER 0x00008000 |
74 | #define DT_COMPILER 0x00010000 | 74 | #define DT_COMPILER 0x00010000 |
75 | #define ASL_PREPROCESSOR 0x00020000 | ||
75 | 76 | ||
76 | #define ACPI_ALL_COMPONENTS 0x0001FFFF | 77 | #define ACPI_ALL_COMPONENTS 0x0001FFFF |
77 | #define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) | 78 | #define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) |
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index 68a58a163fe1..13ac538f7892 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h | |||
@@ -65,32 +65,57 @@ | |||
65 | * | 65 | * |
66 | *****************************************************************************/ | 66 | *****************************************************************************/ |
67 | 67 | ||
68 | /* Linkable ACPICA library */ | ||
69 | #ifdef ACPI_LIBRARY | ||
70 | #define ACPI_USE_LOCAL_CACHE | ||
71 | #endif | ||
72 | |||
73 | /* iASL configuration */ | 68 | /* iASL configuration */ |
74 | #ifdef ACPI_ASL_COMPILER | 69 | #ifdef ACPI_ASL_COMPILER |
75 | #define ACPI_DEBUG_OUTPUT | ||
76 | #define ACPI_APPLICATION | 70 | #define ACPI_APPLICATION |
77 | #define ACPI_DISASSEMBLER | 71 | #define ACPI_DISASSEMBLER |
72 | #define ACPI_DEBUG_OUTPUT | ||
78 | #define ACPI_CONSTANT_EVAL_ONLY | 73 | #define ACPI_CONSTANT_EVAL_ONLY |
79 | #define ACPI_LARGE_NAMESPACE_NODE | 74 | #define ACPI_LARGE_NAMESPACE_NODE |
80 | #define ACPI_DATA_TABLE_DISASSEMBLY | 75 | #define ACPI_DATA_TABLE_DISASSEMBLY |
76 | #define ACPI_SINGLE_THREADED | ||
81 | #endif | 77 | #endif |
82 | 78 | ||
83 | /* acpi_exec configuration. Multithreaded with full AML debugger */ | 79 | /* acpi_exec configuration. Multithreaded with full AML debugger */ |
84 | #ifdef ACPI_EXEC_APP | 80 | #ifdef ACPI_EXEC_APP |
85 | #undef DEBUGGER_THREADING | ||
86 | #define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED | ||
87 | #define ACPI_FULL_DEBUG | ||
88 | #define ACPI_APPLICATION | 81 | #define ACPI_APPLICATION |
89 | #define ACPI_DEBUGGER | 82 | #define ACPI_FULL_DEBUG |
90 | #define ACPI_MUTEX_DEBUG | 83 | #define ACPI_MUTEX_DEBUG |
91 | #define ACPI_DBG_TRACK_ALLOCATIONS | 84 | #define ACPI_DBG_TRACK_ALLOCATIONS |
92 | #endif | 85 | #endif |
93 | 86 | ||
87 | /* acpi_names configuration. Single threaded with debugger output enabled. */ | ||
88 | |||
89 | #ifdef ACPI_NAMES_APP | ||
90 | #define ACPI_DEBUGGER | ||
91 | #define ACPI_APPLICATION | ||
92 | #define ACPI_SINGLE_THREADED | ||
93 | #endif | ||
94 | |||
95 | /* | ||
96 | * acpi_bin/acpi_help/acpi_src configuration. All single threaded, with | ||
97 | * no debug output. | ||
98 | */ | ||
99 | #if (defined ACPI_BIN_APP) || \ | ||
100 | (defined ACPI_SRC_APP) || \ | ||
101 | (defined ACPI_XTRACT_APP) | ||
102 | #define ACPI_APPLICATION | ||
103 | #define ACPI_SINGLE_THREADED | ||
104 | #endif | ||
105 | |||
106 | #ifdef ACPI_HELP_APP | ||
107 | #define ACPI_APPLICATION | ||
108 | #define ACPI_SINGLE_THREADED | ||
109 | #define ACPI_NO_ERROR_MESSAGES | ||
110 | #endif | ||
111 | |||
112 | /* Linkable ACPICA library */ | ||
113 | |||
114 | #ifdef ACPI_LIBRARY | ||
115 | #define ACPI_USE_LOCAL_CACHE | ||
116 | #define ACPI_FUTURE_USAGE | ||
117 | #endif | ||
118 | |||
94 | /* Common for all ACPICA applications */ | 119 | /* Common for all ACPICA applications */ |
95 | #ifdef ACPI_APPLICATION | 120 | #ifdef ACPI_APPLICATION |
96 | #define ACPI_USE_SYSTEM_CLIBRARY | 121 | #define ACPI_USE_SYSTEM_CLIBRARY |