1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44#ifndef __ACGLOBAL_H__
45#define __ACGLOBAL_H__
46
47
48
49
50
51
52
53#ifdef DEFINE_ACPI_GLOBALS
54#define ACPI_EXTERN
55#define ACPI_INIT_GLOBAL(a,b) a=b
56#else
57#define ACPI_EXTERN extern
58#define ACPI_INIT_GLOBAL(a,b) a
59#endif
60
61#ifdef DEFINE_ACPI_GLOBALS
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85u8 ACPI_INIT_GLOBAL(acpi_gbl_enable_interpreter_slack, FALSE);
86
87
88
89
90
91
92
93u8 ACPI_INIT_GLOBAL(acpi_gbl_all_methods_serialized, FALSE);
94
95
96
97
98
99
100u8 ACPI_INIT_GLOBAL(acpi_gbl_create_osi_method, TRUE);
101
102
103
104
105
106u8 ACPI_INIT_GLOBAL(acpi_gbl_use_default_register_widths, TRUE);
107
108
109
110
111bool ACPI_INIT_GLOBAL(acpi_gbl_enable_aml_debug_object, FALSE);
112
113
114
115
116
117
118
119u8 ACPI_INIT_GLOBAL(acpi_gbl_copy_dsdt_locally, FALSE);
120
121
122
123
124
125
126
127u8 ACPI_INIT_GLOBAL(acpi_gbl_truncate_io_addresses, FALSE);
128
129
130
131
132
133u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_auto_repair, FALSE);
134
135
136
137struct acpi_table_fadt acpi_gbl_FADT;
138u32 acpi_current_gpe_count;
139u32 acpi_gbl_trace_flags;
140acpi_name acpi_gbl_trace_method_name;
141u8 acpi_gbl_system_awake_and_running;
142
143
144
145
146
147
148u8 acpi_gbl_reduced_hardware;
149
150#endif
151
152
153
154ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_no_resource_disassembly, FALSE);
155
156
157
158
159
160
161
162
163
164extern u32 acpi_gbl_nesting_level;
165
166ACPI_EXTERN u32 acpi_gpe_count;
167ACPI_EXTERN u32 acpi_fixed_event_count[ACPI_NUM_FIXED_EVENTS];
168
169
170
171ACPI_EXTERN u32 acpi_gbl_original_dbg_level;
172ACPI_EXTERN u32 acpi_gbl_original_dbg_layer;
173ACPI_EXTERN u32 acpi_gbl_trace_dbg_level;
174ACPI_EXTERN u32 acpi_gbl_trace_dbg_layer;
175
176
177
178
179
180
181
182
183
184
185
186ACPI_EXTERN struct acpi_table_list acpi_gbl_root_table_list;
187
188#if (!ACPI_REDUCED_HARDWARE)
189ACPI_EXTERN struct acpi_table_facs *acpi_gbl_FACS;
190
191#endif
192
193
194
195ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1a_status;
196ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1a_enable;
197
198ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1b_status;
199ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1b_enable;
200
201
202
203ACPI_EXTERN struct acpi_table_header *acpi_gbl_DSDT;
204ACPI_EXTERN struct acpi_table_header acpi_gbl_original_dsdt_header;
205
206
207
208
209
210
211ACPI_EXTERN u8 acpi_gbl_integer_bit_width;
212ACPI_EXTERN u8 acpi_gbl_integer_byte_width;
213ACPI_EXTERN u8 acpi_gbl_integer_nybble_width;
214
215
216
217ACPI_EXTERN acpi_mutex acpi_gbl_osi_mutex;
218
219
220
221ACPI_EXTERN struct acpi_rw_lock acpi_gbl_namespace_rw_lock;
222
223
224
225
226
227
228
229
230
231
232
233
234ACPI_EXTERN struct acpi_mutex_info acpi_gbl_mutex_info[ACPI_NUM_MUTEX];
235
236
237
238
239
240
241ACPI_EXTERN union acpi_operand_object *acpi_gbl_global_lock_mutex;
242ACPI_EXTERN acpi_semaphore acpi_gbl_global_lock_semaphore;
243ACPI_EXTERN acpi_spinlock acpi_gbl_global_lock_pending_lock;
244ACPI_EXTERN u16 acpi_gbl_global_lock_handle;
245ACPI_EXTERN u8 acpi_gbl_global_lock_acquired;
246ACPI_EXTERN u8 acpi_gbl_global_lock_present;
247ACPI_EXTERN u8 acpi_gbl_global_lock_pending;
248
249
250
251
252
253ACPI_EXTERN acpi_spinlock acpi_gbl_gpe_lock;
254ACPI_EXTERN acpi_spinlock acpi_gbl_hardware_lock;
255
256
257
258
259
260
261
262#ifdef ACPI_DBG_TRACK_ALLOCATIONS
263
264
265
266ACPI_EXTERN struct acpi_memory_list *acpi_gbl_global_list;
267ACPI_EXTERN struct acpi_memory_list *acpi_gbl_ns_node_list;
268ACPI_EXTERN u8 acpi_gbl_display_final_mem_stats;
269#endif
270
271
272
273ACPI_EXTERN acpi_cache_t *acpi_gbl_namespace_cache;
274ACPI_EXTERN acpi_cache_t *acpi_gbl_state_cache;
275ACPI_EXTERN acpi_cache_t *acpi_gbl_ps_node_cache;
276ACPI_EXTERN acpi_cache_t *acpi_gbl_ps_node_ext_cache;
277ACPI_EXTERN acpi_cache_t *acpi_gbl_operand_cache;
278
279
280
281ACPI_EXTERN struct acpi_global_notify_handler acpi_gbl_global_notify[2];
282ACPI_EXTERN acpi_exception_handler acpi_gbl_exception_handler;
283ACPI_EXTERN acpi_init_handler acpi_gbl_init_handler;
284ACPI_EXTERN acpi_tbl_handler acpi_gbl_table_handler;
285ACPI_EXTERN void *acpi_gbl_table_handler_context;
286ACPI_EXTERN struct acpi_walk_state *acpi_gbl_breakpoint_walk;
287ACPI_EXTERN acpi_interface_handler acpi_gbl_interface_handler;
288
289
290
291ACPI_EXTERN u32 acpi_gbl_owner_id_mask[ACPI_NUM_OWNERID_MASKS];
292ACPI_EXTERN u8 acpi_gbl_last_owner_id_index;
293ACPI_EXTERN u8 acpi_gbl_next_owner_id_offset;
294
295
296
297ACPI_EXTERN u8 acpi_gbl_reg_methods_executed;
298
299
300
301ACPI_EXTERN u32 acpi_gbl_original_mode;
302ACPI_EXTERN u32 acpi_gbl_rsdp_original_location;
303ACPI_EXTERN u32 acpi_gbl_ns_lookup_count;
304ACPI_EXTERN u32 acpi_gbl_ps_find_count;
305ACPI_EXTERN u16 acpi_gbl_pm1_enable_register_save;
306ACPI_EXTERN u8 acpi_gbl_debugger_configuration;
307ACPI_EXTERN u8 acpi_gbl_step_to_next_call;
308ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present;
309ACPI_EXTERN u8 acpi_gbl_events_initialized;
310ACPI_EXTERN u8 acpi_gbl_osi_data;
311ACPI_EXTERN struct acpi_interface_info *acpi_gbl_supported_interfaces;
312ACPI_EXTERN struct acpi_address_range
313 *acpi_gbl_address_range_list[ACPI_ADDRESS_RANGE_MAX];
314
315#ifndef DEFINE_ACPI_GLOBALS
316
317
318
319extern u8 acpi_gbl_shutdown;
320extern u32 acpi_gbl_startup_flags;
321extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT];
322extern const char *acpi_gbl_lowest_dstate_names[ACPI_NUM_sx_w_METHODS];
323extern const char *acpi_gbl_highest_dstate_names[ACPI_NUM_sx_d_METHODS];
324extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];
325extern const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS];
326
327#endif
328
329
330
331
332
333
334
335#if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
336#define NUM_PREDEFINED_NAMES 10
337#else
338#define NUM_PREDEFINED_NAMES 9
339#endif
340
341ACPI_EXTERN struct acpi_namespace_node acpi_gbl_root_node_struct;
342ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_root_node;
343ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_fadt_gpe_device;
344ACPI_EXTERN union acpi_operand_object *acpi_gbl_module_code_list;
345
346extern const u8 acpi_gbl_ns_properties[ACPI_NUM_NS_TYPES];
347extern const struct acpi_predefined_names
348 acpi_gbl_pre_defined_names[NUM_PREDEFINED_NAMES];
349
350#ifdef ACPI_DEBUG_OUTPUT
351ACPI_EXTERN u32 acpi_gbl_current_node_count;
352ACPI_EXTERN u32 acpi_gbl_current_node_size;
353ACPI_EXTERN u32 acpi_gbl_max_concurrent_node_count;
354ACPI_EXTERN acpi_size *acpi_gbl_entry_stack_pointer;
355ACPI_EXTERN acpi_size *acpi_gbl_lowest_stack_pointer;
356ACPI_EXTERN u32 acpi_gbl_deepest_nesting;
357#endif
358
359
360
361
362
363
364
365ACPI_EXTERN struct acpi_thread_state *acpi_gbl_current_walk_list;
366
367
368
369ACPI_EXTERN u8 acpi_gbl_cm_single_step;
370
371
372
373
374
375
376
377extern struct acpi_bit_register_info
378 acpi_gbl_bit_register_info[ACPI_NUM_BITREG];
379ACPI_EXTERN u8 acpi_gbl_sleep_type_a;
380ACPI_EXTERN u8 acpi_gbl_sleep_type_b;
381
382
383
384
385
386
387
388extern struct acpi_fixed_event_info
389 acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS];
390ACPI_EXTERN struct acpi_fixed_event_handler
391 acpi_gbl_fixed_event_handlers[ACPI_NUM_FIXED_EVENTS];
392ACPI_EXTERN struct acpi_gpe_xrupt_info *acpi_gbl_gpe_xrupt_list_head;
393ACPI_EXTERN struct acpi_gpe_block_info
394*acpi_gbl_gpe_fadt_blocks[ACPI_MAX_GPE_BLOCKS];
395
396#if (!ACPI_REDUCED_HARDWARE)
397
398ACPI_EXTERN u8 acpi_gbl_all_gpes_initialized;
399ACPI_EXTERN ACPI_GBL_EVENT_HANDLER acpi_gbl_global_event_handler;
400ACPI_EXTERN void *acpi_gbl_global_event_handler_context;
401
402#endif
403
404
405
406
407
408
409
410ACPI_EXTERN u8 acpi_gbl_db_output_flags;
411
412#ifdef ACPI_DISASSEMBLER
413
414ACPI_EXTERN u8 acpi_gbl_db_opt_disasm;
415ACPI_EXTERN u8 acpi_gbl_db_opt_verbose;
416#endif
417
418#ifdef ACPI_DEBUGGER
419
420extern u8 acpi_gbl_method_executing;
421extern u8 acpi_gbl_abort_method;
422extern u8 acpi_gbl_db_terminate_threads;
423
424ACPI_EXTERN u8 acpi_gbl_db_opt_tables;
425ACPI_EXTERN u8 acpi_gbl_db_opt_stats;
426ACPI_EXTERN u8 acpi_gbl_db_opt_ini_methods;
427
428ACPI_EXTERN char *acpi_gbl_db_args[ACPI_DEBUGGER_MAX_ARGS];
429ACPI_EXTERN char acpi_gbl_db_line_buf[80];
430ACPI_EXTERN char acpi_gbl_db_parsed_buf[80];
431ACPI_EXTERN char acpi_gbl_db_scope_buf[40];
432ACPI_EXTERN char acpi_gbl_db_debug_filename[40];
433ACPI_EXTERN u8 acpi_gbl_db_output_to_file;
434ACPI_EXTERN char *acpi_gbl_db_buffer;
435ACPI_EXTERN char *acpi_gbl_db_filename;
436ACPI_EXTERN u32 acpi_gbl_db_debug_level;
437ACPI_EXTERN u32 acpi_gbl_db_console_debug_level;
438ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_db_scope_node;
439
440
441
442
443ACPI_EXTERN u16 acpi_gbl_obj_type_count[ACPI_TYPE_NS_NODE_MAX + 1];
444ACPI_EXTERN u16 acpi_gbl_node_type_count[ACPI_TYPE_NS_NODE_MAX + 1];
445ACPI_EXTERN u16 acpi_gbl_obj_type_count_misc;
446ACPI_EXTERN u16 acpi_gbl_node_type_count_misc;
447ACPI_EXTERN u32 acpi_gbl_num_nodes;
448ACPI_EXTERN u32 acpi_gbl_num_objects;
449
450ACPI_EXTERN u32 acpi_gbl_size_of_parse_tree;
451ACPI_EXTERN u32 acpi_gbl_size_of_method_trees;
452ACPI_EXTERN u32 acpi_gbl_size_of_node_entries;
453ACPI_EXTERN u32 acpi_gbl_size_of_acpi_objects;
454
455#endif
456
457
458
459
460
461
462
463extern const struct ah_predefined_name asl_predefined_info[];
464
465#endif
466