kernel: Sync ACPICA with Intel's version 20140214.
[dragonfly.git] / sys / contrib / dev / acpica / source / include / acglobal.h
1 /******************************************************************************
2  *
3  * Name: acglobal.h - Declarations for global variables
4  *
5  *****************************************************************************/
6
7 /*
8  * Copyright (C) 2000 - 2014, Intel Corp.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions, and the following disclaimer,
16  *    without modification.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  *    substantially similar to the "NO WARRANTY" disclaimer below
19  *    ("Disclaimer") and any redistribution must be conditioned upon
20  *    including a substantially similar Disclaimer requirement for further
21  *    binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  *    of any contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43
44 #ifndef __ACGLOBAL_H__
45 #define __ACGLOBAL_H__
46
47
48 #pragma pack(push) /* Set default struct packing */
49
50 /*
51  * Ensure that the globals are actually defined and initialized only once.
52  *
53  * The use of these macros allows a single list of globals (here) in order
54  * to simplify maintenance of the code.
55  */
56 #ifdef DEFINE_ACPI_GLOBALS
57 #define ACPI_GLOBAL(type,name) \
58     extern type name; \
59     type name
60
61 #define ACPI_INIT_GLOBAL(type,name,value) \
62     type name=value
63
64 #else
65 #define ACPI_GLOBAL(type,name) \
66     extern type name
67
68 #define ACPI_INIT_GLOBAL(type,name,value) \
69     extern type name
70 #endif
71
72
73 #ifdef DEFINE_ACPI_GLOBALS
74
75 /* Public globals, available from outside ACPICA subsystem */
76
77 /*****************************************************************************
78  *
79  * Runtime configuration (static defaults that can be overriden at runtime)
80  *
81  ****************************************************************************/
82
83 /*
84  * Enable "slack" in the AML interpreter?  Default is FALSE, and the
85  * interpreter strictly follows the ACPI specification. Setting to TRUE
86  * allows the interpreter to ignore certain errors and/or bad AML constructs.
87  *
88  * Currently, these features are enabled by this flag:
89  *
90  * 1) Allow "implicit return" of last value in a control method
91  * 2) Allow access beyond the end of an operation region
92  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
93  * 4) Allow ANY object type to be a source operand for the Store() operator
94  * 5) Allow unresolved references (invalid target name) in package objects
95  * 6) Enable warning messages for behavior that is not ACPI spec compliant
96  */
97 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_EnableInterpreterSlack, FALSE);
98
99 /*
100  * Automatically serialize all methods that create named objects? Default
101  * is TRUE, meaning that all NonSerialized methods are scanned once at
102  * table load time to determine those that create named objects. Methods
103  * that create named objects are marked Serialized in order to prevent
104  * possible run-time problems if they are entered by more than one thread.
105  */
106 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_AutoSerializeMethods, TRUE);
107
108 /*
109  * Create the predefined _OSI method in the namespace? Default is TRUE
110  * because ACPI CA is fully compatible with other ACPI implementations.
111  * Changing this will revert ACPI CA (and machine ASL) to pre-OSI behavior.
112  */
113 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_CreateOsiMethod, TRUE);
114
115 /*
116  * Optionally use default values for the ACPI register widths. Set this to
117  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
118  */
119 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_UseDefaultRegisterWidths, TRUE);
120
121 /*
122  * Optionally enable output from the AML Debug Object.
123  */
124 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_EnableAmlDebugObject, FALSE);
125
126 /*
127  * Optionally copy the entire DSDT to local memory (instead of simply
128  * mapping it.) There are some BIOSs that corrupt or replace the original
129  * DSDT, creating the need for this option. Default is FALSE, do not copy
130  * the DSDT.
131  */
132 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_CopyDsdtLocally, FALSE);
133
134 /*
135  * Optionally ignore an XSDT if present and use the RSDT instead.
136  * Although the ACPI specification requires that an XSDT be used instead
137  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
138  * some machines. Default behavior is to use the XSDT if present.
139  */
140 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DoNotUseXsdt, FALSE);
141
142 /*
143  * Optionally use 32-bit FADT addresses if and when there is a conflict
144  * (address mismatch) between the 32-bit and 64-bit versions of the
145  * address. Although ACPICA adheres to the ACPI specification which
146  * requires the use of the corresponding 64-bit address if it is non-zero,
147  * some machines have been found to have a corrupted non-zero 64-bit
148  * address. Default is FALSE, do not favor the 32-bit addresses.
149  */
150 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_Use32BitFadtAddresses, FALSE);
151
152 /*
153  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
154  * with other ACPI implementations. NOTE: During ACPICA initialization,
155  * this value is set to TRUE if any Windows OSI strings have been
156  * requested by the BIOS.
157  */
158 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_TruncateIoAddresses, FALSE);
159
160 /*
161  * Disable runtime checking and repair of values returned by control methods.
162  * Use only if the repair is causing a problem on a particular machine.
163  */
164 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DisableAutoRepair, FALSE);
165
166 /*
167  * Optionally do not load any SSDTs from the RSDT/XSDT during initialization.
168  * This can be useful for debugging ACPI problems on some machines.
169  */
170 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DisableSsdtTableLoad, FALSE);
171
172 /*
173  * We keep track of the latest version of Windows that has been requested by
174  * the BIOS.
175  */
176 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_OsiData, 0);
177
178 #endif /* DEFINE_ACPI_GLOBALS */
179
180
181 /*****************************************************************************
182  *
183  * ACPI Table globals
184  *
185  ****************************************************************************/
186
187 /*
188  * Master list of all ACPI tables that were found in the RSDT/XSDT.
189  */
190 ACPI_GLOBAL (ACPI_TABLE_LIST,           AcpiGbl_RootTableList);
191
192 /* DSDT information. Used to check for DSDT corruption */
193
194 ACPI_GLOBAL (ACPI_TABLE_HEADER *,       AcpiGbl_DSDT);
195 ACPI_GLOBAL (ACPI_TABLE_HEADER,         AcpiGbl_OriginalDsdtHeader);
196
197 #if (!ACPI_REDUCED_HARDWARE)
198 ACPI_GLOBAL (ACPI_TABLE_FACS *,         AcpiGbl_FACS);
199
200 #endif /* !ACPI_REDUCED_HARDWARE */
201
202 /* These addresses are calculated from the FADT Event Block addresses */
203
204 ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aStatus);
205 ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aEnable);
206
207 ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bStatus);
208 ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bEnable);
209
210 /*
211  * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is
212  * determined by the revision of the DSDT: If the DSDT revision is less than
213  * 2, use only the lower 32 bits of the internal 64-bit Integer.
214  */
215 ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerBitWidth);
216 ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerByteWidth);
217 ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerNybbleWidth);
218
219
220 /*****************************************************************************
221  *
222  * Mutual exclusion within ACPICA subsystem
223  *
224  ****************************************************************************/
225
226 /*
227  * Predefined mutex objects. This array contains the
228  * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
229  * (The table maps local handles to the real OS handles)
230  */
231 ACPI_GLOBAL (ACPI_MUTEX_INFO,           AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]);
232
233 /*
234  * Global lock mutex is an actual AML mutex object
235  * Global lock semaphore works in conjunction with the actual global lock
236  * Global lock spinlock is used for "pending" handshake
237  */
238 ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_GlobalLockMutex);
239 ACPI_GLOBAL (ACPI_SEMAPHORE,            AcpiGbl_GlobalLockSemaphore);
240 ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GlobalLockPendingLock);
241 ACPI_GLOBAL (UINT16,                    AcpiGbl_GlobalLockHandle);
242 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockAcquired);
243 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPresent);
244 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPending);
245
246 /*
247  * Spinlocks are used for interfaces that can be possibly called at
248  * interrupt level
249  */
250 ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GpeLock);       /* For GPE data structs and registers */
251 ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_HardwareLock);  /* For ACPI H/W except GPE registers */
252 ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_ReferenceCountLock);
253
254 /* Mutex for _OSI support */
255
256 ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_OsiMutex);
257
258 /* Reader/Writer lock is used for namespace walk and dynamic table unload */
259
260 ACPI_GLOBAL (ACPI_RW_LOCK,              AcpiGbl_NamespaceRwLock);
261
262
263 /*****************************************************************************
264  *
265  * Miscellaneous globals
266  *
267  ****************************************************************************/
268
269 /* Object caches */
270
271 ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_NamespaceCache);
272 ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_StateCache);
273 ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeCache);
274 ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeExtCache);
275 ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_OperandCache);
276
277 /* System */
278
279 ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_StartupFlags, 0);
280 ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_Shutdown, TRUE);
281
282 /* Global handlers */
283
284 ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
285 ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER,    AcpiGbl_ExceptionHandler);
286 ACPI_GLOBAL (ACPI_INIT_HANDLER,         AcpiGbl_InitHandler);
287 ACPI_GLOBAL (ACPI_TABLE_HANDLER,        AcpiGbl_TableHandler);
288 ACPI_GLOBAL (void *,                    AcpiGbl_TableHandlerContext);
289 ACPI_GLOBAL (ACPI_WALK_STATE *,         AcpiGbl_BreakpointWalk);
290 ACPI_GLOBAL (ACPI_INTERFACE_HANDLER,    AcpiGbl_InterfaceHandler);
291 ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *,   AcpiGbl_SciHandlerList);
292
293 /* Owner ID support */
294
295 ACPI_GLOBAL (UINT32,                    AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
296 ACPI_GLOBAL (UINT8,                     AcpiGbl_LastOwnerIdIndex);
297 ACPI_GLOBAL (UINT8,                     AcpiGbl_NextOwnerIdOffset);
298
299 /* Initialization sequencing */
300
301 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_RegMethodsExecuted);
302
303 /* Misc */
304
305 ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
306 ACPI_GLOBAL (UINT32,                    AcpiGbl_RsdpOriginalLocation);
307 ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
308 ACPI_GLOBAL (UINT32,                    AcpiGbl_PsFindCount);
309 ACPI_GLOBAL (UINT16,                    AcpiGbl_Pm1EnableRegisterSave);
310 ACPI_GLOBAL (UINT8,                     AcpiGbl_DebuggerConfiguration);
311 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_StepToNextCall);
312 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_AcpiHardwarePresent);
313 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_EventsInitialized);
314 ACPI_GLOBAL (ACPI_INTERFACE_INFO *,     AcpiGbl_SupportedInterfaces);
315 ACPI_GLOBAL (ACPI_ADDRESS_RANGE *,      AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
316
317 /* Other miscellaneous, declared and initialized in utglobal */
318
319 extern const char                      *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
320 extern const char                      *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
321 extern const char                      *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
322 extern const char                      *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
323 extern const ACPI_OPCODE_INFO           AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
324
325
326 #ifdef ACPI_DBG_TRACK_ALLOCATIONS
327
328 /* Lists for tracking memory allocations (debug only) */
329
330 ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
331 ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
332 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
333 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisableMemTracking);
334 #endif
335
336
337 /*****************************************************************************
338  *
339  * Namespace globals
340  *
341  ****************************************************************************/
342
343 #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
344 #define NUM_PREDEFINED_NAMES            10
345 #else
346 #define NUM_PREDEFINED_NAMES            9
347 #endif
348
349 ACPI_GLOBAL (ACPI_NAMESPACE_NODE,       AcpiGbl_RootNodeStruct);
350 ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_RootNode);
351 ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
352 ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_ModuleCodeList);
353
354
355 extern const UINT8                      AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
356 extern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
357
358 #ifdef ACPI_DEBUG_OUTPUT
359 ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
360 ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
361 ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
362 ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
363 ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
364 ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
365 ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_NestingLevel, 0);   
366 #endif
367
368
369 /*****************************************************************************
370  *
371  * Interpreter globals
372  *
373  ****************************************************************************/
374
375 ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
376
377 /* Control method single step flag */
378
379 ACPI_GLOBAL (UINT8,                     AcpiGbl_CmSingleStep);
380
381
382 /*****************************************************************************
383  *
384  * Hardware globals
385  *
386  ****************************************************************************/
387
388 extern ACPI_BIT_REGISTER_INFO           AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
389
390 ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
391 ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeB);
392
393
394 /*****************************************************************************
395  *
396  * Event and GPE globals
397  *
398  ****************************************************************************/
399
400 #if (!ACPI_REDUCED_HARDWARE)
401
402 ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
403 ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
404 ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,     AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
405 ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
406 ACPI_GLOBAL (void *,                    AcpiGbl_GlobalEventHandlerContext);
407 ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER,  AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
408
409 extern ACPI_FIXED_EVENT_INFO            AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
410
411 #endif /* !ACPI_REDUCED_HARDWARE */
412
413 /*****************************************************************************
414  *
415  * Debug support
416  *
417  ****************************************************************************/
418
419 /* Event counters */
420
421 ACPI_GLOBAL (UINT32,                    AcpiMethodCount);
422 ACPI_GLOBAL (UINT32,                    AcpiGpeCount);
423 ACPI_GLOBAL (UINT32,                    AcpiSciCount);
424 ACPI_GLOBAL (UINT32,                    AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
425
426 /* Support for dynamic control method tracing mechanism */
427
428 ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
429 ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
430 ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLevel);
431 ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLayer);
432
433
434 /*****************************************************************************
435  *
436  * Debugger and Disassembler globals
437  *
438  ****************************************************************************/
439
440 ACPI_GLOBAL (UINT8,                     AcpiGbl_DbOutputFlags);
441
442 #ifdef ACPI_DISASSEMBLER
443
444 /* Do not disassemble buffers to resource descriptors */
445
446 ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_NoResourceDisassembly, FALSE);
447 ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_IgnoreNoopOperator, FALSE);
448
449 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_disasm);
450 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_verbose);
451 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_NumExternalMethods);
452 ACPI_GLOBAL (UINT32,                    AcpiGbl_ResolvedExternalMethods);
453 ACPI_GLOBAL (ACPI_EXTERNAL_LIST *,      AcpiGbl_ExternalList);
454 ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,      AcpiGbl_ExternalFileList);
455 #endif
456
457 #ifdef ACPI_DEBUGGER
458
459 ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DbTerminateThreads, FALSE);
460 ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
461 ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_MethodExecuting, FALSE);
462
463 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_tables);
464 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_stats);
465 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_ini_methods);
466 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoRegionSupport);
467 ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOutputToFile);
468 ACPI_GLOBAL (char *,                    AcpiGbl_DbBuffer);
469 ACPI_GLOBAL (char *,                    AcpiGbl_DbFilename);
470 ACPI_GLOBAL (UINT32,                    AcpiGbl_DbDebugLevel);
471 ACPI_GLOBAL (UINT32,                    AcpiGbl_DbConsoleDebugLevel);
472 ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
473
474 ACPI_GLOBAL (char *,                    AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
475 ACPI_GLOBAL (ACPI_OBJECT_TYPE,          AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
476
477 /* These buffers should all be the same size */
478
479 ACPI_GLOBAL (char,                      AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
480 ACPI_GLOBAL (char,                      AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
481 ACPI_GLOBAL (char,                      AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
482 ACPI_GLOBAL (char,                      AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
483
484 /*
485  * Statistic globals
486  */
487 ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
488 ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
489 ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
490 ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
491 ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
492 ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
493
494 ACPI_GLOBAL (UINT32,                    AcpiGbl_SizeOfParseTree);
495 ACPI_GLOBAL (UINT32,                    AcpiGbl_SizeOfMethodTrees);
496 ACPI_GLOBAL (UINT32,                    AcpiGbl_SizeOfNodeEntries);
497 ACPI_GLOBAL (UINT32,                    AcpiGbl_SizeOfAcpiObjects);
498
499 #endif /* ACPI_DEBUGGER */
500
501
502 /*****************************************************************************
503  *
504  * Application globals
505  *
506  ****************************************************************************/
507
508 #ifdef ACPI_APPLICATION
509
510 ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
511
512 #endif /* ACPI_APPLICATION */
513
514
515 /*****************************************************************************
516  *
517  * Info/help support
518  *
519  ****************************************************************************/
520
521 extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
522
523
524 #pragma pack(pop) /* Restore original struct packing */
525
526 #endif /* __ACGLOBAL_H__ */