acglobal.h revision 218590
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 248218590Sjkim/* Initialization sequencing */ 249218590Sjkim 250218590SjkimACPI_EXTERN BOOLEAN AcpiGbl_RegMethodsExecuted; 251218590Sjkim 252151937Sjkim/* Misc */ 253151937Sjkim 25467754SmsmithACPI_EXTERN UINT32 AcpiGbl_OriginalMode; 25567754SmsmithACPI_EXTERN UINT32 AcpiGbl_RsdpOriginalLocation; 25667754SmsmithACPI_EXTERN UINT32 AcpiGbl_NsLookupCount; 25767754SmsmithACPI_EXTERN UINT32 AcpiGbl_PsFindCount; 25867754SmsmithACPI_EXTERN UINT16 AcpiGbl_Pm1EnableRegisterSave; 25967754SmsmithACPI_EXTERN UINT8 AcpiGbl_DebuggerConfiguration; 26067754SmsmithACPI_EXTERN BOOLEAN AcpiGbl_StepToNextCall; 26167754SmsmithACPI_EXTERN BOOLEAN AcpiGbl_AcpiHardwarePresent; 262104470SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_EventsInitialized; 263193267SjkimACPI_EXTERN UINT8 AcpiGbl_OsiData; 264210976SjkimACPI_EXTERN ACPI_INTERFACE_INFO *AcpiGbl_SupportedInterfaces; 26567754Smsmith 266167802Sjkim 267167802Sjkim#ifndef DEFINE_ACPI_GLOBALS 268167802Sjkim 269167802Sjkim/* Exception codes */ 270167802Sjkim 271167802Sjkimextern char const *AcpiGbl_ExceptionNames_Env[]; 272167802Sjkimextern char const *AcpiGbl_ExceptionNames_Pgm[]; 273167802Sjkimextern char const *AcpiGbl_ExceptionNames_Tbl[]; 274167802Sjkimextern char const *AcpiGbl_ExceptionNames_Aml[]; 275167802Sjkimextern char const *AcpiGbl_ExceptionNames_Ctrl[]; 276167802Sjkim 277167802Sjkim/* Other miscellaneous */ 278167802Sjkim 27977424Smsmithextern BOOLEAN AcpiGbl_Shutdown; 28077424Smsmithextern UINT32 AcpiGbl_StartupFlags; 281126372Snjlextern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT]; 282197104Sjkimextern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS]; 283197104Sjkimextern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS]; 28499679Siwasakiextern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES]; 285114237Snjlextern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS]; 286167802Sjkim#endif 28767754Smsmith 28867754Smsmith 289167802Sjkim#ifdef ACPI_DBG_TRACK_ALLOCATIONS 290167802Sjkim 291167802Sjkim/* Lists for tracking memory allocations */ 292167802Sjkim 293167802SjkimACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList; 294167802SjkimACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList; 295167802SjkimACPI_EXTERN BOOLEAN AcpiGbl_DisplayFinalMemStats; 296209746SjkimACPI_EXTERN BOOLEAN AcpiGbl_DisableMemTracking; 297167802Sjkim#endif 298167802Sjkim 299167802Sjkim 30067754Smsmith/***************************************************************************** 30167754Smsmith * 30267754Smsmith * Namespace globals 30367754Smsmith * 30467754Smsmith ****************************************************************************/ 30567754Smsmith 306127175Snjl#if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY) 307102550Siwasaki#define NUM_PREDEFINED_NAMES 10 308102550Siwasaki#else 30967754Smsmith#define NUM_PREDEFINED_NAMES 9 310102550Siwasaki#endif 31167754Smsmith 31267754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE AcpiGbl_RootNodeStruct; 31367754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_RootNode; 314128212SnjlACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_FadtGpeDevice; 315197104SjkimACPI_EXTERN ACPI_OPERAND_OBJECT *AcpiGbl_ModuleCodeList; 31667754Smsmith 317197104Sjkim 318193267Sjkimextern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES]; 31991116Smsmithextern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES]; 32067754Smsmith 321102550Siwasaki#ifdef ACPI_DEBUG_OUTPUT 32282367SmsmithACPI_EXTERN UINT32 AcpiGbl_CurrentNodeCount; 32382367SmsmithACPI_EXTERN UINT32 AcpiGbl_CurrentNodeSize; 32482367SmsmithACPI_EXTERN UINT32 AcpiGbl_MaxConcurrentNodeCount; 325193267SjkimACPI_EXTERN ACPI_SIZE *AcpiGbl_EntryStackPointer; 326193267SjkimACPI_EXTERN ACPI_SIZE *AcpiGbl_LowestStackPointer; 32783174SmsmithACPI_EXTERN UINT32 AcpiGbl_DeepestNesting; 32867754Smsmith#endif 32967754Smsmith 330151937Sjkim 33167754Smsmith/***************************************************************************** 33267754Smsmith * 33367754Smsmith * Interpreter globals 33467754Smsmith * 33567754Smsmith ****************************************************************************/ 33667754Smsmith 33767754Smsmith 338117521SnjlACPI_EXTERN ACPI_THREAD_STATE *AcpiGbl_CurrentWalkList; 33967754Smsmith 34067754Smsmith/* Control method single step flag */ 34167754Smsmith 34267754SmsmithACPI_EXTERN UINT8 AcpiGbl_CmSingleStep; 34367754Smsmith 34467754Smsmith 34567754Smsmith/***************************************************************************** 34667754Smsmith * 34791116Smsmith * Hardware globals 34891116Smsmith * 34991116Smsmith ****************************************************************************/ 35067754Smsmith 35199679Siwasakiextern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG]; 35291116SmsmithACPI_EXTERN UINT8 AcpiGbl_SleepTypeA; 35391116SmsmithACPI_EXTERN UINT8 AcpiGbl_SleepTypeB; 35491116Smsmith 35591116Smsmith 35667754Smsmith/***************************************************************************** 35767754Smsmith * 35891116Smsmith * Event and GPE globals 35967754Smsmith * 36067754Smsmith ****************************************************************************/ 36167754Smsmith 362216471SjkimACPI_EXTERN UINT8 AcpiGbl_AllGpesInitialized; 363117521SnjlACPI_EXTERN ACPI_GPE_XRUPT_INFO *AcpiGbl_GpeXruptListHead; 364117521SnjlACPI_EXTERN ACPI_GPE_BLOCK_INFO *AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]; 365216471SjkimACPI_EXTERN ACPI_GBL_EVENT_HANDLER AcpiGbl_GlobalEventHandler; 366216471SjkimACPI_EXTERN void *AcpiGbl_GlobalEventHandlerContext; 367216471SjkimACPI_EXTERN ACPI_FIXED_EVENT_HANDLER AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]; 368216471Sjkimextern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS]; 36991116Smsmith 37067754Smsmith 37167754Smsmith/***************************************************************************** 37267754Smsmith * 373167802Sjkim * Debug support 374167802Sjkim * 375167802Sjkim ****************************************************************************/ 376167802Sjkim 377167802Sjkim/* Procedure nesting level for debug output */ 378167802Sjkim 379167802Sjkimextern UINT32 AcpiGbl_NestingLevel; 380167802Sjkim 381167802Sjkim/* Event counters */ 382167802Sjkim 383193267SjkimACPI_EXTERN UINT32 AcpiMethodCount; 384167802SjkimACPI_EXTERN UINT32 AcpiGpeCount; 385193267SjkimACPI_EXTERN UINT32 AcpiSciCount; 386193267SjkimACPI_EXTERN UINT32 AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]; 387167802Sjkim 388167802Sjkim/* Support for dynamic control method tracing mechanism */ 389167802Sjkim 390167802SjkimACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel; 391167802SjkimACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer; 392167802SjkimACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel; 393167802SjkimACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer; 394167802Sjkim 395167802Sjkim 396167802Sjkim/***************************************************************************** 397167802Sjkim * 39867754Smsmith * Debugger globals 39967754Smsmith * 40067754Smsmith ****************************************************************************/ 40167754Smsmith 40291116SmsmithACPI_EXTERN UINT8 AcpiGbl_DbOutputFlags; 40391116Smsmith 404100966Siwasaki#ifdef ACPI_DISASSEMBLER 40591116Smsmith 406100966SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_disasm; 407100966SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_verbose; 408198237SjkimACPI_EXTERN ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 409210976SjkimACPI_EXTERN ACPI_EXTERNAL_FILE *AcpiGbl_ExternalFileList; 410100966Siwasaki#endif 411100966Siwasaki 412100966Siwasaki 413102550Siwasaki#ifdef ACPI_DEBUGGER 41491116Smsmith 41599679Siwasakiextern BOOLEAN AcpiGbl_MethodExecuting; 416114237Snjlextern BOOLEAN AcpiGbl_AbortMethod; 41799679Siwasakiextern BOOLEAN AcpiGbl_DbTerminateThreads; 41867754Smsmith 41991116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_tables; 42091116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_stats; 42191116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_ini_methods; 422193267SjkimACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_NoRegionSupport; 42391116Smsmith 424114237SnjlACPI_EXTERN char *AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]; 425114237SnjlACPI_EXTERN char AcpiGbl_DbLineBuf[80]; 426114237SnjlACPI_EXTERN char AcpiGbl_DbParsedBuf[80]; 427114237SnjlACPI_EXTERN char AcpiGbl_DbScopeBuf[40]; 428114237SnjlACPI_EXTERN char AcpiGbl_DbDebugFilename[40]; 42991116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOutputToFile; 430114237SnjlACPI_EXTERN char *AcpiGbl_DbBuffer; 431114237SnjlACPI_EXTERN char *AcpiGbl_DbFilename; 43291116SmsmithACPI_EXTERN UINT32 AcpiGbl_DbDebugLevel; 43391116SmsmithACPI_EXTERN UINT32 AcpiGbl_DbConsoleDebugLevel; 43491116SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_DbScopeNode; 43591116Smsmith 43691116Smsmith/* 43791116Smsmith * Statistic globals 43891116Smsmith */ 439107325SiwasakiACPI_EXTERN UINT16 AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]; 440107325SiwasakiACPI_EXTERN UINT16 AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]; 44191116SmsmithACPI_EXTERN UINT16 AcpiGbl_ObjTypeCountMisc; 44291116SmsmithACPI_EXTERN UINT16 AcpiGbl_NodeTypeCountMisc; 44391116SmsmithACPI_EXTERN UINT32 AcpiGbl_NumNodes; 44491116SmsmithACPI_EXTERN UINT32 AcpiGbl_NumObjects; 44591116Smsmith 44691116Smsmith 44791116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfParseTree; 44891116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfMethodTrees; 44991116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfNodeEntries; 45091116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfAcpiObjects; 45191116Smsmith 452102550Siwasaki#endif /* ACPI_DEBUGGER */ 45391116Smsmith 45467754Smsmith#endif /* __ACGLOBAL_H__ */ 455