195857638SErik Schmauss /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 2e2f7a777SLen Brown /****************************************************************************** 3e2f7a777SLen Brown * 4e2f7a777SLen Brown * Name: acglobal.h - Declarations for global variables 5e2f7a777SLen Brown * 6612c2932SBob Moore * Copyright (C) 2000 - 2023, Intel Corp. 7e2f7a777SLen Brown * 895857638SErik Schmauss *****************************************************************************/ 9e2f7a777SLen Brown 10e2f7a777SLen Brown #ifndef __ACGLOBAL_H__ 11e2f7a777SLen Brown #define __ACGLOBAL_H__ 12e2f7a777SLen Brown 13e2f7a777SLen Brown /***************************************************************************** 14e2f7a777SLen Brown * 152cb0ba70SBob Moore * Globals related to the incoming ACPI tables 16e2f7a777SLen Brown * 17e2f7a777SLen Brown ****************************************************************************/ 18e2f7a777SLen Brown 193035ff70SLv Zheng /* Master list of all ACPI tables that were found in the RSDT/XSDT */ 20e2f7a777SLen Brown 213aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_table_list, acpi_gbl_root_table_list); 223aa0b085SLv Zheng 233aa0b085SLv Zheng /* DSDT information. Used to check for DSDT corruption */ 243aa0b085SLv Zheng 253aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_table_header *, acpi_gbl_DSDT); 263aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_table_header, acpi_gbl_original_dsdt_header); 2751aad1a6SBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_CDAT, NULL); 288ec3f459SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_dsdt_index, ACPI_INVALID_TABLE_INDEX); 298ec3f459SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_facs_index, ACPI_INVALID_TABLE_INDEX); 308ec3f459SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_xfacs_index, ACPI_INVALID_TABLE_INDEX); 3162fcce91SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_fadt_index, ACPI_INVALID_TABLE_INDEX); 3233620c54SBob Moore 3333620c54SBob Moore #if (!ACPI_REDUCED_HARDWARE) 343aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_table_facs *, acpi_gbl_FACS); 35e2f7a777SLen Brown 3633620c54SBob Moore #endif /* !ACPI_REDUCED_HARDWARE */ 3733620c54SBob Moore 38531c633dSBob Moore /* These addresses are calculated from the FADT Event Block addresses */ 39e2f7a777SLen Brown 403aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1a_status); 413aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1a_enable); 42531c633dSBob Moore 433aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1b_status); 443aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_generic_address, acpi_gbl_xpm1b_enable); 45729df0f8SLin Ming 467a8379ebSRafael J. Wysocki #ifdef ACPI_GPE_USE_LOGICAL_ADDRESSES 477a8379ebSRafael J. Wysocki ACPI_GLOBAL(unsigned long, acpi_gbl_xgpe0_block_logical_address); 487a8379ebSRafael J. Wysocki ACPI_GLOBAL(unsigned long, acpi_gbl_xgpe1_block_logical_address); 497a8379ebSRafael J. Wysocki 507a8379ebSRafael J. Wysocki #endif /* ACPI_GPE_USE_LOGICAL_ADDRESSES */ 517a8379ebSRafael J. Wysocki 52e2f7a777SLen Brown /* 533aa0b085SLv Zheng * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is 54e2f7a777SLen Brown * determined by the revision of the DSDT: If the DSDT revision is less than 55e2f7a777SLen Brown * 2, use only the lower 32 bits of the internal 64-bit Integer. 56e2f7a777SLen Brown */ 573aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_integer_bit_width); 583aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_integer_byte_width); 593aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_integer_nybble_width); 60e2f7a777SLen Brown 61e2f7a777SLen Brown /***************************************************************************** 62e2f7a777SLen Brown * 632cb0ba70SBob Moore * Mutual exclusion within the ACPICA subsystem 64e2f7a777SLen Brown * 65e2f7a777SLen Brown ****************************************************************************/ 66e2f7a777SLen Brown 67e2f7a777SLen Brown /* 68e2f7a777SLen Brown * Predefined mutex objects. This array contains the 69e2f7a777SLen Brown * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. 70e2f7a777SLen Brown * (The table maps local handles to the real OS handles) 71e2f7a777SLen Brown */ 723aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_mutex_info, acpi_gbl_mutex_info[ACPI_NUM_MUTEX]); 73e2f7a777SLen Brown 74e2f7a777SLen Brown /* 75e2f7a777SLen Brown * Global lock mutex is an actual AML mutex object 76749c2763SLin Ming * Global lock semaphore works in conjunction with the actual global lock 77749c2763SLin Ming * Global lock spinlock is used for "pending" handshake 78e2f7a777SLen Brown */ 793aa0b085SLv Zheng ACPI_GLOBAL(union acpi_operand_object *, acpi_gbl_global_lock_mutex); 803aa0b085SLv Zheng ACPI_GLOBAL(acpi_semaphore, acpi_gbl_global_lock_semaphore); 813aa0b085SLv Zheng ACPI_GLOBAL(acpi_spinlock, acpi_gbl_global_lock_pending_lock); 823aa0b085SLv Zheng ACPI_GLOBAL(u16, acpi_gbl_global_lock_handle); 833aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_global_lock_acquired); 843aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_global_lock_present); 853aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_global_lock_pending); 86e2f7a777SLen Brown 87e2f7a777SLen Brown /* 88e2f7a777SLen Brown * Spinlocks are used for interfaces that can be possibly called at 89e2f7a777SLen Brown * interrupt level 90e2f7a777SLen Brown */ 913aa0b085SLv Zheng ACPI_GLOBAL(acpi_spinlock, acpi_gbl_gpe_lock); /* For GPE data structs and registers */ 92c57c0ad4SSteven Rostedt ACPI_GLOBAL(acpi_raw_spinlock, acpi_gbl_hardware_lock); /* For ACPI H/W except GPE registers */ 933aa0b085SLv Zheng ACPI_GLOBAL(acpi_spinlock, acpi_gbl_reference_count_lock); 94e2f7a777SLen Brown 95739dcbb9SLv Zheng /* Mutex for _OSI support */ 96739dcbb9SLv Zheng 973aa0b085SLv Zheng ACPI_GLOBAL(acpi_mutex, acpi_gbl_osi_mutex); 98739dcbb9SLv Zheng 99739dcbb9SLv Zheng /* Reader/Writer lock is used for namespace walk and dynamic table unload */ 100739dcbb9SLv Zheng 1013aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_rw_lock, acpi_gbl_namespace_rw_lock); 102739dcbb9SLv Zheng 103e2f7a777SLen Brown /***************************************************************************** 104e2f7a777SLen Brown * 105e2f7a777SLen Brown * Miscellaneous globals 106e2f7a777SLen Brown * 107e2f7a777SLen Brown ****************************************************************************/ 108e2f7a777SLen Brown 109e2f7a777SLen Brown /* Object caches */ 110e2f7a777SLen Brown 1113aa0b085SLv Zheng ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_namespace_cache); 1123aa0b085SLv Zheng ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_state_cache); 1133aa0b085SLv Zheng ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_ps_node_cache); 1143aa0b085SLv Zheng ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_ps_node_ext_cache); 1153aa0b085SLv Zheng ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_operand_cache); 1163aa0b085SLv Zheng 1173aa0b085SLv Zheng /* System */ 1183aa0b085SLv Zheng 1193aa0b085SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_startup_flags, 0); 1203aa0b085SLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_shutdown, TRUE); 1217b738064SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_early_initialization, TRUE); 122e2f7a777SLen Brown 123e2f7a777SLen Brown /* Global handlers */ 124e2f7a777SLen Brown 1253aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_global_notify_handler, acpi_gbl_global_notify[2]); 1263aa0b085SLv Zheng ACPI_GLOBAL(acpi_exception_handler, acpi_gbl_exception_handler); 1273aa0b085SLv Zheng ACPI_GLOBAL(acpi_init_handler, acpi_gbl_init_handler); 1283aa0b085SLv Zheng ACPI_GLOBAL(acpi_table_handler, acpi_gbl_table_handler); 1293aa0b085SLv Zheng ACPI_GLOBAL(void *, acpi_gbl_table_handler_context); 1303aa0b085SLv Zheng ACPI_GLOBAL(acpi_interface_handler, acpi_gbl_interface_handler); 1313aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_sci_handler_info *, acpi_gbl_sci_handler_list); 132*24a4b872SJose Marinho ACPI_GLOBAL(struct acpi_ged_handler_info *, acpi_gbl_ged_handler_list); 133e2f7a777SLen Brown 134e2f7a777SLen Brown /* Owner ID support */ 135e2f7a777SLen Brown 1363aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_owner_id_mask[ACPI_NUM_OWNERID_MASKS]); 1373aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_last_owner_id_index); 1383aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_next_owner_id_offset); 139e2f7a777SLen Brown 140ef09c4f5SBob Moore /* Initialization sequencing */ 141ef09c4f5SBob Moore 142ebc3c9bbSLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_namespace_initialized, FALSE); 143ef09c4f5SBob Moore 1442cb0ba70SBob Moore /* Miscellaneous */ 145e2f7a777SLen Brown 1463aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_original_mode); 1473aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_ns_lookup_count); 1483aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_ps_find_count); 1493aa0b085SLv Zheng ACPI_GLOBAL(u16, acpi_gbl_pm1_enable_register_save); 1503aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_debugger_configuration); 1513aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_step_to_next_call); 1523aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_acpi_hardware_present); 1533aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_events_initialized); 1543aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_interface_info *, acpi_gbl_supported_interfaces); 1553aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_address_range *, 1563aa0b085SLv Zheng acpi_gbl_address_range_list[ACPI_ADDRESS_RANGE_MAX]); 157e2f7a777SLen Brown 1583aa0b085SLv Zheng /* Other miscellaneous, declared and initialized in utglobal */ 159e2f7a777SLen Brown 160e2f7a777SLen Brown extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT]; 16115b8dd53SBob Moore extern const char *acpi_gbl_lowest_dstate_names[ACPI_NUM_sx_w_METHODS]; 16215b8dd53SBob Moore extern const char *acpi_gbl_highest_dstate_names[ACPI_NUM_sx_d_METHODS]; 163e2f7a777SLen Brown extern const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS]; 1640dfaaa3dSBob Moore extern const char acpi_gbl_lower_hex_digits[]; 1650dfaaa3dSBob Moore extern const char acpi_gbl_upper_hex_digits[]; 1663aa0b085SLv Zheng extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES]; 167e2f7a777SLen Brown 1683aa0b085SLv Zheng /* Lists for tracking memory allocations (debug only) */ 169f540fadfSLv Zheng 1702cb0ba70SBob Moore #ifdef ACPI_DBG_TRACK_ALLOCATIONS 1713aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_memory_list *, acpi_gbl_global_list); 1723aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_memory_list *, acpi_gbl_ns_node_list); 1733aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_display_final_mem_stats); 1743aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_disable_mem_tracking); 175894b5cc5SBob Moore ACPI_GLOBAL(u8, acpi_gbl_verbose_leak_dump); 176f540fadfSLv Zheng #endif 177f540fadfSLv Zheng 178e2f7a777SLen Brown /***************************************************************************** 179e2f7a777SLen Brown * 1802cb0ba70SBob Moore * ACPI Namespace 181e2f7a777SLen Brown * 182e2f7a777SLen Brown ****************************************************************************/ 183e2f7a777SLen Brown 184e2f7a777SLen Brown #define NUM_PREDEFINED_NAMES 10 185e2f7a777SLen Brown 1863aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_namespace_node, acpi_gbl_root_node_struct); 1873aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_root_node); 1883aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_fadt_gpe_device); 189e2f7a777SLen Brown 190e2f7a777SLen Brown extern const u8 acpi_gbl_ns_properties[ACPI_NUM_NS_TYPES]; 191e2f7a777SLen Brown extern const struct acpi_predefined_names 192e2f7a777SLen Brown acpi_gbl_pre_defined_names[NUM_PREDEFINED_NAMES]; 193e2f7a777SLen Brown 194e2f7a777SLen Brown #ifdef ACPI_DEBUG_OUTPUT 1953aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_current_node_count); 1963aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_current_node_size); 1973aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_max_concurrent_node_count); 1983aa0b085SLv Zheng ACPI_GLOBAL(acpi_size *, acpi_gbl_entry_stack_pointer); 1993aa0b085SLv Zheng ACPI_GLOBAL(acpi_size *, acpi_gbl_lowest_stack_pointer); 2003aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_deepest_nesting); 2013aa0b085SLv Zheng ACPI_INIT_GLOBAL(u32, acpi_gbl_nesting_level, 0); 202e2f7a777SLen Brown #endif 203e2f7a777SLen Brown 204e2f7a777SLen Brown /***************************************************************************** 205e2f7a777SLen Brown * 2062cb0ba70SBob Moore * Interpreter/Parser globals 207e2f7a777SLen Brown * 208e2f7a777SLen Brown ****************************************************************************/ 209e2f7a777SLen Brown 210e2f7a777SLen Brown /* Control method single step flag */ 211e2f7a777SLen Brown 2123aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_cm_single_step); 2132cb0ba70SBob Moore ACPI_GLOBAL(struct acpi_thread_state *, acpi_gbl_current_walk_list); 2142cb0ba70SBob Moore ACPI_INIT_GLOBAL(union acpi_parse_object, *acpi_gbl_current_scope, NULL); 2152cb0ba70SBob Moore 2162cb0ba70SBob Moore /* ASL/ASL+ converter */ 2172cb0ba70SBob Moore 218ee174d35SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_capture_comments, FALSE); 2192cb0ba70SBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_last_list_head, NULL); 220e2f7a777SLen Brown 221e2f7a777SLen Brown /***************************************************************************** 222e2f7a777SLen Brown * 223e2f7a777SLen Brown * Hardware globals 224e2f7a777SLen Brown * 225e2f7a777SLen Brown ****************************************************************************/ 226e2f7a777SLen Brown 227e2f7a777SLen Brown extern struct acpi_bit_register_info 228e2f7a777SLen Brown acpi_gbl_bit_register_info[ACPI_NUM_BITREG]; 2293aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a); 2303aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b); 231d3c4b6f6SRafael J. Wysocki ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a_s0); 232d3c4b6f6SRafael J. Wysocki ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b_s0); 233e2f7a777SLen Brown 234e2f7a777SLen Brown /***************************************************************************** 235e2f7a777SLen Brown * 236e2f7a777SLen Brown * Event and GPE globals 237e2f7a777SLen Brown * 238e2f7a777SLen Brown ****************************************************************************/ 239e2f7a777SLen Brown 24033620c54SBob Moore #if (!ACPI_REDUCED_HARDWARE) 2413aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_all_gpes_initialized); 2423aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_gpe_xrupt_info *, acpi_gbl_gpe_xrupt_list_head); 2433aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_gpe_block_info *, 2443aa0b085SLv Zheng acpi_gbl_gpe_fadt_blocks[ACPI_MAX_GPE_BLOCKS]); 2453aa0b085SLv Zheng ACPI_GLOBAL(acpi_gbl_event_handler, acpi_gbl_global_event_handler); 2463aa0b085SLv Zheng ACPI_GLOBAL(void *, acpi_gbl_global_event_handler_context); 2473aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_fixed_event_handler, 2483aa0b085SLv Zheng acpi_gbl_fixed_event_handlers[ACPI_NUM_FIXED_EVENTS]); 249739dcbb9SLv Zheng extern struct acpi_fixed_event_info 250739dcbb9SLv Zheng acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS]; 25133620c54SBob Moore #endif /* !ACPI_REDUCED_HARDWARE */ 25233620c54SBob Moore 253e2f7a777SLen Brown /***************************************************************************** 254e2f7a777SLen Brown * 255f540fadfSLv Zheng * Debug support 256f540fadfSLv Zheng * 257f540fadfSLv Zheng ****************************************************************************/ 258f540fadfSLv Zheng 259f540fadfSLv Zheng /* Event counters */ 260f540fadfSLv Zheng 2613aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_method_count); 2623aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gpe_count); 2633aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_sci_count); 2643aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_fixed_event_count[ACPI_NUM_FIXED_EVENTS]); 265f540fadfSLv Zheng 2662cb0ba70SBob Moore /* Dynamic control method tracing mechanism */ 267f540fadfSLv Zheng 2683aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_original_dbg_level); 2693aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_original_dbg_layer); 270f540fadfSLv Zheng 271f540fadfSLv Zheng /***************************************************************************** 272f540fadfSLv Zheng * 2732cb0ba70SBob Moore * Debugger and Disassembler 274e2f7a777SLen Brown * 275e2f7a777SLen Brown ****************************************************************************/ 276e2f7a777SLen Brown 27783b80bacSLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_db_output_flags, ACPI_DB_CONSOLE_OUTPUT); 278e2f7a777SLen Brown 279e2f7a777SLen Brown #ifdef ACPI_DISASSEMBLER 280e2f7a777SLen Brown 2813aa0b085SLv Zheng /* Do not disassemble buffers to resource descriptors */ 282d9652b4eSBob Moore 2833aa0b085SLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_no_resource_disassembly, FALSE); 2843aa0b085SLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE); 2855f040fc7SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_cstyle_disassembly, TRUE); 2868b0b1a99SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_force_aml_disassembly, FALSE); 287a2352db5SLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_dm_opt_verbose, TRUE); 2887c312ad1SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_dm_emit_external_opcodes, FALSE); 289a335e955SBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_do_disassembler_optimizations, TRUE); 290a86c856eSDavid E. Box ACPI_INIT_GLOBAL(ACPI_PARSE_OBJECT_LIST, *acpi_gbl_temp_list_head, NULL); 2913aa0b085SLv Zheng 2921bdc63bfSLv Zheng ACPI_GLOBAL(u8, acpi_gbl_dm_opt_disasm); 2932aabfad7SBob Moore ACPI_GLOBAL(u8, acpi_gbl_dm_opt_listing); 2943aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_num_external_methods); 2953aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_resolved_external_methods); 2963aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_external_list *, acpi_gbl_external_list); 2973aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_external_file *, acpi_gbl_external_file_list); 298e2f7a777SLen Brown #endif 299e2f7a777SLen Brown 300e2f7a777SLen Brown #ifdef ACPI_DEBUGGER 3013aa0b085SLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_abort_method, FALSE); 302f988f24eSLv Zheng ACPI_INIT_GLOBAL(acpi_thread_id, acpi_gbl_db_thread_id, ACPI_INVALID_THREAD_ID); 3032c1779f5SErik Kaneda ACPI_INIT_GLOBAL(u32, acpi_gbl_next_cmd_num, 1); 304e2f7a777SLen Brown 3050a381133SBob Moore ACPI_GLOBAL(u8, acpi_gbl_db_opt_no_ini_methods); 3063aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_db_opt_no_region_support); 3073aa0b085SLv Zheng ACPI_GLOBAL(u8, acpi_gbl_db_output_to_file); 3083aa0b085SLv Zheng ACPI_GLOBAL(char *, acpi_gbl_db_buffer); 3093aa0b085SLv Zheng ACPI_GLOBAL(char *, acpi_gbl_db_filename); 3103aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_db_debug_level); 3113aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_db_console_debug_level); 3123aa0b085SLv Zheng ACPI_GLOBAL(struct acpi_namespace_node *, acpi_gbl_db_scope_node); 313af08f9ccSLv Zheng ACPI_GLOBAL(u8, acpi_gbl_db_terminate_loop); 314af08f9ccSLv Zheng ACPI_GLOBAL(u8, acpi_gbl_db_threads_terminated); 3153aa0b085SLv Zheng ACPI_GLOBAL(char *, acpi_gbl_db_args[ACPI_DEBUGGER_MAX_ARGS]); 3163aa0b085SLv Zheng ACPI_GLOBAL(acpi_object_type, acpi_gbl_db_arg_types[ACPI_DEBUGGER_MAX_ARGS]); 3171f5210a1SBob Moore 3181f5210a1SBob Moore /* These buffers should all be the same size */ 3191f5210a1SBob Moore 3203aa0b085SLv Zheng ACPI_GLOBAL(char, acpi_gbl_db_parsed_buf[ACPI_DB_LINE_BUFFER_SIZE]); 3213aa0b085SLv Zheng ACPI_GLOBAL(char, acpi_gbl_db_scope_buf[ACPI_DB_LINE_BUFFER_SIZE]); 3223aa0b085SLv Zheng ACPI_GLOBAL(char, acpi_gbl_db_debug_filename[ACPI_DB_LINE_BUFFER_SIZE]); 3231f5210a1SBob Moore 3242cb0ba70SBob Moore /* Statistics globals */ 3252cb0ba70SBob Moore 326e69ab9a9SBob Moore ACPI_GLOBAL(u16, acpi_gbl_obj_type_count[ACPI_TOTAL_TYPES]); 327e69ab9a9SBob Moore ACPI_GLOBAL(u16, acpi_gbl_node_type_count[ACPI_TOTAL_TYPES]); 3283aa0b085SLv Zheng ACPI_GLOBAL(u16, acpi_gbl_obj_type_count_misc); 3293aa0b085SLv Zheng ACPI_GLOBAL(u16, acpi_gbl_node_type_count_misc); 3303aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_num_nodes); 3313aa0b085SLv Zheng ACPI_GLOBAL(u32, acpi_gbl_num_objects); 332e2f7a777SLen Brown #endif /* ACPI_DEBUGGER */ 333e2f7a777SLen Brown 334fe0f8765SBob Moore #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER) 335fe0f8765SBob Moore ACPI_GLOBAL(const char, *acpi_gbl_pld_panel_list[]); 336fe0f8765SBob Moore ACPI_GLOBAL(const char, *acpi_gbl_pld_vertical_position_list[]); 337fe0f8765SBob Moore ACPI_GLOBAL(const char, *acpi_gbl_pld_horizontal_position_list[]); 338fe0f8765SBob Moore ACPI_GLOBAL(const char, *acpi_gbl_pld_shape_list[]); 339e6b6ea37SErik Schmauss ACPI_INIT_GLOBAL(u8, acpi_gbl_disasm_flag, FALSE); 340fe0f8765SBob Moore #endif 341fe0f8765SBob Moore 3422cb0ba70SBob Moore /***************************************************************************** 3432cb0ba70SBob Moore * 3442cb0ba70SBob Moore * ACPICA application-specific globals 3452cb0ba70SBob Moore * 3462cb0ba70SBob Moore ****************************************************************************/ 3472cb0ba70SBob Moore 3482cb0ba70SBob Moore /* ASL-to-ASL+ conversion utility (implemented within the iASL compiler) */ 3492cb0ba70SBob Moore 3502cb0ba70SBob Moore #ifdef ACPI_ASL_COMPILER 3519cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_inline_comment, NULL); 3529cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_end_node_comment, NULL); 3539cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_open_brace_comment, NULL); 3549cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_close_brace_comment, NULL); 3559cf7adecSBob Moore 3569cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_root_filename, NULL); 3579cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_filename, NULL); 3589cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_parent_filename, NULL); 3599cf7adecSBob Moore ACPI_INIT_GLOBAL(char *, acpi_gbl_current_include_filename, NULL); 3609cf7adecSBob Moore 3619cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_def_blk_comment_list_head, 3629cf7adecSBob Moore NULL); 3639cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_def_blk_comment_list_tail, 3649cf7adecSBob Moore NULL); 3659cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_reg_comment_list_head, 3669cf7adecSBob Moore NULL); 3679cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_reg_comment_list_tail, 3689cf7adecSBob Moore NULL); 3699cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_inc_comment_list_head, 3709cf7adecSBob Moore NULL); 3719cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_inc_comment_list_tail, 3729cf7adecSBob Moore NULL); 3739cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_end_blk_comment_list_head, 3749cf7adecSBob Moore NULL); 3759cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_node, *acpi_gbl_end_blk_comment_list_tail, 3769cf7adecSBob Moore NULL); 3779cf7adecSBob Moore 3789cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_comment_addr_node, 3799cf7adecSBob Moore *acpi_gbl_comment_addr_list_head, NULL); 3809cf7adecSBob Moore ACPI_INIT_GLOBAL(struct acpi_file_node, *acpi_gbl_file_tree_root, NULL); 3819cf7adecSBob Moore 3829cf7adecSBob Moore ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_reg_comment_cache); 3839cf7adecSBob Moore ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_comment_addr_cache); 3849cf7adecSBob Moore ACPI_GLOBAL(acpi_cache_t *, acpi_gbl_file_cache); 3859cf7adecSBob Moore 3869cf7adecSBob Moore ACPI_INIT_GLOBAL(u8, acpi_gbl_debug_asl_conversion, FALSE); 3879cf7adecSBob Moore ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_conv_debug_file, NULL); 3889cf7adecSBob Moore ACPI_GLOBAL(char, acpi_gbl_table_sig[4]); 3892cb0ba70SBob Moore #endif 39071487f3fSLv Zheng 39171487f3fSLv Zheng #ifdef ACPI_APPLICATION 3923aa0b085SLv Zheng ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_debug_file, NULL); 39383b80bacSLv Zheng ACPI_INIT_GLOBAL(ACPI_FILE, acpi_gbl_output_file, NULL); 394722280ecSLv Zheng ACPI_INIT_GLOBAL(u8, acpi_gbl_debug_timeout, FALSE); 39571487f3fSLv Zheng 39680a648c1SLv Zheng /* Print buffer */ 39780a648c1SLv Zheng 39880a648c1SLv Zheng ACPI_GLOBAL(acpi_spinlock, acpi_gbl_print_lock); /* For print buffer */ 39980a648c1SLv Zheng ACPI_GLOBAL(char, acpi_gbl_print_buffer[1024]); 40071487f3fSLv Zheng #endif /* ACPI_APPLICATION */ 40171487f3fSLv Zheng 402e2f7a777SLen Brown #endif /* __ACGLOBAL_H__ */ 403