acglobal.h revision 228110
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 131228110Sjkim/* 132228110Sjkim * Disable runtime checking and repair of values returned by control methods. 133228110Sjkim * Use only if the repair is causing a problem on a particular machine. 134228110Sjkim */ 135228110SjkimUINT8 ACPI_INIT_GLOBAL (AcpiGbl_DisableAutoRepair, FALSE); 136209746Sjkim 137228110Sjkim 138193267Sjkim/* AcpiGbl_FADT is a local copy of the FADT, converted to a common format. */ 139193267Sjkim 140193267SjkimACPI_TABLE_FADT AcpiGbl_FADT; 141193267SjkimUINT32 AcpiCurrentGpeCount; 142193267SjkimUINT32 AcpiGbl_TraceFlags; 143193267SjkimACPI_NAME AcpiGbl_TraceMethodName; 144212761SjkimBOOLEAN AcpiGbl_SystemAwakeAndRunning; 145193267Sjkim 146228110Sjkim/* 147228110Sjkim * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning 148228110Sjkim * that the ACPI hardware is no longer required. A flag in the FADT indicates 149228110Sjkim * a reduced HW machine, and that flag is duplicated here for convenience. 150228110Sjkim */ 151228110SjkimBOOLEAN AcpiGbl_ReducedHardware; 152228110Sjkim 153228110Sjkim 154193267Sjkim#endif 155193267Sjkim 156228110Sjkim/* Do not disassemble buffers to resource descriptors */ 157228110Sjkim 158228110SjkimACPI_EXTERN UINT8 ACPI_INIT_GLOBAL (AcpiGbl_NoResourceDisassembly, FALSE); 159228110Sjkim 16067754Smsmith/***************************************************************************** 16167754Smsmith * 16267754Smsmith * ACPI Table globals 16367754Smsmith * 16467754Smsmith ****************************************************************************/ 16567754Smsmith 16667754Smsmith/* 167207344Sjkim * AcpiGbl_RootTableList is the master list of ACPI tables that were 168207344Sjkim * found in the RSDT/XSDT. 16967754Smsmith */ 170207344SjkimACPI_EXTERN ACPI_TABLE_LIST AcpiGbl_RootTableList; 171193267SjkimACPI_EXTERN ACPI_TABLE_FACS *AcpiGbl_FACS; 17269450Smsmith 173193267Sjkim/* These addresses are calculated from the FADT Event Block addresses */ 174126372Snjl 175193267SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aStatus; 176167802SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable; 177193267Sjkim 178193267SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bStatus; 179167802SjkimACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable; 180151937Sjkim 181206117Sjkim/* DSDT information. Used to check for DSDT corruption */ 182206117Sjkim 183206117SjkimACPI_EXTERN ACPI_TABLE_HEADER *AcpiGbl_DSDT; 184206117SjkimACPI_EXTERN ACPI_TABLE_HEADER AcpiGbl_OriginalDsdtHeader; 185206117Sjkim 18667754Smsmith/* 187167802Sjkim * Handle both ACPI 1.0 and ACPI 2.0 Integer widths. The integer width is 188167802Sjkim * determined by the revision of the DSDT: If the DSDT revision is less than 189167802Sjkim * 2, use only the lower 32 bits of the internal 64-bit Integer. 19099679Siwasaki */ 19199679SiwasakiACPI_EXTERN UINT8 AcpiGbl_IntegerBitWidth; 19299679SiwasakiACPI_EXTERN UINT8 AcpiGbl_IntegerByteWidth; 193117521SnjlACPI_EXTERN UINT8 AcpiGbl_IntegerNybbleWidth; 194123315Snjl 19567754Smsmith 196167802Sjkim/***************************************************************************** 197167802Sjkim * 198228110Sjkim * Mutual exclusion within ACPICA subsystem 199167802Sjkim * 200167802Sjkim ****************************************************************************/ 201167802Sjkim 20267754Smsmith/* 203167802Sjkim * Predefined mutex objects. This array contains the 20467754Smsmith * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. 20567754Smsmith * (The table maps local handles to the real OS handles) 20667754Smsmith */ 207167802SjkimACPI_EXTERN ACPI_MUTEX_INFO AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]; 20867754Smsmith 209167802Sjkim/* 210167802Sjkim * Global lock mutex is an actual AML mutex object 211219707Sjkim * Global lock semaphore works in conjunction with the actual global lock 212219707Sjkim * Global lock spinlock is used for "pending" handshake 213167802Sjkim */ 214167802SjkimACPI_EXTERN ACPI_OPERAND_OBJECT *AcpiGbl_GlobalLockMutex; 215167802SjkimACPI_EXTERN ACPI_SEMAPHORE AcpiGbl_GlobalLockSemaphore; 216219707SjkimACPI_EXTERN ACPI_SPINLOCK AcpiGbl_GlobalLockPendingLock; 217167802SjkimACPI_EXTERN UINT16 AcpiGbl_GlobalLockHandle; 218167802SjkimACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockAcquired; 219167802SjkimACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPresent; 220219707SjkimACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPending; 22167754Smsmith 222167802Sjkim/* 223167802Sjkim * Spinlocks are used for interfaces that can be possibly called at 224167802Sjkim * interrupt level 225167802Sjkim */ 226167802SjkimACPI_EXTERN ACPI_SPINLOCK AcpiGbl_GpeLock; /* For GPE data structs and registers */ 227167802SjkimACPI_EXTERN ACPI_SPINLOCK AcpiGbl_HardwareLock; /* For ACPI H/W except GPE registers */ 228167802Sjkim 229210976Sjkim/* Mutex for _OSI support */ 230210976Sjkim 231210976SjkimACPI_EXTERN ACPI_MUTEX AcpiGbl_OsiMutex; 232210976Sjkim 233193267Sjkim/* Reader/Writer lock is used for namespace walk and dynamic table unload */ 234167802Sjkim 235193267SjkimACPI_EXTERN ACPI_RW_LOCK AcpiGbl_NamespaceRwLock; 236193267Sjkim 237193267Sjkim 23867754Smsmith/***************************************************************************** 23967754Smsmith * 24067754Smsmith * Miscellaneous globals 24167754Smsmith * 24267754Smsmith ****************************************************************************/ 24367754Smsmith 244151937Sjkim/* Object caches */ 245151937Sjkim 246167802SjkimACPI_EXTERN ACPI_CACHE_T *AcpiGbl_NamespaceCache; 247151937SjkimACPI_EXTERN ACPI_CACHE_T *AcpiGbl_StateCache; 248151937SjkimACPI_EXTERN ACPI_CACHE_T *AcpiGbl_PsNodeCache; 249151937SjkimACPI_EXTERN ACPI_CACHE_T *AcpiGbl_PsNodeExtCache; 250151937SjkimACPI_EXTERN ACPI_CACHE_T *AcpiGbl_OperandCache; 251151937Sjkim 252151937Sjkim/* Global handlers */ 253151937Sjkim 254117521SnjlACPI_EXTERN ACPI_OBJECT_NOTIFY_HANDLER AcpiGbl_DeviceNotify; 255117521SnjlACPI_EXTERN ACPI_OBJECT_NOTIFY_HANDLER AcpiGbl_SystemNotify; 256138287SmarksACPI_EXTERN ACPI_EXCEPTION_HANDLER AcpiGbl_ExceptionHandler; 25799679SiwasakiACPI_EXTERN ACPI_INIT_HANDLER AcpiGbl_InitHandler; 258193267SjkimACPI_EXTERN ACPI_TABLE_HANDLER AcpiGbl_TableHandler; 259193267SjkimACPI_EXTERN void *AcpiGbl_TableHandlerContext; 26067754SmsmithACPI_EXTERN ACPI_WALK_STATE *AcpiGbl_BreakpointWalk; 261210976SjkimACPI_EXTERN ACPI_INTERFACE_HANDLER AcpiGbl_InterfaceHandler; 26267754Smsmith 263167802Sjkim/* Owner ID support */ 264167802Sjkim 265167802SjkimACPI_EXTERN UINT32 AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]; 266167802SjkimACPI_EXTERN UINT8 AcpiGbl_LastOwnerIdIndex; 267167802SjkimACPI_EXTERN UINT8 AcpiGbl_NextOwnerIdOffset; 268167802Sjkim 269218590Sjkim/* Initialization sequencing */ 270218590Sjkim 271218590SjkimACPI_EXTERN BOOLEAN AcpiGbl_RegMethodsExecuted; 272218590Sjkim 273151937Sjkim/* Misc */ 274151937Sjkim 27567754SmsmithACPI_EXTERN UINT32 AcpiGbl_OriginalMode; 27667754SmsmithACPI_EXTERN UINT32 AcpiGbl_RsdpOriginalLocation; 27767754SmsmithACPI_EXTERN UINT32 AcpiGbl_NsLookupCount; 27867754SmsmithACPI_EXTERN UINT32 AcpiGbl_PsFindCount; 27967754SmsmithACPI_EXTERN UINT16 AcpiGbl_Pm1EnableRegisterSave; 28067754SmsmithACPI_EXTERN UINT8 AcpiGbl_DebuggerConfiguration; 28167754SmsmithACPI_EXTERN BOOLEAN AcpiGbl_StepToNextCall; 28267754SmsmithACPI_EXTERN BOOLEAN AcpiGbl_AcpiHardwarePresent; 283104470SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_EventsInitialized; 284193267SjkimACPI_EXTERN UINT8 AcpiGbl_OsiData; 285210976SjkimACPI_EXTERN ACPI_INTERFACE_INFO *AcpiGbl_SupportedInterfaces; 28667754Smsmith 287167802Sjkim 288167802Sjkim#ifndef DEFINE_ACPI_GLOBALS 289167802Sjkim 290167802Sjkim/* Exception codes */ 291167802Sjkim 292167802Sjkimextern char const *AcpiGbl_ExceptionNames_Env[]; 293167802Sjkimextern char const *AcpiGbl_ExceptionNames_Pgm[]; 294167802Sjkimextern char const *AcpiGbl_ExceptionNames_Tbl[]; 295167802Sjkimextern char const *AcpiGbl_ExceptionNames_Aml[]; 296167802Sjkimextern char const *AcpiGbl_ExceptionNames_Ctrl[]; 297167802Sjkim 298167802Sjkim/* Other miscellaneous */ 299167802Sjkim 30077424Smsmithextern BOOLEAN AcpiGbl_Shutdown; 30177424Smsmithextern UINT32 AcpiGbl_StartupFlags; 302126372Snjlextern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT]; 303197104Sjkimextern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS]; 304197104Sjkimextern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS]; 30599679Siwasakiextern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES]; 306114237Snjlextern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS]; 307167802Sjkim#endif 30867754Smsmith 30967754Smsmith 310167802Sjkim#ifdef ACPI_DBG_TRACK_ALLOCATIONS 311167802Sjkim 312167802Sjkim/* Lists for tracking memory allocations */ 313167802Sjkim 314167802SjkimACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList; 315167802SjkimACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList; 316167802SjkimACPI_EXTERN BOOLEAN AcpiGbl_DisplayFinalMemStats; 317209746SjkimACPI_EXTERN BOOLEAN AcpiGbl_DisableMemTracking; 318167802Sjkim#endif 319167802Sjkim 320167802Sjkim 32167754Smsmith/***************************************************************************** 32267754Smsmith * 32367754Smsmith * Namespace globals 32467754Smsmith * 32567754Smsmith ****************************************************************************/ 32667754Smsmith 327127175Snjl#if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY) 328102550Siwasaki#define NUM_PREDEFINED_NAMES 10 329102550Siwasaki#else 33067754Smsmith#define NUM_PREDEFINED_NAMES 9 331102550Siwasaki#endif 33267754Smsmith 33367754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE AcpiGbl_RootNodeStruct; 33467754SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_RootNode; 335128212SnjlACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_FadtGpeDevice; 336197104SjkimACPI_EXTERN ACPI_OPERAND_OBJECT *AcpiGbl_ModuleCodeList; 33767754Smsmith 338197104Sjkim 339193267Sjkimextern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES]; 34091116Smsmithextern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES]; 34167754Smsmith 342102550Siwasaki#ifdef ACPI_DEBUG_OUTPUT 34382367SmsmithACPI_EXTERN UINT32 AcpiGbl_CurrentNodeCount; 34482367SmsmithACPI_EXTERN UINT32 AcpiGbl_CurrentNodeSize; 34582367SmsmithACPI_EXTERN UINT32 AcpiGbl_MaxConcurrentNodeCount; 346193267SjkimACPI_EXTERN ACPI_SIZE *AcpiGbl_EntryStackPointer; 347193267SjkimACPI_EXTERN ACPI_SIZE *AcpiGbl_LowestStackPointer; 34883174SmsmithACPI_EXTERN UINT32 AcpiGbl_DeepestNesting; 34967754Smsmith#endif 35067754Smsmith 351151937Sjkim 35267754Smsmith/***************************************************************************** 35367754Smsmith * 35467754Smsmith * Interpreter globals 35567754Smsmith * 35667754Smsmith ****************************************************************************/ 35767754Smsmith 35867754Smsmith 359117521SnjlACPI_EXTERN ACPI_THREAD_STATE *AcpiGbl_CurrentWalkList; 36067754Smsmith 36167754Smsmith/* Control method single step flag */ 36267754Smsmith 36367754SmsmithACPI_EXTERN UINT8 AcpiGbl_CmSingleStep; 36467754Smsmith 36567754Smsmith 36667754Smsmith/***************************************************************************** 36767754Smsmith * 36891116Smsmith * Hardware globals 36991116Smsmith * 37091116Smsmith ****************************************************************************/ 37167754Smsmith 37299679Siwasakiextern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG]; 37391116SmsmithACPI_EXTERN UINT8 AcpiGbl_SleepTypeA; 37491116SmsmithACPI_EXTERN UINT8 AcpiGbl_SleepTypeB; 37591116Smsmith 37691116Smsmith 37767754Smsmith/***************************************************************************** 37867754Smsmith * 37991116Smsmith * Event and GPE globals 38067754Smsmith * 38167754Smsmith ****************************************************************************/ 38267754Smsmith 383216471SjkimACPI_EXTERN UINT8 AcpiGbl_AllGpesInitialized; 384117521SnjlACPI_EXTERN ACPI_GPE_XRUPT_INFO *AcpiGbl_GpeXruptListHead; 385117521SnjlACPI_EXTERN ACPI_GPE_BLOCK_INFO *AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]; 386216471SjkimACPI_EXTERN ACPI_GBL_EVENT_HANDLER AcpiGbl_GlobalEventHandler; 387216471SjkimACPI_EXTERN void *AcpiGbl_GlobalEventHandlerContext; 388216471SjkimACPI_EXTERN ACPI_FIXED_EVENT_HANDLER AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]; 389216471Sjkimextern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS]; 39091116Smsmith 39167754Smsmith 39267754Smsmith/***************************************************************************** 39367754Smsmith * 394167802Sjkim * Debug support 395167802Sjkim * 396167802Sjkim ****************************************************************************/ 397167802Sjkim 398167802Sjkim/* Procedure nesting level for debug output */ 399167802Sjkim 400167802Sjkimextern UINT32 AcpiGbl_NestingLevel; 401167802Sjkim 402167802Sjkim/* Event counters */ 403167802Sjkim 404193267SjkimACPI_EXTERN UINT32 AcpiMethodCount; 405167802SjkimACPI_EXTERN UINT32 AcpiGpeCount; 406193267SjkimACPI_EXTERN UINT32 AcpiSciCount; 407193267SjkimACPI_EXTERN UINT32 AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]; 408167802Sjkim 409167802Sjkim/* Support for dynamic control method tracing mechanism */ 410167802Sjkim 411167802SjkimACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel; 412167802SjkimACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer; 413167802SjkimACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel; 414167802SjkimACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer; 415167802Sjkim 416167802Sjkim 417167802Sjkim/***************************************************************************** 418167802Sjkim * 41967754Smsmith * Debugger globals 42067754Smsmith * 42167754Smsmith ****************************************************************************/ 42267754Smsmith 42391116SmsmithACPI_EXTERN UINT8 AcpiGbl_DbOutputFlags; 42491116Smsmith 425100966Siwasaki#ifdef ACPI_DISASSEMBLER 42691116Smsmith 427100966SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_disasm; 428100966SiwasakiACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_verbose; 429198237SjkimACPI_EXTERN ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 430210976SjkimACPI_EXTERN ACPI_EXTERNAL_FILE *AcpiGbl_ExternalFileList; 431100966Siwasaki#endif 432100966Siwasaki 433100966Siwasaki 434102550Siwasaki#ifdef ACPI_DEBUGGER 43591116Smsmith 43699679Siwasakiextern BOOLEAN AcpiGbl_MethodExecuting; 437114237Snjlextern BOOLEAN AcpiGbl_AbortMethod; 43899679Siwasakiextern BOOLEAN AcpiGbl_DbTerminateThreads; 43967754Smsmith 44091116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_tables; 44191116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_stats; 44291116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_ini_methods; 443193267SjkimACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_NoRegionSupport; 44491116Smsmith 445114237SnjlACPI_EXTERN char *AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]; 446222544SjkimACPI_EXTERN ACPI_OBJECT_TYPE AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]; 447222544SjkimACPI_EXTERN char AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]; 448222544SjkimACPI_EXTERN char AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]; 449222544SjkimACPI_EXTERN char AcpiGbl_DbScopeBuf[80]; 450222544SjkimACPI_EXTERN char AcpiGbl_DbDebugFilename[80]; 45191116SmsmithACPI_EXTERN BOOLEAN AcpiGbl_DbOutputToFile; 452114237SnjlACPI_EXTERN char *AcpiGbl_DbBuffer; 453114237SnjlACPI_EXTERN char *AcpiGbl_DbFilename; 45491116SmsmithACPI_EXTERN UINT32 AcpiGbl_DbDebugLevel; 45591116SmsmithACPI_EXTERN UINT32 AcpiGbl_DbConsoleDebugLevel; 45691116SmsmithACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_DbScopeNode; 45791116Smsmith 45891116Smsmith/* 45991116Smsmith * Statistic globals 46091116Smsmith */ 461107325SiwasakiACPI_EXTERN UINT16 AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]; 462107325SiwasakiACPI_EXTERN UINT16 AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]; 46391116SmsmithACPI_EXTERN UINT16 AcpiGbl_ObjTypeCountMisc; 46491116SmsmithACPI_EXTERN UINT16 AcpiGbl_NodeTypeCountMisc; 46591116SmsmithACPI_EXTERN UINT32 AcpiGbl_NumNodes; 46691116SmsmithACPI_EXTERN UINT32 AcpiGbl_NumObjects; 46791116Smsmith 46891116Smsmith 46991116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfParseTree; 47091116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfMethodTrees; 47191116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfNodeEntries; 47291116SmsmithACPI_EXTERN UINT32 AcpiGbl_SizeOfAcpiObjects; 47391116Smsmith 474102550Siwasaki#endif /* ACPI_DEBUGGER */ 47591116Smsmith 47667754Smsmith#endif /* __ACGLOBAL_H__ */ 477