acglobal.h revision 217365
167754Smsmith/******************************************************************************
267754Smsmith *
367754Smsmith * Name: acglobal.h - Declarations for global variables
467754Smsmith *
567754Smsmith *****************************************************************************/
667754Smsmith
7217365Sjkim/*
8217365Sjkim * Copyright (C) 2000 - 2011, Intel Corp.
970243Smsmith * All rights reserved.
1067754Smsmith *
11217365Sjkim * Redistribution and use in source and binary forms, with or without
12217365Sjkim * modification, are permitted provided that the following conditions
13217365Sjkim * are met:
14217365Sjkim * 1. Redistributions of source code must retain the above copyright
15217365Sjkim *    notice, this list of conditions, and the following disclaimer,
16217365Sjkim *    without modification.
17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18217365Sjkim *    substantially similar to the "NO WARRANTY" disclaimer below
19217365Sjkim *    ("Disclaimer") and any redistribution must be conditioned upon
20217365Sjkim *    including a substantially similar Disclaimer requirement for further
21217365Sjkim *    binary redistribution.
22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names
23217365Sjkim *    of any contributors may be used to endorse or promote products derived
24217365Sjkim *    from this software without specific prior written permission.
2567754Smsmith *
26217365Sjkim * Alternatively, this software may be distributed under the terms of the
27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free
28217365Sjkim * Software Foundation.
2967754Smsmith *
30217365Sjkim * NO WARRANTY
31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41217365Sjkim * POSSIBILITY OF SUCH DAMAGES.
42217365Sjkim */
4367754Smsmith
4467754Smsmith#ifndef __ACGLOBAL_H__
4567754Smsmith#define __ACGLOBAL_H__
4667754Smsmith
4767754Smsmith
4867754Smsmith/*
49128212Snjl * Ensure that the globals are actually defined and initialized only once.
5067754Smsmith *
51128212Snjl * The use of these macros allows a single list of globals (here) in order
5267754Smsmith * to simplify maintenance of the code.
5367754Smsmith */
5467754Smsmith#ifdef DEFINE_ACPI_GLOBALS
5567754Smsmith#define ACPI_EXTERN
56128212Snjl#define ACPI_INIT_GLOBAL(a,b) a=b
5767754Smsmith#else
5867754Smsmith#define ACPI_EXTERN extern
59128212Snjl#define ACPI_INIT_GLOBAL(a,b) a
6067754Smsmith#endif
6167754Smsmith
6267754Smsmith
63193267Sjkim#ifdef DEFINE_ACPI_GLOBALS
64193267Sjkim
65193267Sjkim/* Public globals, available from outside ACPICA subsystem */
66193267Sjkim
6767754Smsmith/*****************************************************************************
6867754Smsmith *
69128212Snjl * Runtime configuration (static defaults that can be overriden at runtime)
70127175Snjl *
71127175Snjl ****************************************************************************/
7267754Smsmith
73128212Snjl/*
74138287Smarks * Enable "slack" in the AML interpreter?  Default is FALSE, and the
75138287Smarks * interpreter strictly follows the ACPI specification.  Setting to TRUE
76167802Sjkim * allows the interpreter to ignore certain errors and/or bad AML constructs.
77167802Sjkim *
78167802Sjkim * Currently, these features are enabled by this flag:
79167802Sjkim *
80138287Smarks * 1) Allow "implicit return" of last value in a control method
81167802Sjkim * 2) Allow access beyond the end of an operation region
82138287Smarks * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
83151937Sjkim * 4) Allow ANY object type to be a source operand for the Store() operator
84167802Sjkim * 5) Allow unresolved references (invalid target name) in package objects
85167802Sjkim * 6) Enable warning messages for behavior that is not ACPI spec compliant
86128212Snjl */
87193267SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_EnableInterpreterSlack, FALSE);
88127175Snjl
89128212Snjl/*
90128212Snjl * Automatically serialize ALL control methods? Default is FALSE, meaning
91128212Snjl * to use the Serialized/NotSerialized method flags on a per method basis.
92128212Snjl * Only change this if the ASL code is poorly written and cannot handle
93128212Snjl * reentrancy even though methods are marked "NotSerialized".
94128212Snjl */
95193267SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_AllMethodsSerialized, FALSE);
96128212Snjl
97128212Snjl/*
98138287Smarks * Create the predefined _OSI method in the namespace? Default is TRUE
99138287Smarks * because ACPI CA is fully compatible with other ACPI implementations.
100138287Smarks * Changing this will revert ACPI CA (and machine ASL) to pre-OSI behavior.
101138287Smarks */
102193267SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_CreateOsiMethod, TRUE);
103138287Smarks
104138287Smarks/*
105193267Sjkim * Optionally use default values for the ACPI register widths. Set this to
106193267Sjkim * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
107193267Sjkim */
108193267SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_UseDefaultRegisterWidths, TRUE);
109128212Snjl
110204773Sjkim/*
111204773Sjkim * Optionally enable output from the AML Debug Object.
112204773Sjkim */
113204773SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_EnableAmlDebugObject, FALSE);
114193267Sjkim
115206117Sjkim/*
116206117Sjkim * Optionally copy the entire DSDT to local memory (instead of simply
117206117Sjkim * mapping it.) There are some BIOSs that corrupt or replace the original
118206117Sjkim * DSDT, creating the need for this option. Default is FALSE, do not copy
119206117Sjkim * the DSDT.
120206117Sjkim */
121206117SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_CopyDsdtLocally, FALSE);
122204773Sjkim
123209746Sjkim/*
124209746Sjkim * Optionally truncate I/O addresses to 16 bits. Provides compatibility
125209746Sjkim * with other ACPI implementations. NOTE: During ACPICA initialization,
126209746Sjkim * this value is set to TRUE if any Windows OSI strings have been
127209746Sjkim * requested by the BIOS.
128209746Sjkim */
129209746SjkimUINT8       ACPI_INIT_GLOBAL (AcpiGbl_TruncateIoAddresses, FALSE);
130206117Sjkim
131209746Sjkim
132193267Sjkim/* AcpiGbl_FADT is a local copy of the FADT, converted to a common format. */
133193267Sjkim
134193267SjkimACPI_TABLE_FADT             AcpiGbl_FADT;
135193267SjkimUINT32                      AcpiCurrentGpeCount;
136193267SjkimUINT32                      AcpiGbl_TraceFlags;
137193267SjkimACPI_NAME                   AcpiGbl_TraceMethodName;
138212761SjkimBOOLEAN                     AcpiGbl_SystemAwakeAndRunning;
139193267Sjkim
140193267Sjkim#endif
141193267Sjkim
14267754Smsmith/*****************************************************************************
14367754Smsmith *
14467754Smsmith * ACPI Table globals
14567754Smsmith *
14667754Smsmith ****************************************************************************/
14767754Smsmith
14867754Smsmith/*
149207344Sjkim * AcpiGbl_RootTableList is the master list of ACPI tables that were
150207344Sjkim * found in the RSDT/XSDT.
15167754Smsmith */
152207344SjkimACPI_EXTERN ACPI_TABLE_LIST             AcpiGbl_RootTableList;
153193267SjkimACPI_EXTERN ACPI_TABLE_FACS            *AcpiGbl_FACS;
15469450Smsmith
155193267Sjkim/* These addresses are calculated from the FADT Event Block addresses */
156126372Snjl
157193267SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS        AcpiGbl_XPm1aStatus;
158167802SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS        AcpiGbl_XPm1aEnable;
159193267Sjkim
160193267SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS        AcpiGbl_XPm1bStatus;
161167802SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS        AcpiGbl_XPm1bEnable;
162151937Sjkim
163206117Sjkim/* DSDT information. Used to check for DSDT corruption */
164206117Sjkim
165206117SjkimACPI_EXTERN ACPI_TABLE_HEADER          *AcpiGbl_DSDT;
166206117SjkimACPI_EXTERN ACPI_TABLE_HEADER           AcpiGbl_OriginalDsdtHeader;
167206117Sjkim
16867754Smsmith/*
169167802Sjkim * Handle both ACPI 1.0 and ACPI 2.0 Integer widths. The integer width is
170167802Sjkim * determined by the revision of the DSDT: If the DSDT revision is less than
171167802Sjkim * 2, use only the lower 32 bits of the internal 64-bit Integer.
17299679Siwasaki */
17399679SiwasakiACPI_EXTERN UINT8                       AcpiGbl_IntegerBitWidth;
17499679SiwasakiACPI_EXTERN UINT8                       AcpiGbl_IntegerByteWidth;
175117521SnjlACPI_EXTERN UINT8                       AcpiGbl_IntegerNybbleWidth;
176123315Snjl
17767754Smsmith
178167802Sjkim/*****************************************************************************
179167802Sjkim *
180167802Sjkim * Mutual exlusion within ACPICA subsystem
181167802Sjkim *
182167802Sjkim ****************************************************************************/
183167802Sjkim
18467754Smsmith/*
185167802Sjkim * Predefined mutex objects. This array contains the
18667754Smsmith * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
18767754Smsmith * (The table maps local handles to the real OS handles)
18867754Smsmith */
189167802SjkimACPI_EXTERN ACPI_MUTEX_INFO             AcpiGbl_MutexInfo[ACPI_NUM_MUTEX];
19067754Smsmith
191167802Sjkim/*
192167802Sjkim * Global lock mutex is an actual AML mutex object
193167802Sjkim * Global lock semaphore works in conjunction with the HW global lock
194167802Sjkim */
195167802SjkimACPI_EXTERN ACPI_OPERAND_OBJECT        *AcpiGbl_GlobalLockMutex;
196167802SjkimACPI_EXTERN ACPI_SEMAPHORE              AcpiGbl_GlobalLockSemaphore;
197167802SjkimACPI_EXTERN UINT16                      AcpiGbl_GlobalLockHandle;
198167802SjkimACPI_EXTERN BOOLEAN                     AcpiGbl_GlobalLockAcquired;
199167802SjkimACPI_EXTERN BOOLEAN                     AcpiGbl_GlobalLockPresent;
20067754Smsmith
201167802Sjkim/*
202167802Sjkim * Spinlocks are used for interfaces that can be possibly called at
203167802Sjkim * interrupt level
204167802Sjkim */
205167802SjkimACPI_EXTERN ACPI_SPINLOCK               AcpiGbl_GpeLock;      /* For GPE data structs and registers */
206167802SjkimACPI_EXTERN ACPI_SPINLOCK               AcpiGbl_HardwareLock; /* For ACPI H/W except GPE registers */
207167802Sjkim
208210976Sjkim/* Mutex for _OSI support */
209210976Sjkim
210210976SjkimACPI_EXTERN ACPI_MUTEX                  AcpiGbl_OsiMutex;
211210976Sjkim
212193267Sjkim/* Reader/Writer lock is used for namespace walk and dynamic table unload */
213167802Sjkim
214193267SjkimACPI_EXTERN ACPI_RW_LOCK                AcpiGbl_NamespaceRwLock;
215193267Sjkim
216193267Sjkim
21767754Smsmith/*****************************************************************************
21867754Smsmith *
21967754Smsmith * Miscellaneous globals
22067754Smsmith *
22167754Smsmith ****************************************************************************/
22267754Smsmith
223151937Sjkim/* Object caches */
224151937Sjkim
225167802SjkimACPI_EXTERN ACPI_CACHE_T               *AcpiGbl_NamespaceCache;
226151937SjkimACPI_EXTERN ACPI_CACHE_T               *AcpiGbl_StateCache;
227151937SjkimACPI_EXTERN ACPI_CACHE_T               *AcpiGbl_PsNodeCache;
228151937SjkimACPI_EXTERN ACPI_CACHE_T               *AcpiGbl_PsNodeExtCache;
229151937SjkimACPI_EXTERN ACPI_CACHE_T               *AcpiGbl_OperandCache;
230151937Sjkim
231151937Sjkim/* Global handlers */
232151937Sjkim
233117521SnjlACPI_EXTERN ACPI_OBJECT_NOTIFY_HANDLER  AcpiGbl_DeviceNotify;
234117521SnjlACPI_EXTERN ACPI_OBJECT_NOTIFY_HANDLER  AcpiGbl_SystemNotify;
235138287SmarksACPI_EXTERN ACPI_EXCEPTION_HANDLER      AcpiGbl_ExceptionHandler;
23699679SiwasakiACPI_EXTERN ACPI_INIT_HANDLER           AcpiGbl_InitHandler;
237193267SjkimACPI_EXTERN ACPI_TABLE_HANDLER          AcpiGbl_TableHandler;
238193267SjkimACPI_EXTERN void                       *AcpiGbl_TableHandlerContext;
23967754SmsmithACPI_EXTERN ACPI_WALK_STATE            *AcpiGbl_BreakpointWalk;
240210976SjkimACPI_EXTERN ACPI_INTERFACE_HANDLER      AcpiGbl_InterfaceHandler;
24167754Smsmith
242167802Sjkim/* Owner ID support */
243167802Sjkim
244167802SjkimACPI_EXTERN UINT32                      AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS];
245167802SjkimACPI_EXTERN UINT8                       AcpiGbl_LastOwnerIdIndex;
246167802SjkimACPI_EXTERN UINT8                       AcpiGbl_NextOwnerIdOffset;
247167802Sjkim
248151937Sjkim/* Misc */
249151937Sjkim
25067754SmsmithACPI_EXTERN UINT32                      AcpiGbl_OriginalMode;
25167754SmsmithACPI_EXTERN UINT32                      AcpiGbl_RsdpOriginalLocation;
25267754SmsmithACPI_EXTERN UINT32                      AcpiGbl_NsLookupCount;
25367754SmsmithACPI_EXTERN UINT32                      AcpiGbl_PsFindCount;
25467754SmsmithACPI_EXTERN UINT16                      AcpiGbl_Pm1EnableRegisterSave;
25567754SmsmithACPI_EXTERN UINT8                       AcpiGbl_DebuggerConfiguration;
25667754SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_StepToNextCall;
25767754SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_AcpiHardwarePresent;
258104470SiwasakiACPI_EXTERN BOOLEAN                     AcpiGbl_EventsInitialized;
259193267SjkimACPI_EXTERN UINT8                       AcpiGbl_OsiData;
260210976SjkimACPI_EXTERN ACPI_INTERFACE_INFO        *AcpiGbl_SupportedInterfaces;
26167754Smsmith
262167802Sjkim
263167802Sjkim#ifndef DEFINE_ACPI_GLOBALS
264167802Sjkim
265167802Sjkim/* Exception codes */
266167802Sjkim
267167802Sjkimextern char const                       *AcpiGbl_ExceptionNames_Env[];
268167802Sjkimextern char const                       *AcpiGbl_ExceptionNames_Pgm[];
269167802Sjkimextern char const                       *AcpiGbl_ExceptionNames_Tbl[];
270167802Sjkimextern char const                       *AcpiGbl_ExceptionNames_Aml[];
271167802Sjkimextern char const                       *AcpiGbl_ExceptionNames_Ctrl[];
272167802Sjkim
273167802Sjkim/* Other miscellaneous */
274167802Sjkim
27577424Smsmithextern BOOLEAN                          AcpiGbl_Shutdown;
27677424Smsmithextern UINT32                           AcpiGbl_StartupFlags;
277126372Snjlextern const char                      *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
278197104Sjkimextern const char                      *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
279197104Sjkimextern const char                      *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
28099679Siwasakiextern const ACPI_OPCODE_INFO           AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
281114237Snjlextern const char                      *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
282167802Sjkim#endif
28367754Smsmith
28467754Smsmith
285167802Sjkim#ifdef ACPI_DBG_TRACK_ALLOCATIONS
286167802Sjkim
287167802Sjkim/* Lists for tracking memory allocations */
288167802Sjkim
289167802SjkimACPI_EXTERN ACPI_MEMORY_LIST           *AcpiGbl_GlobalList;
290167802SjkimACPI_EXTERN ACPI_MEMORY_LIST           *AcpiGbl_NsNodeList;
291167802SjkimACPI_EXTERN BOOLEAN                     AcpiGbl_DisplayFinalMemStats;
292209746SjkimACPI_EXTERN BOOLEAN                     AcpiGbl_DisableMemTracking;
293167802Sjkim#endif
294167802Sjkim
295167802Sjkim
29667754Smsmith/*****************************************************************************
29767754Smsmith *
29867754Smsmith * Namespace globals
29967754Smsmith *
30067754Smsmith ****************************************************************************/
30167754Smsmith
302127175Snjl#if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
303102550Siwasaki#define NUM_PREDEFINED_NAMES            10
304102550Siwasaki#else
30567754Smsmith#define NUM_PREDEFINED_NAMES            9
306102550Siwasaki#endif
30767754Smsmith
30867754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE         AcpiGbl_RootNodeStruct;
30967754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE        *AcpiGbl_RootNode;
310128212SnjlACPI_EXTERN ACPI_NAMESPACE_NODE        *AcpiGbl_FadtGpeDevice;
311197104SjkimACPI_EXTERN ACPI_OPERAND_OBJECT        *AcpiGbl_ModuleCodeList;
31267754Smsmith
313197104Sjkim
314193267Sjkimextern const UINT8                      AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
31591116Smsmithextern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
31667754Smsmith
317102550Siwasaki#ifdef ACPI_DEBUG_OUTPUT
31882367SmsmithACPI_EXTERN UINT32                      AcpiGbl_CurrentNodeCount;
31982367SmsmithACPI_EXTERN UINT32                      AcpiGbl_CurrentNodeSize;
32082367SmsmithACPI_EXTERN UINT32                      AcpiGbl_MaxConcurrentNodeCount;
321193267SjkimACPI_EXTERN ACPI_SIZE                  *AcpiGbl_EntryStackPointer;
322193267SjkimACPI_EXTERN ACPI_SIZE                  *AcpiGbl_LowestStackPointer;
32383174SmsmithACPI_EXTERN UINT32                      AcpiGbl_DeepestNesting;
32467754Smsmith#endif
32567754Smsmith
326151937Sjkim
32767754Smsmith/*****************************************************************************
32867754Smsmith *
32967754Smsmith * Interpreter globals
33067754Smsmith *
33167754Smsmith ****************************************************************************/
33267754Smsmith
33367754Smsmith
334117521SnjlACPI_EXTERN ACPI_THREAD_STATE          *AcpiGbl_CurrentWalkList;
33567754Smsmith
33667754Smsmith/* Control method single step flag */
33767754Smsmith
33867754SmsmithACPI_EXTERN UINT8                       AcpiGbl_CmSingleStep;
33967754Smsmith
34067754Smsmith
34167754Smsmith/*****************************************************************************
34267754Smsmith *
34391116Smsmith * Hardware globals
34491116Smsmith *
34591116Smsmith ****************************************************************************/
34667754Smsmith
34799679Siwasakiextern      ACPI_BIT_REGISTER_INFO      AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
34891116SmsmithACPI_EXTERN UINT8                       AcpiGbl_SleepTypeA;
34991116SmsmithACPI_EXTERN UINT8                       AcpiGbl_SleepTypeB;
35091116Smsmith
35191116Smsmith
35267754Smsmith/*****************************************************************************
35367754Smsmith *
35491116Smsmith * Event and GPE globals
35567754Smsmith *
35667754Smsmith ****************************************************************************/
35767754Smsmith
358216471SjkimACPI_EXTERN UINT8                       AcpiGbl_AllGpesInitialized;
359117521SnjlACPI_EXTERN ACPI_GPE_XRUPT_INFO        *AcpiGbl_GpeXruptListHead;
360117521SnjlACPI_EXTERN ACPI_GPE_BLOCK_INFO        *AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS];
361216471SjkimACPI_EXTERN ACPI_GBL_EVENT_HANDLER      AcpiGbl_GlobalEventHandler;
362216471SjkimACPI_EXTERN void                       *AcpiGbl_GlobalEventHandlerContext;
363216471SjkimACPI_EXTERN ACPI_FIXED_EVENT_HANDLER    AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS];
364216471Sjkimextern      ACPI_FIXED_EVENT_INFO       AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
36591116Smsmith
36667754Smsmith
36767754Smsmith/*****************************************************************************
36867754Smsmith *
369167802Sjkim * Debug support
370167802Sjkim *
371167802Sjkim ****************************************************************************/
372167802Sjkim
373167802Sjkim/* Procedure nesting level for debug output */
374167802Sjkim
375167802Sjkimextern      UINT32                      AcpiGbl_NestingLevel;
376167802Sjkim
377167802Sjkim/* Event counters */
378167802Sjkim
379193267SjkimACPI_EXTERN UINT32                      AcpiMethodCount;
380167802SjkimACPI_EXTERN UINT32                      AcpiGpeCount;
381193267SjkimACPI_EXTERN UINT32                      AcpiSciCount;
382193267SjkimACPI_EXTERN UINT32                      AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS];
383167802Sjkim
384167802Sjkim/* Support for dynamic control method tracing mechanism */
385167802Sjkim
386167802SjkimACPI_EXTERN UINT32                      AcpiGbl_OriginalDbgLevel;
387167802SjkimACPI_EXTERN UINT32                      AcpiGbl_OriginalDbgLayer;
388167802SjkimACPI_EXTERN UINT32                      AcpiGbl_TraceDbgLevel;
389167802SjkimACPI_EXTERN UINT32                      AcpiGbl_TraceDbgLayer;
390167802Sjkim
391167802Sjkim
392167802Sjkim/*****************************************************************************
393167802Sjkim *
39467754Smsmith * Debugger globals
39567754Smsmith *
39667754Smsmith ****************************************************************************/
39767754Smsmith
39891116SmsmithACPI_EXTERN UINT8                       AcpiGbl_DbOutputFlags;
39991116Smsmith
400100966Siwasaki#ifdef ACPI_DISASSEMBLER
40191116Smsmith
402100966SiwasakiACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_disasm;
403100966SiwasakiACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_verbose;
404198237SjkimACPI_EXTERN ACPI_EXTERNAL_LIST         *AcpiGbl_ExternalList;
405210976SjkimACPI_EXTERN ACPI_EXTERNAL_FILE         *AcpiGbl_ExternalFileList;
406100966Siwasaki#endif
407100966Siwasaki
408100966Siwasaki
409102550Siwasaki#ifdef ACPI_DEBUGGER
41091116Smsmith
41199679Siwasakiextern      BOOLEAN                     AcpiGbl_MethodExecuting;
412114237Snjlextern      BOOLEAN                     AcpiGbl_AbortMethod;
41399679Siwasakiextern      BOOLEAN                     AcpiGbl_DbTerminateThreads;
41467754Smsmith
41591116SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_tables;
41691116SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_stats;
41791116SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_ini_methods;
418193267SjkimACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_NoRegionSupport;
41991116Smsmith
420114237SnjlACPI_EXTERN char                       *AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS];
421114237SnjlACPI_EXTERN char                        AcpiGbl_DbLineBuf[80];
422114237SnjlACPI_EXTERN char                        AcpiGbl_DbParsedBuf[80];
423114237SnjlACPI_EXTERN char                        AcpiGbl_DbScopeBuf[40];
424114237SnjlACPI_EXTERN char                        AcpiGbl_DbDebugFilename[40];
42591116SmsmithACPI_EXTERN BOOLEAN                     AcpiGbl_DbOutputToFile;
426114237SnjlACPI_EXTERN char                       *AcpiGbl_DbBuffer;
427114237SnjlACPI_EXTERN char                       *AcpiGbl_DbFilename;
42891116SmsmithACPI_EXTERN UINT32                      AcpiGbl_DbDebugLevel;
42991116SmsmithACPI_EXTERN UINT32                      AcpiGbl_DbConsoleDebugLevel;
43091116SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE        *AcpiGbl_DbScopeNode;
43191116Smsmith
43291116Smsmith/*
43391116Smsmith * Statistic globals
43491116Smsmith */
435107325SiwasakiACPI_EXTERN UINT16                      AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1];
436107325SiwasakiACPI_EXTERN UINT16                      AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1];
43791116SmsmithACPI_EXTERN UINT16                      AcpiGbl_ObjTypeCountMisc;
43891116SmsmithACPI_EXTERN UINT16                      AcpiGbl_NodeTypeCountMisc;
43991116SmsmithACPI_EXTERN UINT32                      AcpiGbl_NumNodes;
44091116SmsmithACPI_EXTERN UINT32                      AcpiGbl_NumObjects;
44191116Smsmith
44291116Smsmith
44391116SmsmithACPI_EXTERN UINT32                      AcpiGbl_SizeOfParseTree;
44491116SmsmithACPI_EXTERN UINT32                      AcpiGbl_SizeOfMethodTrees;
44591116SmsmithACPI_EXTERN UINT32                      AcpiGbl_SizeOfNodeEntries;
44691116SmsmithACPI_EXTERN UINT32                      AcpiGbl_SizeOfAcpiObjects;
44791116Smsmith
448102550Siwasaki#endif /* ACPI_DEBUGGER */
44991116Smsmith
45067754Smsmith#endif /* __ACGLOBAL_H__ */
451