aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRobert Moore <robert.moore@intel.com>2005-07-29 18:15:00 -0400
committerLen Brown <len.brown@intel.com>2005-07-30 00:51:39 -0400
commit0c9938cc75057c0fca1af55a55dcfc2842436695 (patch)
treed18e809bf9e3811f20c609b6515d4d1b8520cfbc /include
parentdd8f39bbf5154cdbfd698fc70c66faba33eafa44 (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.h2
-rw-r--r--include/acpi/acdispat.h4
-rw-r--r--include/acpi/acmacros.h4
-rw-r--r--include/acpi/acnames.h5
-rw-r--r--include/acpi/acnamesp.h2
-rw-r--r--include/acpi/acparser.h7
-rw-r--r--include/acpi/acstruct.h3
-rw-r--r--include/acpi/actables.h6
-rw-r--r--include/acpi/acutils.h26
-rw-r--r--include/acpi/platform/acenv.h18
-rw-r--r--include/acpi/platform/acgcc.h2
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 */
237acpi_status 237acpi_status
238acpi_ds_parse_method ( 238acpi_ds_parse_method (
239 acpi_handle obj_handle); 239 struct acpi_namespace_node *node);
240 240
241acpi_status 241acpi_status
242acpi_ds_call_control_method ( 242acpi_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
396acpi_status 396acpi_status
397acpi_ds_obj_stack_pop_and_delete ( 397acpi_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
125acpi_status 125acpi_status
126acpi_ns_one_complete_parse ( 126acpi_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 */
79acpi_status 79acpi_status
80acpi_psx_load_table ( 80acpi_ps_execute_method (
81 u8 *pcode_addr,
82 u32 pcode_length);
83
84acpi_status
85acpi_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
153struct acpi_walk_info 153struct 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
209struct acpi_parameter_info 210struct 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 */
180acpi_status 180acpi_status
181acpi_tb_is_table_installed (
182 struct acpi_table_desc *new_table_desc);
183
184acpi_status
181acpi_tb_verify_table_checksum ( 185acpi_tb_verify_table_checksum (
182 struct acpi_table_header *table_header); 186 struct acpi_table_header *table_header);
183 187
184u8 188u8
185acpi_tb_checksum ( 189acpi_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 (
302void 302void
303acpi_ut_trace ( 303acpi_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
309void 309void
310acpi_ut_trace_ptr ( 310acpi_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 (
317void 317void
318acpi_ut_trace_u32 ( 318acpi_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 (
325void 325void
326acpi_ut_trace_str ( 326acpi_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 (
333void 333void
334acpi_ut_exit ( 334acpi_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
340void 340void
341acpi_ut_status_exit ( 341acpi_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 (
348void 348void
349acpi_ut_value_exit ( 349acpi_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 (
356void 356void
357acpi_ut_ptr_exit ( 357acpi_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
390acpi_ut_debug_print ( 390acpi_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
400acpi_ut_debug_print_raw ( 400acpi_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
598acpi_ut_allocate_owner_id ( 598acpi_ut_allocate_owner_id (
599 acpi_owner_id *owner_id); 599 acpi_owner_id *owner_id);
600 600
601acpi_status 601void
602acpi_ut_release_owner_id ( 602acpi_ut_release_owner_id (
603 acpi_owner_id owner_id); 603 acpi_owner_id *owner_id);
604 604
605acpi_status 605acpi_status
606acpi_ut_walk_package_tree ( 606acpi_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
612char * 612void
613acpi_ut_strupr ( 613acpi_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.