diff options
author | Robert Moore <robert.moore@intel.com> | 2005-07-29 18:15:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-07-30 00:51:39 -0400 |
commit | 0c9938cc75057c0fca1af55a55dcfc2842436695 (patch) | |
tree | d18e809bf9e3811f20c609b6515d4d1b8520cfbc /include | |
parent | dd8f39bbf5154cdbfd698fc70c66faba33eafa44 (diff) |
[ACPI] ACPICA 20050729 from Bob Moore
Implemented support to ignore an attempt to install/load
a particular ACPI table more than once. Apparently there
exists BIOS code that repeatedly attempts to load the same
SSDT upon certain events. Thanks to Venkatesh Pallipadi.
Restructured the main interface to the AML parser in
order to correctly handle all exceptional conditions. This
will prevent leakage of the OwnerId resource and should
eliminate the AE_OWNER_ID_LIMIT exceptions seen on some
machines. Thanks to Alexey Starikovskiy.
Support for "module level code" has been disabled in this
version due to a number of issues that have appeared
on various machines. The support can be enabled by
defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem
compilation. When the issues are fully resolved, the code
will be enabled by default again.
Modified the internal functions for debug print support
to define the FunctionName parameter as a (const char *)
for compatibility with compiler built-in macros such as
__FUNCTION__, etc.
Linted the entire ACPICA source tree for both 32-bit
and 64-bit.
Signed-off-by: Robert Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acconfig.h | 2 | ||||
-rw-r--r-- | include/acpi/acdispat.h | 4 | ||||
-rw-r--r-- | include/acpi/acmacros.h | 4 | ||||
-rw-r--r-- | include/acpi/acnames.h | 5 | ||||
-rw-r--r-- | include/acpi/acnamesp.h | 2 | ||||
-rw-r--r-- | include/acpi/acparser.h | 7 | ||||
-rw-r--r-- | include/acpi/acstruct.h | 3 | ||||
-rw-r--r-- | include/acpi/actables.h | 6 | ||||
-rw-r--r-- | include/acpi/acutils.h | 26 | ||||
-rw-r--r-- | include/acpi/platform/acenv.h | 18 | ||||
-rw-r--r-- | include/acpi/platform/acgcc.h | 2 |
11 files changed, 44 insertions, 35 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h index aa3c08c6da41..d62af7293923 100644 --- a/include/acpi/acconfig.h +++ b/include/acpi/acconfig.h | |||
@@ -64,7 +64,7 @@ | |||
64 | 64 | ||
65 | /* Version string */ | 65 | /* Version string */ |
66 | 66 | ||
67 | #define ACPI_CA_VERSION 0x20050708 | 67 | #define ACPI_CA_VERSION 0x20050729 |
68 | 68 | ||
69 | /* | 69 | /* |
70 | * OS name, used for the _OS object. The _OS object is essentially obsolete, | 70 | * OS name, used for the _OS object. The _OS object is essentially obsolete, |
diff --git a/include/acpi/acdispat.h b/include/acpi/acdispat.h index fde6aa9fcd02..90b7d30bd255 100644 --- a/include/acpi/acdispat.h +++ b/include/acpi/acdispat.h | |||
@@ -236,7 +236,7 @@ acpi_ds_method_data_init ( | |||
236 | */ | 236 | */ |
237 | acpi_status | 237 | acpi_status |
238 | acpi_ds_parse_method ( | 238 | acpi_ds_parse_method ( |
239 | acpi_handle obj_handle); | 239 | struct acpi_namespace_node *node); |
240 | 240 | ||
241 | acpi_status | 241 | acpi_status |
242 | acpi_ds_call_control_method ( | 242 | acpi_ds_call_control_method ( |
@@ -391,7 +391,7 @@ acpi_ds_init_aml_walk ( | |||
391 | u8 *aml_start, | 391 | u8 *aml_start, |
392 | u32 aml_length, | 392 | u32 aml_length, |
393 | struct acpi_parameter_info *info, | 393 | struct acpi_parameter_info *info, |
394 | u32 pass_number); | 394 | u8 pass_number); |
395 | 395 | ||
396 | acpi_status | 396 | acpi_status |
397 | acpi_ds_obj_stack_pop_and_delete ( | 397 | acpi_ds_obj_stack_pop_and_delete ( |
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h index 5b100cef8dfc..fcdef0a4b01b 100644 --- a/include/acpi/acmacros.h +++ b/include/acpi/acmacros.h | |||
@@ -505,8 +505,10 @@ | |||
505 | * The Name parameter should be the procedure name as a quoted string. | 505 | * The Name parameter should be the procedure name as a quoted string. |
506 | * This is declared as a local string ("my_function_name") so that it can | 506 | * This is declared as a local string ("my_function_name") so that it can |
507 | * be also used by the function exit macros below. | 507 | * be also used by the function exit macros below. |
508 | * Note: (const char) is used to be compatible with the debug interfaces | ||
509 | * and macros such as __FUNCTION__. | ||
508 | */ | 510 | */ |
509 | #define ACPI_FUNCTION_NAME(name) char *_acpi_function_name = name; | 511 | #define ACPI_FUNCTION_NAME(name) const char *_acpi_function_name = name; |
510 | 512 | ||
511 | #else | 513 | #else |
512 | /* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */ | 514 | /* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */ |
diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h index deb7cb06f5f0..280e9ed76674 100644 --- a/include/acpi/acnames.h +++ b/include/acpi/acnames.h | |||
@@ -78,6 +78,11 @@ | |||
78 | #define ACPI_NS_ROOT_PATH "\\" | 78 | #define ACPI_NS_ROOT_PATH "\\" |
79 | #define ACPI_NS_SYSTEM_BUS "_SB_" | 79 | #define ACPI_NS_SYSTEM_BUS "_SB_" |
80 | 80 | ||
81 | /*! [Begin] no source code translation (not handled by acpisrc) */ | ||
82 | #define ACPI_FUNCTION_PREFIX1 'ipcA' | ||
83 | #define ACPI_FUNCTION_PREFIX2 'ipca' | ||
84 | /*! [End] no source code translation !*/ | ||
85 | |||
81 | 86 | ||
82 | #endif /* __ACNAMES_H__ */ | 87 | #endif /* __ACNAMES_H__ */ |
83 | 88 | ||
diff --git a/include/acpi/acnamesp.h b/include/acpi/acnamesp.h index 870e2544bd9b..0c9ba707925b 100644 --- a/include/acpi/acnamesp.h +++ b/include/acpi/acnamesp.h | |||
@@ -124,7 +124,7 @@ acpi_ns_parse_table ( | |||
124 | 124 | ||
125 | acpi_status | 125 | acpi_status |
126 | acpi_ns_one_complete_parse ( | 126 | acpi_ns_one_complete_parse ( |
127 | u32 pass_number, | 127 | u8 pass_number, |
128 | struct acpi_table_desc *table_desc); | 128 | struct acpi_table_desc *table_desc); |
129 | 129 | ||
130 | 130 | ||
diff --git a/include/acpi/acparser.h b/include/acpi/acparser.h index ba9548f94dea..f692ad56cd82 100644 --- a/include/acpi/acparser.h +++ b/include/acpi/acparser.h | |||
@@ -77,12 +77,7 @@ | |||
77 | * psxface - Parser external interfaces | 77 | * psxface - Parser external interfaces |
78 | */ | 78 | */ |
79 | acpi_status | 79 | acpi_status |
80 | acpi_psx_load_table ( | 80 | acpi_ps_execute_method ( |
81 | u8 *pcode_addr, | ||
82 | u32 pcode_length); | ||
83 | |||
84 | acpi_status | ||
85 | acpi_psx_execute ( | ||
86 | struct acpi_parameter_info *info); | 81 | struct acpi_parameter_info *info); |
87 | 82 | ||
88 | 83 | ||
diff --git a/include/acpi/acstruct.h b/include/acpi/acstruct.h index f375c17ad0b6..27b22bb3d229 100644 --- a/include/acpi/acstruct.h +++ b/include/acpi/acstruct.h | |||
@@ -153,6 +153,7 @@ struct acpi_device_walk_info | |||
153 | struct acpi_walk_info | 153 | struct acpi_walk_info |
154 | { | 154 | { |
155 | u32 debug_level; | 155 | u32 debug_level; |
156 | u32 count; | ||
156 | acpi_owner_id owner_id; | 157 | acpi_owner_id owner_id; |
157 | u8 display_type; | 158 | u8 display_type; |
158 | }; | 159 | }; |
@@ -209,8 +210,10 @@ union acpi_aml_operands | |||
209 | struct acpi_parameter_info | 210 | struct acpi_parameter_info |
210 | { | 211 | { |
211 | struct acpi_namespace_node *node; | 212 | struct acpi_namespace_node *node; |
213 | union acpi_operand_object *obj_desc; | ||
212 | union acpi_operand_object **parameters; | 214 | union acpi_operand_object **parameters; |
213 | union acpi_operand_object *return_object; | 215 | union acpi_operand_object *return_object; |
216 | u8 pass_number; | ||
214 | u8 parameter_type; | 217 | u8 parameter_type; |
215 | u8 return_object_type; | 218 | u8 return_object_type; |
216 | }; | 219 | }; |
diff --git a/include/acpi/actables.h b/include/acpi/actables.h index 97e6f12da527..e6ceb1819643 100644 --- a/include/acpi/actables.h +++ b/include/acpi/actables.h | |||
@@ -178,11 +178,15 @@ acpi_tb_validate_rsdp ( | |||
178 | * tbutils - common table utilities | 178 | * tbutils - common table utilities |
179 | */ | 179 | */ |
180 | acpi_status | 180 | acpi_status |
181 | acpi_tb_is_table_installed ( | ||
182 | struct acpi_table_desc *new_table_desc); | ||
183 | |||
184 | acpi_status | ||
181 | acpi_tb_verify_table_checksum ( | 185 | acpi_tb_verify_table_checksum ( |
182 | struct acpi_table_header *table_header); | 186 | struct acpi_table_header *table_header); |
183 | 187 | ||
184 | u8 | 188 | u8 |
185 | acpi_tb_checksum ( | 189 | acpi_tb_generate_checksum ( |
186 | void *buffer, | 190 | void *buffer, |
187 | u32 length); | 191 | u32 length); |
188 | 192 | ||
diff --git a/include/acpi/acutils.h b/include/acpi/acutils.h index 9c05c10e379a..0e7b0a3e3b5e 100644 --- a/include/acpi/acutils.h +++ b/include/acpi/acutils.h | |||
@@ -302,14 +302,14 @@ acpi_ut_track_stack_ptr ( | |||
302 | void | 302 | void |
303 | acpi_ut_trace ( | 303 | acpi_ut_trace ( |
304 | u32 line_number, | 304 | u32 line_number, |
305 | char *function_name, | 305 | const char *function_name, |
306 | char *module_name, | 306 | char *module_name, |
307 | u32 component_id); | 307 | u32 component_id); |
308 | 308 | ||
309 | void | 309 | void |
310 | acpi_ut_trace_ptr ( | 310 | acpi_ut_trace_ptr ( |
311 | u32 line_number, | 311 | u32 line_number, |
312 | char *function_name, | 312 | const char *function_name, |
313 | char *module_name, | 313 | char *module_name, |
314 | u32 component_id, | 314 | u32 component_id, |
315 | void *pointer); | 315 | void *pointer); |
@@ -317,7 +317,7 @@ acpi_ut_trace_ptr ( | |||
317 | void | 317 | void |
318 | acpi_ut_trace_u32 ( | 318 | acpi_ut_trace_u32 ( |
319 | u32 line_number, | 319 | u32 line_number, |
320 | char *function_name, | 320 | const char *function_name, |
321 | char *module_name, | 321 | char *module_name, |
322 | u32 component_id, | 322 | u32 component_id, |
323 | u32 integer); | 323 | u32 integer); |
@@ -325,7 +325,7 @@ acpi_ut_trace_u32 ( | |||
325 | void | 325 | void |
326 | acpi_ut_trace_str ( | 326 | acpi_ut_trace_str ( |
327 | u32 line_number, | 327 | u32 line_number, |
328 | char *function_name, | 328 | const char *function_name, |
329 | char *module_name, | 329 | char *module_name, |
330 | u32 component_id, | 330 | u32 component_id, |
331 | char *string); | 331 | char *string); |
@@ -333,14 +333,14 @@ acpi_ut_trace_str ( | |||
333 | void | 333 | void |
334 | acpi_ut_exit ( | 334 | acpi_ut_exit ( |
335 | u32 line_number, | 335 | u32 line_number, |
336 | char *function_name, | 336 | const char *function_name, |
337 | char *module_name, | 337 | char *module_name, |
338 | u32 component_id); | 338 | u32 component_id); |
339 | 339 | ||
340 | void | 340 | void |
341 | acpi_ut_status_exit ( | 341 | acpi_ut_status_exit ( |
342 | u32 line_number, | 342 | u32 line_number, |
343 | char *function_name, | 343 | const char *function_name, |
344 | char *module_name, | 344 | char *module_name, |
345 | u32 component_id, | 345 | u32 component_id, |
346 | acpi_status status); | 346 | acpi_status status); |
@@ -348,7 +348,7 @@ acpi_ut_status_exit ( | |||
348 | void | 348 | void |
349 | acpi_ut_value_exit ( | 349 | acpi_ut_value_exit ( |
350 | u32 line_number, | 350 | u32 line_number, |
351 | char *function_name, | 351 | const char *function_name, |
352 | char *module_name, | 352 | char *module_name, |
353 | u32 component_id, | 353 | u32 component_id, |
354 | acpi_integer value); | 354 | acpi_integer value); |
@@ -356,7 +356,7 @@ acpi_ut_value_exit ( | |||
356 | void | 356 | void |
357 | acpi_ut_ptr_exit ( | 357 | acpi_ut_ptr_exit ( |
358 | u32 line_number, | 358 | u32 line_number, |
359 | char *function_name, | 359 | const char *function_name, |
360 | char *module_name, | 360 | char *module_name, |
361 | u32 component_id, | 361 | u32 component_id, |
362 | u8 *ptr); | 362 | u8 *ptr); |
@@ -390,7 +390,7 @@ void ACPI_INTERNAL_VAR_XFACE | |||
390 | acpi_ut_debug_print ( | 390 | acpi_ut_debug_print ( |
391 | u32 requested_debug_level, | 391 | u32 requested_debug_level, |
392 | u32 line_number, | 392 | u32 line_number, |
393 | char *function_name, | 393 | const char *function_name, |
394 | char *module_name, | 394 | char *module_name, |
395 | u32 component_id, | 395 | u32 component_id, |
396 | char *format, | 396 | char *format, |
@@ -400,7 +400,7 @@ void ACPI_INTERNAL_VAR_XFACE | |||
400 | acpi_ut_debug_print_raw ( | 400 | acpi_ut_debug_print_raw ( |
401 | u32 requested_debug_level, | 401 | u32 requested_debug_level, |
402 | u32 line_number, | 402 | u32 line_number, |
403 | char *function_name, | 403 | const char *function_name, |
404 | char *module_name, | 404 | char *module_name, |
405 | u32 component_id, | 405 | u32 component_id, |
406 | char *format, | 406 | char *format, |
@@ -598,9 +598,9 @@ acpi_status | |||
598 | acpi_ut_allocate_owner_id ( | 598 | acpi_ut_allocate_owner_id ( |
599 | acpi_owner_id *owner_id); | 599 | acpi_owner_id *owner_id); |
600 | 600 | ||
601 | acpi_status | 601 | void |
602 | acpi_ut_release_owner_id ( | 602 | acpi_ut_release_owner_id ( |
603 | acpi_owner_id owner_id); | 603 | acpi_owner_id *owner_id); |
604 | 604 | ||
605 | acpi_status | 605 | acpi_status |
606 | acpi_ut_walk_package_tree ( | 606 | acpi_ut_walk_package_tree ( |
@@ -609,7 +609,7 @@ acpi_ut_walk_package_tree ( | |||
609 | acpi_pkg_callback walk_callback, | 609 | acpi_pkg_callback walk_callback, |
610 | void *context); | 610 | void *context); |
611 | 611 | ||
612 | char * | 612 | void |
613 | acpi_ut_strupr ( | 613 | acpi_ut_strupr ( |
614 | char *src_string); | 614 | char *src_string); |
615 | 615 | ||
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index aa63202e8d5d..bae1fbed097a 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h | |||
@@ -241,15 +241,15 @@ | |||
241 | #define ACPI_MEMCPY(d,s,n) (void) memcpy((d), (s), (acpi_size)(n)) | 241 | #define ACPI_MEMCPY(d,s,n) (void) memcpy((d), (s), (acpi_size)(n)) |
242 | #define ACPI_MEMSET(d,s,n) (void) memset((d), (s), (acpi_size)(n)) | 242 | #define ACPI_MEMSET(d,s,n) (void) memset((d), (s), (acpi_size)(n)) |
243 | 243 | ||
244 | #define ACPI_TOUPPER toupper | 244 | #define ACPI_TOUPPER(i) toupper((int) (i)) |
245 | #define ACPI_TOLOWER tolower | 245 | #define ACPI_TOLOWER(i) tolower((int) (i)) |
246 | #define ACPI_IS_XDIGIT isxdigit | 246 | #define ACPI_IS_XDIGIT(i) isxdigit((int) (i)) |
247 | #define ACPI_IS_DIGIT isdigit | 247 | #define ACPI_IS_DIGIT(i) isdigit((int) (i)) |
248 | #define ACPI_IS_SPACE isspace | 248 | #define ACPI_IS_SPACE(i) isspace((int) (i)) |
249 | #define ACPI_IS_UPPER isupper | 249 | #define ACPI_IS_UPPER(i) isupper((int) (i)) |
250 | #define ACPI_IS_PRINT isprint | 250 | #define ACPI_IS_PRINT(i) isprint((int) (i)) |
251 | #define ACPI_IS_ALPHA isalpha | 251 | #define ACPI_IS_ALPHA(i) isalpha((int) (i)) |
252 | #define ACPI_IS_ASCII isascii | 252 | #define ACPI_IS_ASCII(i) isascii((int) (i)) |
253 | 253 | ||
254 | #else | 254 | #else |
255 | 255 | ||
diff --git a/include/acpi/platform/acgcc.h b/include/acpi/platform/acgcc.h index e410e3b61415..39264127574c 100644 --- a/include/acpi/platform/acgcc.h +++ b/include/acpi/platform/acgcc.h | |||
@@ -46,7 +46,7 @@ | |||
46 | 46 | ||
47 | /* Function name is used for debug output. Non-ANSI, compiler-dependent */ | 47 | /* Function name is used for debug output. Non-ANSI, compiler-dependent */ |
48 | 48 | ||
49 | #define ACPI_GET_FUNCTION_NAME (char *) __FUNCTION__ | 49 | #define ACPI_GET_FUNCTION_NAME __FUNCTION__ |
50 | 50 | ||
51 | /* This macro is used to tag functions as "printf-like" because | 51 | /* This macro is used to tag functions as "printf-like" because |
52 | * some compilers (like GCC) can catch printf format string problems. | 52 | * some compilers (like GCC) can catch printf format string problems. |