| 1 | /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ | 
|---|
| 2 | /****************************************************************************** | 
|---|
| 3 | * | 
|---|
| 4 | * Name: acglobal.h - Declarations for global variables | 
|---|
| 5 | * | 
|---|
| 6 | * Copyright (C) 2000 - 2025, Intel Corp. | 
|---|
| 7 | * | 
|---|
| 8 | *****************************************************************************/ | 
|---|
| 9 |  | 
|---|
| 10 | #ifndef __ACGLOBAL_H__ | 
|---|
| 11 | #define __ACGLOBAL_H__ | 
|---|
| 12 |  | 
|---|
| 13 | /***************************************************************************** | 
|---|
| 14 | * | 
|---|
| 15 | * Globals related to the incoming ACPI tables | 
|---|
| 16 | * | 
|---|
| 17 | ****************************************************************************/ | 
|---|
| 18 |  | 
|---|
| 19 | /* Master list of all ACPI tables that were found in the RSDT/XSDT */ | 
|---|
| 20 |  | 
|---|
| 21 | ACPI_GLOBAL(struct acpi_table_list, acpi_gbl_root_table_list); | 
|---|
| 22 |  | 
|---|
| 23 | /* DSDT information. Used to check for DSDT corruption */ | 
|---|
| 24 |  | 
|---|
| 25 | ACPI_GLOBAL(struct acpi_table_header *, acpi_gbl_DSDT); | 
|---|
| 26 | ACPI_GLOBAL(struct acpi_table_header, ); | 
|---|
| 27 | ACPI_INIT_GLOBAL(char *, acpi_gbl_CDAT, NULL); | 
|---|
| 28 | ACPI_INIT_GLOBAL(u32, acpi_gbl_dsdt_index, ACPI_INVALID_TABLE_INDEX); | 
|---|
| 29 | ACPI_INIT_GLOBAL(u32, acpi_gbl_facs_index, ACPI_INVALID_TABLE_INDEX); | 
|---|
| 30 | ACPI_INIT_GLOBAL(u32, acpi_gbl_xfacs_index, ACPI_INVALID_TABLE_INDEX); | 
|---|
| 31 | ACPI_INIT_GLOBAL(u32, acpi_gbl_fadt_index, ACPI_INVALID_TABLE_INDEX); | 
|---|
| 32 | ACPI_INIT_GLOBAL(struct acpi_table_facs *, acpi_gbl_FACS, NULL); | 
|---|
| 33 |  | 
|---|
| 34 | /* These addresses are calculated from the FADT Event Block addresses */ | 
|---|
| 35 |  | 
|---|
| 36 | ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1a_status); | 
|---|
| 37 | ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1a_enable); | 
|---|
| 38 |  | 
|---|
| 39 | ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1b_status); | 
|---|
| 40 | ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1b_enable); | 
|---|
| 41 |  | 
|---|
| 42 | #ifdef ACPI_GPE_USE_LOGICAL_ADDRESSES | 
|---|
| 43 | ACPI_GLOBAL(unsigned long, acpi_gbl_xgpe0_block_logical_address); | 
|---|
| 44 | ACPI_GLOBAL(unsigned long, acpi_gbl_xgpe1_block_logical_address); | 
|---|
| 45 |  | 
|---|
| 46 | #endif				/* ACPI_GPE_USE_LOGICAL_ADDRESSES */ | 
|---|
| 47 |  | 
|---|
| 48 | /* | 
|---|
| 49 | * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is | 
|---|
| 50 | * determined by the revision of the DSDT: If the DSDT revision is less than | 
|---|
| 51 | * 2, use only the lower 32 bits of the internal 64-bit Integer. | 
|---|
| 52 | */ | 
|---|
| 53 | ACPI_GLOBAL(u8, acpi_gbl_integer_bit_width); | 
|---|
| 54 | ACPI_GLOBAL(u8, acpi_gbl_integer_byte_width); | 
|---|
| 55 | ACPI_GLOBAL(u8, acpi_gbl_integer_nybble_width); | 
|---|
| 56 |  | 
|---|
| 57 | /***************************************************************************** | 
|---|
| 58 | * | 
|---|
| 59 | * Mutual exclusion within the ACPICA subsystem | 
|---|
| 60 | * | 
|---|
| 61 | ****************************************************************************/ | 
|---|
| 62 |  | 
|---|
| 63 | /* | 
|---|
| 64 | * Predefined mutex objects. This array contains the | 
|---|
| 65 | * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. | 
|---|
| 66 | * (The table maps local handles to the real OS handles) | 
|---|
| 67 | */ | 
|---|
| 68 | ACPI_GLOBAL(struct acpi_mutex_info, acpi_gbl_mutex_info[ACPI_NUM_MUTEX]); | 
|---|
| 69 |  | 
|---|
| 70 | /* | 
|---|
| 71 | * Global lock mutex is an actual AML mutex object | 
|---|
| 72 | * Global lock semaphore works in conjunction with the actual global lock | 
|---|
| 73 | * Global lock spinlock is used for "pending" handshake | 
|---|
| 74 | */ | 
|---|
| 75 | ACPI_GLOBAL(union acpi_operand_object *, acpi_gbl_global_lock_mutex); | 
|---|
| 76 | ACPI_GLOBAL(acpi_semaphore, acpi_gbl_global_lock_semaphore); | 
|---|
| 77 | ACPI_GLOBAL(acpi_spinlock, acpi_gbl_global_lock_pending_lock); | 
|---|
| 78 | ACPI_GLOBAL(u16, acpi_gbl_global_lock_handle); | 
|---|
| 79 | ACPI_GLOBAL(u8, acpi_gbl_global_lock_acquired); | 
|---|
| 80 | ACPI_GLOBAL(u8, acpi_gbl_global_lock_present); | 
|---|
| 81 | ACPI_GLOBAL(u8, acpi_gbl_global_lock_pending); | 
|---|
| 82 |  | 
|---|
| 83 | /* | 
|---|
| 84 | * Spinlocks are used for interfaces that can be possibly called at | 
|---|
| 85 | * interrupt level | 
|---|
| 86 | */ | 
|---|
| 87 | ACPI_GLOBAL(acpi_spinlock, acpi_gbl_gpe_lock);	/* For GPE data structs and registers */ | 
|---|
| 88 | ACPI_GLOBAL(acpi_raw_spinlock, acpi_gbl_hardware_lock);	/* For ACPI H/W except GPE registers */ | 
|---|
| 89 | ACPI_GLOBAL(acpi_spinlock, acpi_gbl_reference_count_lock); | 
|---|
| 90 |  | 
|---|
| 91 | /* Mutex for _OSI support */ | 
|---|
| 92 |  | 
|---|
| 93 | ACPI_GLOBAL(acpi_mutex, acpi_gbl_osi_mutex); | 
|---|
| 94 |  | 
|---|
| 95 | /* Reader/Writer lock is used for namespace walk and dynamic table unload */ | 
|---|
| 96 |  | 
|---|
| 97 | ACPI_GLOBAL(struct acpi_rw_lock, acpi_gbl_namespace_rw_lock); | 
|---|
| 98 |  | 
|---|
| 99 | /***************************************************************************** | 
|---|
| 100 | * | 
|---|
| 101 | * Miscellaneous globals | 
|---|
| 102 | * | 
|---|
| 103 | ****************************************************************************/ | 
|---|
| 104 |  | 
|---|
| 105 | /* Object caches */ | 
|---|
| 106 |  | 
|---|
| 107 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_namespace_cache); | 
|---|
| 108 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_state_cache); | 
|---|
| 109 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_ps_node_cache); | 
|---|
| 110 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_ps_node_ext_cache); | 
|---|
| 111 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_operand_cache); | 
|---|
| 112 |  | 
|---|
| 113 | /* System */ | 
|---|
| 114 |  | 
|---|
| 115 | ACPI_INIT_GLOBAL(u32, acpi_gbl_startup_flags, 0); | 
|---|
| 116 | ACPI_INIT_GLOBAL(u8, acpi_gbl_shutdown, TRUE); | 
|---|
| 117 | ACPI_INIT_GLOBAL(u8, acpi_gbl_early_initialization, TRUE); | 
|---|
| 118 |  | 
|---|
| 119 | /* Global handlers */ | 
|---|
| 120 |  | 
|---|
| 121 | ACPI_GLOBAL(struct acpi_global_notify_handler, acpi_gbl_global_notify[2]); | 
|---|
| 122 | ACPI_GLOBAL(acpi_exception_handler, acpi_gbl_exception_handler); | 
|---|
| 123 | ACPI_GLOBAL(acpi_init_handler, acpi_gbl_init_handler); | 
|---|
| 124 | ACPI_GLOBAL(acpi_table_handler, acpi_gbl_table_handler); | 
|---|
| 125 | ACPI_GLOBAL(void *, acpi_gbl_table_handler_context); | 
|---|
| 126 | ACPI_GLOBAL(acpi_interface_handler, acpi_gbl_interface_handler); | 
|---|
| 127 | ACPI_GLOBAL(struct acpi_sci_handler_info *, acpi_gbl_sci_handler_list); | 
|---|
| 128 | ACPI_GLOBAL(struct acpi_ged_handler_info *, acpi_gbl_ged_handler_list); | 
|---|
| 129 |  | 
|---|
| 130 | /* Owner ID support */ | 
|---|
| 131 |  | 
|---|
| 132 | ACPI_GLOBAL(u32, acpi_gbl_owner_id_mask[ACPI_NUM_OWNERID_MASKS]); | 
|---|
| 133 | ACPI_GLOBAL(u8, acpi_gbl_last_owner_id_index); | 
|---|
| 134 | ACPI_GLOBAL(u8, acpi_gbl_next_owner_id_offset); | 
|---|
| 135 |  | 
|---|
| 136 | /* Initialization sequencing */ | 
|---|
| 137 |  | 
|---|
| 138 | ACPI_INIT_GLOBAL(u8, acpi_gbl_namespace_initialized, FALSE); | 
|---|
| 139 |  | 
|---|
| 140 | /* Miscellaneous */ | 
|---|
| 141 |  | 
|---|
| 142 | ACPI_GLOBAL(u32, acpi_gbl_original_mode); | 
|---|
| 143 | ACPI_GLOBAL(u32, acpi_gbl_ns_lookup_count); | 
|---|
| 144 | ACPI_GLOBAL(u32, acpi_gbl_ps_find_count); | 
|---|
| 145 | ACPI_GLOBAL(u16, acpi_gbl_pm1_enable_register_save); | 
|---|
| 146 | ACPI_GLOBAL(u8, acpi_gbl_debugger_configuration); | 
|---|
| 147 | ACPI_GLOBAL(u8, acpi_gbl_step_to_next_call); | 
|---|
| 148 | ACPI_GLOBAL(u8, acpi_gbl_acpi_hardware_present); | 
|---|
| 149 | ACPI_GLOBAL(u8, acpi_gbl_events_initialized); | 
|---|
| 150 | ACPI_GLOBAL(struct acpi_interface_info *, acpi_gbl_supported_interfaces); | 
|---|
| 151 | ACPI_GLOBAL(struct acpi_address_range *, | 
|---|
| 152 | acpi_gbl_address_range_list[ACPI_ADDRESS_RANGE_MAX]); | 
|---|
| 153 |  | 
|---|
| 154 | /* Other miscellaneous, declared and initialized in utglobal */ | 
|---|
| 155 |  | 
|---|
| 156 | extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT]; | 
|---|
| 157 | extern const char *acpi_gbl_lowest_dstate_names[ACPI_NUM_sx_w_METHODS]; | 
|---|
| 158 | extern const char *acpi_gbl_highest_dstate_names[ACPI_NUM_sx_d_METHODS]; | 
|---|
| 159 | extern const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS]; | 
|---|
| 160 | extern const char acpi_gbl_lower_hex_digits[]; | 
|---|
| 161 | extern const char acpi_gbl_upper_hex_digits[]; | 
|---|
| 162 | extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES]; | 
|---|
| 163 |  | 
|---|
| 164 | /* Lists for tracking memory allocations (debug only) */ | 
|---|
| 165 |  | 
|---|
| 166 | #ifdef ACPI_DBG_TRACK_ALLOCATIONS | 
|---|
| 167 | ACPI_GLOBAL(struct acpi_memory_list *, acpi_gbl_global_list); | 
|---|
| 168 | ACPI_GLOBAL(struct acpi_memory_list *, acpi_gbl_ns_node_list); | 
|---|
| 169 | ACPI_GLOBAL(u8, acpi_gbl_display_final_mem_stats); | 
|---|
| 170 | ACPI_GLOBAL(u8, acpi_gbl_disable_mem_tracking); | 
|---|
| 171 | ACPI_GLOBAL(u8, acpi_gbl_verbose_leak_dump); | 
|---|
| 172 | #endif | 
|---|
| 173 |  | 
|---|
| 174 | /***************************************************************************** | 
|---|
| 175 | * | 
|---|
| 176 | * ACPI Namespace | 
|---|
| 177 | * | 
|---|
| 178 | ****************************************************************************/ | 
|---|
| 179 |  | 
|---|
| 180 | #define NUM_PREDEFINED_NAMES            10 | 
|---|
| 181 |  | 
|---|
| 182 | ACPI_GLOBAL(struct acpi_namespace_node, acpi_gbl_root_node_struct); | 
|---|
| 183 | ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_root_node); | 
|---|
| 184 | ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_fadt_gpe_device); | 
|---|
| 185 |  | 
|---|
| 186 | extern const u8 acpi_gbl_ns_properties[ACPI_NUM_NS_TYPES]; | 
|---|
| 187 | extern const struct acpi_predefined_names | 
|---|
| 188 | acpi_gbl_pre_defined_names[NUM_PREDEFINED_NAMES]; | 
|---|
| 189 |  | 
|---|
| 190 | #ifdef ACPI_DEBUG_OUTPUT | 
|---|
| 191 | ACPI_GLOBAL(u32, acpi_gbl_current_node_count); | 
|---|
| 192 | ACPI_GLOBAL(u32, acpi_gbl_current_node_size); | 
|---|
| 193 | ACPI_GLOBAL(u32, acpi_gbl_max_concurrent_node_count); | 
|---|
| 194 | ACPI_GLOBAL(acpi_size *, acpi_gbl_entry_stack_pointer); | 
|---|
| 195 | ACPI_GLOBAL(acpi_size *, acpi_gbl_lowest_stack_pointer); | 
|---|
| 196 | ACPI_GLOBAL(u32, acpi_gbl_deepest_nesting); | 
|---|
| 197 | ACPI_INIT_GLOBAL(u32, acpi_gbl_nesting_level, 0); | 
|---|
| 198 | #endif | 
|---|
| 199 |  | 
|---|
| 200 | /***************************************************************************** | 
|---|
| 201 | * | 
|---|
| 202 | * Interpreter/Parser globals | 
|---|
| 203 | * | 
|---|
| 204 | ****************************************************************************/ | 
|---|
| 205 |  | 
|---|
| 206 | /* Control method single step flag */ | 
|---|
| 207 |  | 
|---|
| 208 | ACPI_GLOBAL(u8, acpi_gbl_cm_single_step); | 
|---|
| 209 | ACPI_GLOBAL(struct acpi_thread_state *, acpi_gbl_current_walk_list); | 
|---|
| 210 | ACPI_INIT_GLOBAL(union acpi_parse_object, *acpi_gbl_current_scope, NULL); | 
|---|
| 211 |  | 
|---|
| 212 | /* ASL/ASL+ converter */ | 
|---|
| 213 |  | 
|---|
| 214 | ACPI_INIT_GLOBAL(u8, , FALSE); | 
|---|
| 215 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_last_list_head, NULL); | 
|---|
| 216 |  | 
|---|
| 217 | /***************************************************************************** | 
|---|
| 218 | * | 
|---|
| 219 | * Hardware globals | 
|---|
| 220 | * | 
|---|
| 221 | ****************************************************************************/ | 
|---|
| 222 |  | 
|---|
| 223 | extern struct acpi_bit_register_info | 
|---|
| 224 | acpi_gbl_bit_register_info[ACPI_NUM_BITREG]; | 
|---|
| 225 | ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a); | 
|---|
| 226 | ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b); | 
|---|
| 227 | ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a_s0); | 
|---|
| 228 | ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b_s0); | 
|---|
| 229 |  | 
|---|
| 230 | /***************************************************************************** | 
|---|
| 231 | * | 
|---|
| 232 | * Event and GPE globals | 
|---|
| 233 | * | 
|---|
| 234 | ****************************************************************************/ | 
|---|
| 235 |  | 
|---|
| 236 | #if (!ACPI_REDUCED_HARDWARE) | 
|---|
| 237 | ACPI_GLOBAL(u8, acpi_gbl_all_gpes_initialized); | 
|---|
| 238 | ACPI_GLOBAL(struct acpi_gpe_xrupt_info *, acpi_gbl_gpe_xrupt_list_head); | 
|---|
| 239 | ACPI_GLOBAL(struct acpi_gpe_block_info *, | 
|---|
| 240 | acpi_gbl_gpe_fadt_blocks[ACPI_MAX_GPE_BLOCKS]); | 
|---|
| 241 | ACPI_GLOBAL(acpi_gbl_event_handler, acpi_gbl_global_event_handler); | 
|---|
| 242 | ACPI_GLOBAL(void *, acpi_gbl_global_event_handler_context); | 
|---|
| 243 | ACPI_GLOBAL(struct acpi_fixed_event_handler, | 
|---|
| 244 | acpi_gbl_fixed_event_handlers[ACPI_NUM_FIXED_EVENTS]); | 
|---|
| 245 | extern struct acpi_fixed_event_info | 
|---|
| 246 | acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS]; | 
|---|
| 247 | #endif				/* !ACPI_REDUCED_HARDWARE */ | 
|---|
| 248 |  | 
|---|
| 249 | /***************************************************************************** | 
|---|
| 250 | * | 
|---|
| 251 | * Debug support | 
|---|
| 252 | * | 
|---|
| 253 | ****************************************************************************/ | 
|---|
| 254 |  | 
|---|
| 255 | /* Event counters */ | 
|---|
| 256 |  | 
|---|
| 257 | ACPI_GLOBAL(u32, acpi_method_count); | 
|---|
| 258 | ACPI_GLOBAL(u32, acpi_gpe_count); | 
|---|
| 259 | ACPI_GLOBAL(u32, acpi_sci_count); | 
|---|
| 260 | ACPI_GLOBAL(u32, acpi_fixed_event_count[ACPI_NUM_FIXED_EVENTS]); | 
|---|
| 261 |  | 
|---|
| 262 | /* Dynamic control method tracing mechanism */ | 
|---|
| 263 |  | 
|---|
| 264 | ACPI_GLOBAL(u32, acpi_gbl_original_dbg_level); | 
|---|
| 265 | ACPI_GLOBAL(u32, acpi_gbl_original_dbg_layer); | 
|---|
| 266 |  | 
|---|
| 267 | /***************************************************************************** | 
|---|
| 268 | * | 
|---|
| 269 | * Debugger and Disassembler | 
|---|
| 270 | * | 
|---|
| 271 | ****************************************************************************/ | 
|---|
| 272 |  | 
|---|
| 273 | ACPI_INIT_GLOBAL(u8, acpi_gbl_db_output_flags, ACPI_DB_CONSOLE_OUTPUT); | 
|---|
| 274 |  | 
|---|
| 275 | #ifdef ACPI_DISASSEMBLER | 
|---|
| 276 |  | 
|---|
| 277 | /* Do not disassemble buffers to resource descriptors */ | 
|---|
| 278 |  | 
|---|
| 279 | ACPI_INIT_GLOBAL(u8, acpi_gbl_no_resource_disassembly, FALSE); | 
|---|
| 280 | ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE); | 
|---|
| 281 | ACPI_INIT_GLOBAL(u8, acpi_gbl_cstyle_disassembly, TRUE); | 
|---|
| 282 | ACPI_INIT_GLOBAL(u8, acpi_gbl_force_aml_disassembly, FALSE); | 
|---|
| 283 | ACPI_INIT_GLOBAL(u8, acpi_gbl_dm_opt_verbose, TRUE); | 
|---|
| 284 | ACPI_INIT_GLOBAL(u8, acpi_gbl_dm_emit_external_opcodes, FALSE); | 
|---|
| 285 | ACPI_INIT_GLOBAL(u8, acpi_gbl_do_disassembler_optimizations, TRUE); | 
|---|
| 286 | ACPI_INIT_GLOBAL(ACPI_PARSE_OBJECT_LIST, *acpi_gbl_temp_list_head, NULL); | 
|---|
| 287 |  | 
|---|
| 288 | ACPI_GLOBAL(u8, acpi_gbl_dm_opt_disasm); | 
|---|
| 289 | ACPI_GLOBAL(u8, acpi_gbl_dm_opt_listing); | 
|---|
| 290 | ACPI_GLOBAL(u8, acpi_gbl_num_external_methods); | 
|---|
| 291 | ACPI_GLOBAL(u32, acpi_gbl_resolved_external_methods); | 
|---|
| 292 | ACPI_GLOBAL(struct acpi_external_list *, acpi_gbl_external_list); | 
|---|
| 293 | ACPI_GLOBAL(struct acpi_external_file *, acpi_gbl_external_file_list); | 
|---|
| 294 | #endif | 
|---|
| 295 |  | 
|---|
| 296 | #ifdef ACPI_DEBUGGER | 
|---|
| 297 | ACPI_INIT_GLOBAL(u8, acpi_gbl_abort_method, FALSE); | 
|---|
| 298 | ACPI_INIT_GLOBAL(acpi_thread_id, acpi_gbl_db_thread_id, ACPI_INVALID_THREAD_ID); | 
|---|
| 299 | ACPI_INIT_GLOBAL(u32, acpi_gbl_next_cmd_num, 1); | 
|---|
| 300 |  | 
|---|
| 301 | ACPI_GLOBAL(u8, acpi_gbl_db_opt_no_ini_methods); | 
|---|
| 302 | ACPI_GLOBAL(u8, acpi_gbl_db_opt_no_region_support); | 
|---|
| 303 | ACPI_GLOBAL(u8, acpi_gbl_db_output_to_file); | 
|---|
| 304 | ACPI_GLOBAL(char *, acpi_gbl_db_buffer); | 
|---|
| 305 | ACPI_GLOBAL(char *, acpi_gbl_db_filename); | 
|---|
| 306 | ACPI_GLOBAL(u32, acpi_gbl_db_debug_level); | 
|---|
| 307 | ACPI_GLOBAL(u32, acpi_gbl_db_console_debug_level); | 
|---|
| 308 | ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_db_scope_node); | 
|---|
| 309 | ACPI_GLOBAL(u8, acpi_gbl_db_terminate_loop); | 
|---|
| 310 | ACPI_GLOBAL(u8, acpi_gbl_db_threads_terminated); | 
|---|
| 311 | ACPI_GLOBAL(char *, acpi_gbl_db_args[ACPI_DEBUGGER_MAX_ARGS]); | 
|---|
| 312 | ACPI_GLOBAL(acpi_object_type, acpi_gbl_db_arg_types[ACPI_DEBUGGER_MAX_ARGS]); | 
|---|
| 313 |  | 
|---|
| 314 | /* These buffers should all be the same size */ | 
|---|
| 315 |  | 
|---|
| 316 | ACPI_GLOBAL(char, acpi_gbl_db_parsed_buf[ACPI_DB_LINE_BUFFER_SIZE]); | 
|---|
| 317 | ACPI_GLOBAL(char, acpi_gbl_db_scope_buf[ACPI_DB_LINE_BUFFER_SIZE]); | 
|---|
| 318 | ACPI_GLOBAL(char, acpi_gbl_db_debug_filename[ACPI_DB_LINE_BUFFER_SIZE]); | 
|---|
| 319 |  | 
|---|
| 320 | /* Statistics globals */ | 
|---|
| 321 |  | 
|---|
| 322 | ACPI_GLOBAL(u16, acpi_gbl_obj_type_count[ACPI_TOTAL_TYPES]); | 
|---|
| 323 | ACPI_GLOBAL(u16, acpi_gbl_node_type_count[ACPI_TOTAL_TYPES]); | 
|---|
| 324 | ACPI_GLOBAL(u16, acpi_gbl_obj_type_count_misc); | 
|---|
| 325 | ACPI_GLOBAL(u16, acpi_gbl_node_type_count_misc); | 
|---|
| 326 | ACPI_GLOBAL(u32, acpi_gbl_num_nodes); | 
|---|
| 327 | ACPI_GLOBAL(u32, acpi_gbl_num_objects); | 
|---|
| 328 | #endif				/* ACPI_DEBUGGER */ | 
|---|
| 329 |  | 
|---|
| 330 | #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER) | 
|---|
| 331 | ACPI_GLOBAL(const char, *acpi_gbl_pld_panel_list[]); | 
|---|
| 332 | ACPI_GLOBAL(const char, *acpi_gbl_pld_vertical_position_list[]); | 
|---|
| 333 | ACPI_GLOBAL(const char, *acpi_gbl_pld_horizontal_position_list[]); | 
|---|
| 334 | ACPI_GLOBAL(const char, *acpi_gbl_pld_shape_list[]); | 
|---|
| 335 | ACPI_INIT_GLOBAL(u8, acpi_gbl_disasm_flag, FALSE); | 
|---|
| 336 | #endif | 
|---|
| 337 |  | 
|---|
| 338 | /***************************************************************************** | 
|---|
| 339 | * | 
|---|
| 340 | * ACPICA application-specific globals | 
|---|
| 341 | * | 
|---|
| 342 | ****************************************************************************/ | 
|---|
| 343 |  | 
|---|
| 344 | /* ASL-to-ASL+ conversion utility (implemented within the iASL compiler) */ | 
|---|
| 345 |  | 
|---|
| 346 | #ifdef ACPI_ASL_COMPILER | 
|---|
| 347 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_inline_comment, NULL); | 
|---|
| 348 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_end_node_comment, NULL); | 
|---|
| 349 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_open_brace_comment, NULL); | 
|---|
| 350 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_close_brace_comment, NULL); | 
|---|
| 351 |  | 
|---|
| 352 | ACPI_INIT_GLOBAL(char *, acpi_gbl_root_filename, NULL); | 
|---|
| 353 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_filename, NULL); | 
|---|
| 354 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_parent_filename, NULL); | 
|---|
| 355 | ACPI_INIT_GLOBAL(char *, acpi_gbl_current_include_filename, NULL); | 
|---|
| 356 |  | 
|---|
| 357 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_def_blk_comment_list_head, | 
|---|
| 358 | NULL); | 
|---|
| 359 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_def_blk_comment_list_tail, | 
|---|
| 360 | NULL); | 
|---|
| 361 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_reg_comment_list_head, | 
|---|
| 362 | NULL); | 
|---|
| 363 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_reg_comment_list_tail, | 
|---|
| 364 | NULL); | 
|---|
| 365 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_inc_comment_list_head, | 
|---|
| 366 | NULL); | 
|---|
| 367 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_inc_comment_list_tail, | 
|---|
| 368 | NULL); | 
|---|
| 369 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_end_blk_comment_list_head, | 
|---|
| 370 | NULL); | 
|---|
| 371 | ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_end_blk_comment_list_tail, | 
|---|
| 372 | NULL); | 
|---|
| 373 |  | 
|---|
| 374 | ACPI_INIT_GLOBAL(struct acpi_comment_addr_node, | 
|---|
| 375 | *acpi_gbl_comment_addr_list_head, NULL); | 
|---|
| 376 | ACPI_INIT_GLOBAL(struct acpi_file_node, *acpi_gbl_file_tree_root, NULL); | 
|---|
| 377 |  | 
|---|
| 378 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_reg_comment_cache); | 
|---|
| 379 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_comment_addr_cache); | 
|---|
| 380 | ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_file_cache); | 
|---|
| 381 |  | 
|---|
| 382 | ACPI_INIT_GLOBAL(u8, acpi_gbl_debug_asl_conversion, FALSE); | 
|---|
| 383 | ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_conv_debug_file, NULL); | 
|---|
| 384 | ACPI_GLOBAL(char, acpi_gbl_table_sig[4]); | 
|---|
| 385 | #endif | 
|---|
| 386 |  | 
|---|
| 387 | #ifdef ACPI_APPLICATION | 
|---|
| 388 | ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_debug_file, NULL); | 
|---|
| 389 | ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_output_file, NULL); | 
|---|
| 390 | ACPI_INIT_GLOBAL(u8, acpi_gbl_debug_timeout, FALSE); | 
|---|
| 391 |  | 
|---|
| 392 | /* Print buffer */ | 
|---|
| 393 |  | 
|---|
| 394 | ACPI_GLOBAL(acpi_spinlock, acpi_gbl_print_lock);	/* For print buffer */ | 
|---|
| 395 | ACPI_GLOBAL(char, acpi_gbl_print_buffer[1024]); | 
|---|
| 396 | #endif				/* ACPI_APPLICATION */ | 
|---|
| 397 |  | 
|---|
| 398 | #endif				/* __ACGLOBAL_H__ */ | 
|---|
| 399 |  | 
|---|