1433d6423SLionel Sambuc /****************************************************************************** 2433d6423SLionel Sambuc * 3433d6423SLionel Sambuc * Name: acglobal.h - Declarations for global variables 4433d6423SLionel Sambuc * 5433d6423SLionel Sambuc *****************************************************************************/ 6433d6423SLionel Sambuc 7*29492bb7SDavid van Moolenbroek /* 8*29492bb7SDavid van Moolenbroek * Copyright (C) 2000 - 2014, Intel Corp. 9433d6423SLionel Sambuc * All rights reserved. 10433d6423SLionel Sambuc * 11*29492bb7SDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 12*29492bb7SDavid van Moolenbroek * modification, are permitted provided that the following conditions 13*29492bb7SDavid van Moolenbroek * are met: 14*29492bb7SDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 15*29492bb7SDavid van Moolenbroek * notice, this list of conditions, and the following disclaimer, 16*29492bb7SDavid van Moolenbroek * without modification. 17*29492bb7SDavid van Moolenbroek * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*29492bb7SDavid van Moolenbroek * substantially similar to the "NO WARRANTY" disclaimer below 19*29492bb7SDavid van Moolenbroek * ("Disclaimer") and any redistribution must be conditioned upon 20*29492bb7SDavid van Moolenbroek * including a substantially similar Disclaimer requirement for further 21*29492bb7SDavid van Moolenbroek * binary redistribution. 22*29492bb7SDavid van Moolenbroek * 3. Neither the names of the above-listed copyright holders nor the names 23*29492bb7SDavid van Moolenbroek * of any contributors may be used to endorse or promote products derived 24*29492bb7SDavid van Moolenbroek * from this software without specific prior written permission. 25433d6423SLionel Sambuc * 26*29492bb7SDavid van Moolenbroek * Alternatively, this software may be distributed under the terms of the 27*29492bb7SDavid van Moolenbroek * GNU General Public License ("GPL") version 2 as published by the Free 28*29492bb7SDavid van Moolenbroek * Software Foundation. 29433d6423SLionel Sambuc * 30*29492bb7SDavid van Moolenbroek * NO WARRANTY 31*29492bb7SDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*29492bb7SDavid van Moolenbroek * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*29492bb7SDavid van Moolenbroek * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*29492bb7SDavid van Moolenbroek * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*29492bb7SDavid van Moolenbroek * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*29492bb7SDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*29492bb7SDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*29492bb7SDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*29492bb7SDavid van Moolenbroek * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*29492bb7SDavid van Moolenbroek * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*29492bb7SDavid van Moolenbroek * POSSIBILITY OF SUCH DAMAGES. 42*29492bb7SDavid van Moolenbroek */ 43433d6423SLionel Sambuc 44433d6423SLionel Sambuc #ifndef __ACGLOBAL_H__ 45433d6423SLionel Sambuc #define __ACGLOBAL_H__ 46433d6423SLionel Sambuc 47433d6423SLionel Sambuc 48433d6423SLionel Sambuc /***************************************************************************** 49433d6423SLionel Sambuc * 50*29492bb7SDavid van Moolenbroek * Globals related to the ACPI tables 51433d6423SLionel Sambuc * 52433d6423SLionel Sambuc ****************************************************************************/ 53433d6423SLionel Sambuc 54*29492bb7SDavid van Moolenbroek /* Master list of all ACPI tables that were found in the RSDT/XSDT */ 55433d6423SLionel Sambuc 56*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_LIST, AcpiGbl_RootTableList); 57433d6423SLionel Sambuc 58433d6423SLionel Sambuc /* DSDT information. Used to check for DSDT corruption */ 59433d6423SLionel Sambuc 60*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_HEADER *, AcpiGbl_DSDT); 61*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_HEADER, AcpiGbl_OriginalDsdtHeader); 62*29492bb7SDavid van Moolenbroek 63*29492bb7SDavid van Moolenbroek #if (!ACPI_REDUCED_HARDWARE) 64*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS); 65*29492bb7SDavid van Moolenbroek 66*29492bb7SDavid van Moolenbroek #endif /* !ACPI_REDUCED_HARDWARE */ 67*29492bb7SDavid van Moolenbroek 68*29492bb7SDavid van Moolenbroek /* These addresses are calculated from the FADT Event Block addresses */ 69*29492bb7SDavid van Moolenbroek 70*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aStatus); 71*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aEnable); 72*29492bb7SDavid van Moolenbroek 73*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bStatus); 74*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bEnable); 75433d6423SLionel Sambuc 76433d6423SLionel Sambuc /* 77*29492bb7SDavid van Moolenbroek * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is 78433d6423SLionel Sambuc * determined by the revision of the DSDT: If the DSDT revision is less than 79433d6423SLionel Sambuc * 2, use only the lower 32 bits of the internal 64-bit Integer. 80433d6423SLionel Sambuc */ 81*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_IntegerBitWidth); 82*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_IntegerByteWidth); 83*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_IntegerNybbleWidth); 84433d6423SLionel Sambuc 85433d6423SLionel Sambuc 86433d6423SLionel Sambuc /***************************************************************************** 87433d6423SLionel Sambuc * 88*29492bb7SDavid van Moolenbroek * Mutual exclusion within ACPICA subsystem 89433d6423SLionel Sambuc * 90433d6423SLionel Sambuc ****************************************************************************/ 91433d6423SLionel Sambuc 92433d6423SLionel Sambuc /* 93433d6423SLionel Sambuc * Predefined mutex objects. This array contains the 94433d6423SLionel Sambuc * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. 95433d6423SLionel Sambuc * (The table maps local handles to the real OS handles) 96433d6423SLionel Sambuc */ 97*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_MUTEX_INFO, AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]); 98433d6423SLionel Sambuc 99433d6423SLionel Sambuc /* 100433d6423SLionel Sambuc * Global lock mutex is an actual AML mutex object 101*29492bb7SDavid van Moolenbroek * Global lock semaphore works in conjunction with the actual global lock 102*29492bb7SDavid van Moolenbroek * Global lock spinlock is used for "pending" handshake 103433d6423SLionel Sambuc */ 104*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_OPERAND_OBJECT *, AcpiGbl_GlobalLockMutex); 105*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SEMAPHORE, AcpiGbl_GlobalLockSemaphore); 106*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GlobalLockPendingLock); 107*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_GlobalLockHandle); 108*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockAcquired); 109*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPresent); 110*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPending); 111433d6423SLionel Sambuc 112433d6423SLionel Sambuc /* 113433d6423SLionel Sambuc * Spinlocks are used for interfaces that can be possibly called at 114433d6423SLionel Sambuc * interrupt level 115433d6423SLionel Sambuc */ 116*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GpeLock); /* For GPE data structs and registers */ 117*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_HardwareLock); /* For ACPI H/W except GPE registers */ 118*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_ReferenceCountLock); 119*29492bb7SDavid van Moolenbroek 120*29492bb7SDavid van Moolenbroek /* Mutex for _OSI support */ 121*29492bb7SDavid van Moolenbroek 122*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_MUTEX, AcpiGbl_OsiMutex); 123433d6423SLionel Sambuc 124433d6423SLionel Sambuc /* Reader/Writer lock is used for namespace walk and dynamic table unload */ 125433d6423SLionel Sambuc 126*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_RW_LOCK, AcpiGbl_NamespaceRwLock); 127433d6423SLionel Sambuc 128433d6423SLionel Sambuc 129433d6423SLionel Sambuc /***************************************************************************** 130433d6423SLionel Sambuc * 131433d6423SLionel Sambuc * Miscellaneous globals 132433d6423SLionel Sambuc * 133433d6423SLionel Sambuc ****************************************************************************/ 134433d6423SLionel Sambuc 135433d6423SLionel Sambuc /* Object caches */ 136433d6423SLionel Sambuc 137*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_NamespaceCache); 138*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_StateCache); 139*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeCache); 140*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeExtCache); 141*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_OperandCache); 142*29492bb7SDavid van Moolenbroek 143*29492bb7SDavid van Moolenbroek /* System */ 144*29492bb7SDavid van Moolenbroek 145*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_StartupFlags, 0); 146*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_Shutdown, TRUE); 147433d6423SLionel Sambuc 148433d6423SLionel Sambuc /* Global handlers */ 149433d6423SLionel Sambuc 150*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]); 151*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER, AcpiGbl_ExceptionHandler); 152*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_INIT_HANDLER, AcpiGbl_InitHandler); 153*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_HANDLER, AcpiGbl_TableHandler); 154*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (void *, AcpiGbl_TableHandlerContext); 155*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_INTERFACE_HANDLER, AcpiGbl_InterfaceHandler); 156*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *, AcpiGbl_SciHandlerList); 157433d6423SLionel Sambuc 158433d6423SLionel Sambuc /* Owner ID support */ 159433d6423SLionel Sambuc 160*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]); 161*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_LastOwnerIdIndex); 162*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_NextOwnerIdOffset); 163*29492bb7SDavid van Moolenbroek 164*29492bb7SDavid van Moolenbroek /* Initialization sequencing */ 165*29492bb7SDavid van Moolenbroek 166*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_RegMethodsExecuted); 167433d6423SLionel Sambuc 168433d6423SLionel Sambuc /* Misc */ 169433d6423SLionel Sambuc 170*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_OriginalMode); 171*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_NsLookupCount); 172*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_PsFindCount); 173*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_Pm1EnableRegisterSave); 174*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_DebuggerConfiguration); 175*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_StepToNextCall); 176*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_AcpiHardwarePresent); 177*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_EventsInitialized); 178*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_INTERFACE_INFO *, AcpiGbl_SupportedInterfaces); 179*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_ADDRESS_RANGE *, AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]); 180433d6423SLionel Sambuc 181*29492bb7SDavid van Moolenbroek /* Other miscellaneous, declared and initialized in utglobal */ 182433d6423SLionel Sambuc 183433d6423SLionel Sambuc extern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT]; 184433d6423SLionel Sambuc extern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS]; 185433d6423SLionel Sambuc extern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS]; 186433d6423SLionel Sambuc extern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS]; 187*29492bb7SDavid van Moolenbroek extern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES]; 188433d6423SLionel Sambuc 189433d6423SLionel Sambuc 190433d6423SLionel Sambuc #ifdef ACPI_DBG_TRACK_ALLOCATIONS 191433d6423SLionel Sambuc 192*29492bb7SDavid van Moolenbroek /* Lists for tracking memory allocations (debug only) */ 193433d6423SLionel Sambuc 194*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_GlobalList); 195*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_NsNodeList); 196*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisplayFinalMemStats); 197*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisableMemTracking); 198433d6423SLionel Sambuc #endif 199433d6423SLionel Sambuc 200433d6423SLionel Sambuc 201433d6423SLionel Sambuc /***************************************************************************** 202433d6423SLionel Sambuc * 203433d6423SLionel Sambuc * Namespace globals 204433d6423SLionel Sambuc * 205433d6423SLionel Sambuc ****************************************************************************/ 206433d6423SLionel Sambuc 207433d6423SLionel Sambuc #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY) 208433d6423SLionel Sambuc #define NUM_PREDEFINED_NAMES 10 209433d6423SLionel Sambuc #else 210433d6423SLionel Sambuc #define NUM_PREDEFINED_NAMES 9 211433d6423SLionel Sambuc #endif 212433d6423SLionel Sambuc 213*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_NAMESPACE_NODE, AcpiGbl_RootNodeStruct); 214*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_RootNode); 215*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_FadtGpeDevice); 216*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_OPERAND_OBJECT *, AcpiGbl_ModuleCodeList); 217433d6423SLionel Sambuc 218433d6423SLionel Sambuc 219433d6423SLionel Sambuc extern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES]; 220433d6423SLionel Sambuc extern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES]; 221433d6423SLionel Sambuc 222433d6423SLionel Sambuc #ifdef ACPI_DEBUG_OUTPUT 223*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeCount); 224*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeSize); 225*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_MaxConcurrentNodeCount); 226*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_EntryStackPointer); 227*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_LowestStackPointer); 228*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_DeepestNesting); 229*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NestingLevel, 0); 230433d6423SLionel Sambuc #endif 231433d6423SLionel Sambuc 232433d6423SLionel Sambuc 233433d6423SLionel Sambuc /***************************************************************************** 234433d6423SLionel Sambuc * 235433d6423SLionel Sambuc * Interpreter globals 236433d6423SLionel Sambuc * 237433d6423SLionel Sambuc ****************************************************************************/ 238433d6423SLionel Sambuc 239*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_THREAD_STATE *, AcpiGbl_CurrentWalkList); 240433d6423SLionel Sambuc 241433d6423SLionel Sambuc /* Control method single step flag */ 242433d6423SLionel Sambuc 243*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_CmSingleStep); 244433d6423SLionel Sambuc 245433d6423SLionel Sambuc 246433d6423SLionel Sambuc /***************************************************************************** 247433d6423SLionel Sambuc * 248433d6423SLionel Sambuc * Hardware globals 249433d6423SLionel Sambuc * 250433d6423SLionel Sambuc ****************************************************************************/ 251433d6423SLionel Sambuc 252433d6423SLionel Sambuc extern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG]; 253*29492bb7SDavid van Moolenbroek 254*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeA); 255*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeB); 256433d6423SLionel Sambuc 257433d6423SLionel Sambuc 258433d6423SLionel Sambuc /***************************************************************************** 259433d6423SLionel Sambuc * 260433d6423SLionel Sambuc * Event and GPE globals 261433d6423SLionel Sambuc * 262433d6423SLionel Sambuc ****************************************************************************/ 263433d6423SLionel Sambuc 264*29492bb7SDavid van Moolenbroek #if (!ACPI_REDUCED_HARDWARE) 265433d6423SLionel Sambuc 266*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT8, AcpiGbl_AllGpesInitialized); 267*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *, AcpiGbl_GpeXruptListHead); 268*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *, AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]); 269*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER, AcpiGbl_GlobalEventHandler); 270*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (void *, AcpiGbl_GlobalEventHandlerContext); 271*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER, AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]); 272*29492bb7SDavid van Moolenbroek 273*29492bb7SDavid van Moolenbroek extern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS]; 274*29492bb7SDavid van Moolenbroek 275*29492bb7SDavid van Moolenbroek #endif /* !ACPI_REDUCED_HARDWARE */ 276433d6423SLionel Sambuc 277433d6423SLionel Sambuc /***************************************************************************** 278433d6423SLionel Sambuc * 279433d6423SLionel Sambuc * Debug support 280433d6423SLionel Sambuc * 281433d6423SLionel Sambuc ****************************************************************************/ 282433d6423SLionel Sambuc 283433d6423SLionel Sambuc /* Event counters */ 284433d6423SLionel Sambuc 285*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiMethodCount); 286*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGpeCount); 287*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiSciCount); 288*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]); 289433d6423SLionel Sambuc 290433d6423SLionel Sambuc /* Support for dynamic control method tracing mechanism */ 291433d6423SLionel Sambuc 292*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLevel); 293*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLayer); 294*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_TraceDbgLevel); 295*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_TraceDbgLayer); 296433d6423SLionel Sambuc 297433d6423SLionel Sambuc 298433d6423SLionel Sambuc /***************************************************************************** 299433d6423SLionel Sambuc * 300*29492bb7SDavid van Moolenbroek * Debugger and Disassembler globals 301433d6423SLionel Sambuc * 302433d6423SLionel Sambuc ****************************************************************************/ 303433d6423SLionel Sambuc 304*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT); 305433d6423SLionel Sambuc 306433d6423SLionel Sambuc #ifdef ACPI_DISASSEMBLER 307433d6423SLionel Sambuc 308*29492bb7SDavid van Moolenbroek /* Do not disassemble buffers to resource descriptors */ 309433d6423SLionel Sambuc 310*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_NoResourceDisassembly, FALSE); 311*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnoreNoopOperator, FALSE); 312*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CstyleDisassembly, TRUE); 313*29492bb7SDavid van Moolenbroek 314*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_disasm); 315*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_verbose); 316*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_NumExternalMethods); 317*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_ResolvedExternalMethods); 318*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_EXTERNAL_LIST *, AcpiGbl_ExternalList); 319*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_EXTERNAL_FILE *, AcpiGbl_ExternalFileList); 320*29492bb7SDavid van Moolenbroek #endif 321433d6423SLionel Sambuc 322433d6423SLionel Sambuc #ifdef ACPI_DEBUGGER 323433d6423SLionel Sambuc 324*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DbTerminateThreads, FALSE); 325*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_AbortMethod, FALSE); 326*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_MethodExecuting, FALSE); 327433d6423SLionel Sambuc 328*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_tables); 329*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_stats); 330*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_ini_methods); 331*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoRegionSupport); 332*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOutputToFile); 333*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char *, AcpiGbl_DbBuffer); 334*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char *, AcpiGbl_DbFilename); 335*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_DbDebugLevel); 336*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_DbConsoleDebugLevel); 337*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_DbScopeNode); 338433d6423SLionel Sambuc 339*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char *, AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]); 340*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_OBJECT_TYPE, AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]); 341*29492bb7SDavid van Moolenbroek 342*29492bb7SDavid van Moolenbroek /* These buffers should all be the same size */ 343*29492bb7SDavid van Moolenbroek 344*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char, AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]); 345*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char, AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]); 346*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char, AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]); 347*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char, AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]); 348433d6423SLionel Sambuc 349433d6423SLionel Sambuc /* 350433d6423SLionel Sambuc * Statistic globals 351433d6423SLionel Sambuc */ 352*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]); 353*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]); 354*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCountMisc); 355*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCountMisc); 356*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_NumNodes); 357*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiGbl_NumObjects); 358433d6423SLionel Sambuc 359433d6423SLionel Sambuc #endif /* ACPI_DEBUGGER */ 360433d6423SLionel Sambuc 361*29492bb7SDavid van Moolenbroek 362*29492bb7SDavid van Moolenbroek /***************************************************************************** 363*29492bb7SDavid van Moolenbroek * 364*29492bb7SDavid van Moolenbroek * Application globals 365*29492bb7SDavid van Moolenbroek * 366*29492bb7SDavid van Moolenbroek ****************************************************************************/ 367*29492bb7SDavid van Moolenbroek 368*29492bb7SDavid van Moolenbroek #ifdef ACPI_APPLICATION 369*29492bb7SDavid van Moolenbroek 370*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_DebugFile, NULL); 371*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_OutputFile, NULL); 372*29492bb7SDavid van Moolenbroek 373*29492bb7SDavid van Moolenbroek /* Print buffer */ 374*29492bb7SDavid van Moolenbroek 375*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_PrintLock); /* For print buffer */ 376*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (char, AcpiGbl_PrintBuffer[1024]); 377*29492bb7SDavid van Moolenbroek 378*29492bb7SDavid van Moolenbroek #endif /* ACPI_APPLICATION */ 379*29492bb7SDavid van Moolenbroek 380*29492bb7SDavid van Moolenbroek 381*29492bb7SDavid van Moolenbroek /***************************************************************************** 382*29492bb7SDavid van Moolenbroek * 383*29492bb7SDavid van Moolenbroek * Info/help support 384*29492bb7SDavid van Moolenbroek * 385*29492bb7SDavid van Moolenbroek ****************************************************************************/ 386*29492bb7SDavid van Moolenbroek 387*29492bb7SDavid van Moolenbroek extern const AH_PREDEFINED_NAME AslPredefinedInfo[]; 388*29492bb7SDavid van Moolenbroek extern const AH_DEVICE_ID AslDeviceIds[]; 389*29492bb7SDavid van Moolenbroek 390*29492bb7SDavid van Moolenbroek 391433d6423SLionel Sambuc #endif /* __ACGLOBAL_H__ */ 392