xref: /dflybsd-src/sys/contrib/dev/acpica/source/include/acglobal.h (revision 5f39c7e70ca0960d1868c75a449064df712dbb10)
10d02842fSSascha Wildner /******************************************************************************
20d02842fSSascha Wildner  *
30d02842fSSascha Wildner  * Name: acglobal.h - Declarations for global variables
40d02842fSSascha Wildner  *
50d02842fSSascha Wildner  *****************************************************************************/
60d02842fSSascha Wildner 
70d02842fSSascha Wildner /*
820294b7eSSascha Wildner  * Copyright (C) 2000 - 2014, Intel Corp.
90d02842fSSascha Wildner  * All rights reserved.
100d02842fSSascha Wildner  *
110d02842fSSascha Wildner  * Redistribution and use in source and binary forms, with or without
120d02842fSSascha Wildner  * modification, are permitted provided that the following conditions
130d02842fSSascha Wildner  * are met:
140d02842fSSascha Wildner  * 1. Redistributions of source code must retain the above copyright
150d02842fSSascha Wildner  *    notice, this list of conditions, and the following disclaimer,
160d02842fSSascha Wildner  *    without modification.
170d02842fSSascha Wildner  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
180d02842fSSascha Wildner  *    substantially similar to the "NO WARRANTY" disclaimer below
190d02842fSSascha Wildner  *    ("Disclaimer") and any redistribution must be conditioned upon
200d02842fSSascha Wildner  *    including a substantially similar Disclaimer requirement for further
210d02842fSSascha Wildner  *    binary redistribution.
220d02842fSSascha Wildner  * 3. Neither the names of the above-listed copyright holders nor the names
230d02842fSSascha Wildner  *    of any contributors may be used to endorse or promote products derived
240d02842fSSascha Wildner  *    from this software without specific prior written permission.
250d02842fSSascha Wildner  *
260d02842fSSascha Wildner  * Alternatively, this software may be distributed under the terms of the
270d02842fSSascha Wildner  * GNU General Public License ("GPL") version 2 as published by the Free
280d02842fSSascha Wildner  * Software Foundation.
290d02842fSSascha Wildner  *
300d02842fSSascha Wildner  * NO WARRANTY
310d02842fSSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
320d02842fSSascha Wildner  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
330d02842fSSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
340d02842fSSascha Wildner  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
350d02842fSSascha Wildner  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
360d02842fSSascha Wildner  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
370d02842fSSascha Wildner  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
380d02842fSSascha Wildner  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
390d02842fSSascha Wildner  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
400d02842fSSascha Wildner  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
410d02842fSSascha Wildner  * POSSIBILITY OF SUCH DAMAGES.
420d02842fSSascha Wildner  */
430d02842fSSascha Wildner 
440d02842fSSascha Wildner #ifndef __ACGLOBAL_H__
450d02842fSSascha Wildner #define __ACGLOBAL_H__
460d02842fSSascha Wildner 
470d02842fSSascha Wildner 
480d02842fSSascha Wildner /*****************************************************************************
490d02842fSSascha Wildner  *
509e1c0880SSascha Wildner  * Globals related to the ACPI tables
510d02842fSSascha Wildner  *
520d02842fSSascha Wildner  ****************************************************************************/
530d02842fSSascha Wildner 
549e1c0880SSascha Wildner /* Master list of all ACPI tables that were found in the RSDT/XSDT */
550d02842fSSascha Wildner 
566a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_LIST,           AcpiGbl_RootTableList);
576a0135c2SSascha Wildner 
586a0135c2SSascha Wildner /* DSDT information. Used to check for DSDT corruption */
596a0135c2SSascha Wildner 
606a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_HEADER *,       AcpiGbl_DSDT);
616a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_HEADER,         AcpiGbl_OriginalDsdtHeader);
620d02842fSSascha Wildner 
630d02842fSSascha Wildner #if (!ACPI_REDUCED_HARDWARE)
646a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_FACS *,         AcpiGbl_FACS);
650d02842fSSascha Wildner 
660d02842fSSascha Wildner #endif /* !ACPI_REDUCED_HARDWARE */
670d02842fSSascha Wildner 
680d02842fSSascha Wildner /* These addresses are calculated from the FADT Event Block addresses */
690d02842fSSascha Wildner 
706a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aStatus);
716a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aEnable);
720d02842fSSascha Wildner 
736a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bStatus);
746a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bEnable);
750d02842fSSascha Wildner 
760d02842fSSascha Wildner /*
776a0135c2SSascha Wildner  * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is
780d02842fSSascha Wildner  * determined by the revision of the DSDT: If the DSDT revision is less than
790d02842fSSascha Wildner  * 2, use only the lower 32 bits of the internal 64-bit Integer.
800d02842fSSascha Wildner  */
816a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerBitWidth);
826a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerByteWidth);
836a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerNybbleWidth);
840d02842fSSascha Wildner 
850d02842fSSascha Wildner 
860d02842fSSascha Wildner /*****************************************************************************
870d02842fSSascha Wildner  *
880d02842fSSascha Wildner  * Mutual exclusion within ACPICA subsystem
890d02842fSSascha Wildner  *
900d02842fSSascha Wildner  ****************************************************************************/
910d02842fSSascha Wildner 
920d02842fSSascha Wildner /*
930d02842fSSascha Wildner  * Predefined mutex objects. This array contains the
940d02842fSSascha Wildner  * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
950d02842fSSascha Wildner  * (The table maps local handles to the real OS handles)
960d02842fSSascha Wildner  */
976a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_MUTEX_INFO,           AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]);
980d02842fSSascha Wildner 
990d02842fSSascha Wildner /*
1000d02842fSSascha Wildner  * Global lock mutex is an actual AML mutex object
1010d02842fSSascha Wildner  * Global lock semaphore works in conjunction with the actual global lock
1020d02842fSSascha Wildner  * Global lock spinlock is used for "pending" handshake
1030d02842fSSascha Wildner  */
1046a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_GlobalLockMutex);
1056a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SEMAPHORE,            AcpiGbl_GlobalLockSemaphore);
1066a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GlobalLockPendingLock);
1076a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_GlobalLockHandle);
1086a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockAcquired);
1096a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPresent);
1106a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPending);
1110d02842fSSascha Wildner 
1120d02842fSSascha Wildner /*
1130d02842fSSascha Wildner  * Spinlocks are used for interfaces that can be possibly called at
1140d02842fSSascha Wildner  * interrupt level
1150d02842fSSascha Wildner  */
1166a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GpeLock);       /* For GPE data structs and registers */
1176a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_HardwareLock);  /* For ACPI H/W except GPE registers */
1186a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_ReferenceCountLock);
1190d02842fSSascha Wildner 
1200d02842fSSascha Wildner /* Mutex for _OSI support */
1210d02842fSSascha Wildner 
1226a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_OsiMutex);
1230d02842fSSascha Wildner 
1240d02842fSSascha Wildner /* Reader/Writer lock is used for namespace walk and dynamic table unload */
1250d02842fSSascha Wildner 
1266a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_RW_LOCK,              AcpiGbl_NamespaceRwLock);
1270d02842fSSascha Wildner 
1280d02842fSSascha Wildner 
1290d02842fSSascha Wildner /*****************************************************************************
1300d02842fSSascha Wildner  *
1310d02842fSSascha Wildner  * Miscellaneous globals
1320d02842fSSascha Wildner  *
1330d02842fSSascha Wildner  ****************************************************************************/
1340d02842fSSascha Wildner 
1350d02842fSSascha Wildner /* Object caches */
1360d02842fSSascha Wildner 
1376a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_NamespaceCache);
1386a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_StateCache);
1396a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeCache);
1406a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeExtCache);
1416a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_OperandCache);
1426a0135c2SSascha Wildner 
1436a0135c2SSascha Wildner /* System */
1446a0135c2SSascha Wildner 
1456a0135c2SSascha Wildner ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_StartupFlags, 0);
1466a0135c2SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_Shutdown, TRUE);
1470d02842fSSascha Wildner 
1480d02842fSSascha Wildner /* Global handlers */
1490d02842fSSascha Wildner 
1506a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
1516a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER,    AcpiGbl_ExceptionHandler);
1526a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_INIT_HANDLER,         AcpiGbl_InitHandler);
1536a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_HANDLER,        AcpiGbl_TableHandler);
1546a0135c2SSascha Wildner ACPI_GLOBAL (void *,                    AcpiGbl_TableHandlerContext);
1556a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_INTERFACE_HANDLER,    AcpiGbl_InterfaceHandler);
1566a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *,   AcpiGbl_SciHandlerList);
1570d02842fSSascha Wildner 
1580d02842fSSascha Wildner /* Owner ID support */
1590d02842fSSascha Wildner 
1606a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
1616a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_LastOwnerIdIndex);
1626a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_NextOwnerIdOffset);
1630d02842fSSascha Wildner 
1640d02842fSSascha Wildner /* Initialization sequencing */
1650d02842fSSascha Wildner 
1666a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_RegMethodsExecuted);
1670d02842fSSascha Wildner 
1680d02842fSSascha Wildner /* Misc */
1690d02842fSSascha Wildner 
1706a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
1716a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
1726a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_PsFindCount);
1736a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_Pm1EnableRegisterSave);
1746a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_DebuggerConfiguration);
1756a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_StepToNextCall);
1766a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_AcpiHardwarePresent);
1776a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_EventsInitialized);
1786a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_INTERFACE_INFO *,     AcpiGbl_SupportedInterfaces);
1796a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_ADDRESS_RANGE *,      AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
1800d02842fSSascha Wildner 
1816a0135c2SSascha Wildner /* Other miscellaneous, declared and initialized in utglobal */
1820d02842fSSascha Wildner 
1830d02842fSSascha Wildner extern const char                      *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
1840d02842fSSascha Wildner extern const char                      *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
1850d02842fSSascha Wildner extern const char                      *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
1860d02842fSSascha Wildner extern const char                      *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
1876a0135c2SSascha Wildner extern const ACPI_OPCODE_INFO           AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
1880d02842fSSascha Wildner 
1890d02842fSSascha Wildner 
1900d02842fSSascha Wildner #ifdef ACPI_DBG_TRACK_ALLOCATIONS
1910d02842fSSascha Wildner 
1926a0135c2SSascha Wildner /* Lists for tracking memory allocations (debug only) */
1930d02842fSSascha Wildner 
1946a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
1956a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
1966a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
1976a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisableMemTracking);
1980d02842fSSascha Wildner #endif
1990d02842fSSascha Wildner 
2000d02842fSSascha Wildner 
2010d02842fSSascha Wildner /*****************************************************************************
2020d02842fSSascha Wildner  *
2030d02842fSSascha Wildner  * Namespace globals
2040d02842fSSascha Wildner  *
2050d02842fSSascha Wildner  ****************************************************************************/
2060d02842fSSascha Wildner 
2070d02842fSSascha Wildner #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
2080d02842fSSascha Wildner #define NUM_PREDEFINED_NAMES            10
2090d02842fSSascha Wildner #else
2100d02842fSSascha Wildner #define NUM_PREDEFINED_NAMES            9
2110d02842fSSascha Wildner #endif
2120d02842fSSascha Wildner 
2136a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_NAMESPACE_NODE,       AcpiGbl_RootNodeStruct);
2146a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_RootNode);
2156a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
2166a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_ModuleCodeList);
2170d02842fSSascha Wildner 
2180d02842fSSascha Wildner 
2190d02842fSSascha Wildner extern const UINT8                      AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
2200d02842fSSascha Wildner extern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
2210d02842fSSascha Wildner 
2220d02842fSSascha Wildner #ifdef ACPI_DEBUG_OUTPUT
2236a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
2246a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
2256a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
2266a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
2276a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
2286a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
2296a0135c2SSascha Wildner ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_NestingLevel, 0);
2300d02842fSSascha Wildner #endif
2310d02842fSSascha Wildner 
2320d02842fSSascha Wildner 
2330d02842fSSascha Wildner /*****************************************************************************
2340d02842fSSascha Wildner  *
2350d02842fSSascha Wildner  * Interpreter globals
2360d02842fSSascha Wildner  *
2370d02842fSSascha Wildner  ****************************************************************************/
2380d02842fSSascha Wildner 
2396a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
2400d02842fSSascha Wildner 
2410d02842fSSascha Wildner /* Control method single step flag */
2420d02842fSSascha Wildner 
2436a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_CmSingleStep);
2440d02842fSSascha Wildner 
2450d02842fSSascha Wildner 
2460d02842fSSascha Wildner /*****************************************************************************
2470d02842fSSascha Wildner  *
2480d02842fSSascha Wildner  * Hardware globals
2490d02842fSSascha Wildner  *
2500d02842fSSascha Wildner  ****************************************************************************/
2510d02842fSSascha Wildner 
2520d02842fSSascha Wildner extern ACPI_BIT_REGISTER_INFO           AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
2536a0135c2SSascha Wildner 
2546a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
2556a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeB);
2560d02842fSSascha Wildner 
2570d02842fSSascha Wildner 
2580d02842fSSascha Wildner /*****************************************************************************
2590d02842fSSascha Wildner  *
2600d02842fSSascha Wildner  * Event and GPE globals
2610d02842fSSascha Wildner  *
2620d02842fSSascha Wildner  ****************************************************************************/
2630d02842fSSascha Wildner 
2640d02842fSSascha Wildner #if (!ACPI_REDUCED_HARDWARE)
2650d02842fSSascha Wildner 
2666a0135c2SSascha Wildner ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
2676a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
2686a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,     AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
2696a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
2706a0135c2SSascha Wildner ACPI_GLOBAL (void *,                    AcpiGbl_GlobalEventHandlerContext);
2716a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER,  AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
2726a0135c2SSascha Wildner 
2730d02842fSSascha Wildner extern ACPI_FIXED_EVENT_INFO            AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
2740d02842fSSascha Wildner 
2750d02842fSSascha Wildner #endif /* !ACPI_REDUCED_HARDWARE */
2760d02842fSSascha Wildner 
2770d02842fSSascha Wildner /*****************************************************************************
2780d02842fSSascha Wildner  *
2790d02842fSSascha Wildner  * Debug support
2800d02842fSSascha Wildner  *
2810d02842fSSascha Wildner  ****************************************************************************/
2820d02842fSSascha Wildner 
2830d02842fSSascha Wildner /* Event counters */
2840d02842fSSascha Wildner 
2856a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiMethodCount);
2866a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGpeCount);
2876a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiSciCount);
2886a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
2890d02842fSSascha Wildner 
2900d02842fSSascha Wildner /* Support for dynamic control method tracing mechanism */
2910d02842fSSascha Wildner 
2926a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
2936a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
2946a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLevel);
2956a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLayer);
2960d02842fSSascha Wildner 
2970d02842fSSascha Wildner 
2980d02842fSSascha Wildner /*****************************************************************************
2990d02842fSSascha Wildner  *
3000d02842fSSascha Wildner  * Debugger and Disassembler globals
3010d02842fSSascha Wildner  *
3020d02842fSSascha Wildner  ****************************************************************************/
3030d02842fSSascha Wildner 
304*5f39c7e7SSascha Wildner ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT);
3050d02842fSSascha Wildner 
3060d02842fSSascha Wildner #ifdef ACPI_DISASSEMBLER
3070d02842fSSascha Wildner 
3086a0135c2SSascha Wildner /* Do not disassemble buffers to resource descriptors */
3090d02842fSSascha Wildner 
3106a0135c2SSascha Wildner ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_NoResourceDisassembly, FALSE);
3116a0135c2SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_IgnoreNoopOperator, FALSE);
3126a0135c2SSascha Wildner 
3136a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_disasm);
3146a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_verbose);
3156a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_NumExternalMethods);
3166a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_ResolvedExternalMethods);
3176a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_EXTERNAL_LIST *,      AcpiGbl_ExternalList);
3186a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,      AcpiGbl_ExternalFileList);
3190d02842fSSascha Wildner #endif
3200d02842fSSascha Wildner 
3210d02842fSSascha Wildner #ifdef ACPI_DEBUGGER
3220d02842fSSascha Wildner 
3236a0135c2SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DbTerminateThreads, FALSE);
3246a0135c2SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
3256a0135c2SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_MethodExecuting, FALSE);
3260d02842fSSascha Wildner 
3276a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_tables);
3286a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_stats);
3296a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_ini_methods);
3306a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoRegionSupport);
3316a0135c2SSascha Wildner ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOutputToFile);
3326a0135c2SSascha Wildner ACPI_GLOBAL (char *,                    AcpiGbl_DbBuffer);
3336a0135c2SSascha Wildner ACPI_GLOBAL (char *,                    AcpiGbl_DbFilename);
3346a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_DbDebugLevel);
3356a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_DbConsoleDebugLevel);
3366a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
3370d02842fSSascha Wildner 
3386a0135c2SSascha Wildner ACPI_GLOBAL (char *,                    AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
3396a0135c2SSascha Wildner ACPI_GLOBAL (ACPI_OBJECT_TYPE,          AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
3400d02842fSSascha Wildner 
3410d02842fSSascha Wildner /* These buffers should all be the same size */
3420d02842fSSascha Wildner 
3436a0135c2SSascha Wildner ACPI_GLOBAL (char,                      AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
3446a0135c2SSascha Wildner ACPI_GLOBAL (char,                      AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
3456a0135c2SSascha Wildner ACPI_GLOBAL (char,                      AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
3466a0135c2SSascha Wildner ACPI_GLOBAL (char,                      AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
3470d02842fSSascha Wildner 
3480d02842fSSascha Wildner /*
3490d02842fSSascha Wildner  * Statistic globals
3500d02842fSSascha Wildner  */
3516a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
3526a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
3536a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
3546a0135c2SSascha Wildner ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
3556a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
3566a0135c2SSascha Wildner ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
3570d02842fSSascha Wildner 
3580d02842fSSascha Wildner #endif /* ACPI_DEBUGGER */
3590d02842fSSascha Wildner 
3600d02842fSSascha Wildner 
3610d02842fSSascha Wildner /*****************************************************************************
3620d02842fSSascha Wildner  *
3630d02842fSSascha Wildner  * Application globals
3640d02842fSSascha Wildner  *
3650d02842fSSascha Wildner  ****************************************************************************/
3660d02842fSSascha Wildner 
3670d02842fSSascha Wildner #ifdef ACPI_APPLICATION
3680d02842fSSascha Wildner 
3696a0135c2SSascha Wildner ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
370*5f39c7e7SSascha Wildner ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_OutputFile, NULL);
371*5f39c7e7SSascha Wildner 
372*5f39c7e7SSascha Wildner /* Print buffer */
373*5f39c7e7SSascha Wildner 
374*5f39c7e7SSascha Wildner ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_PrintLock);     /* For print buffer */
375*5f39c7e7SSascha Wildner ACPI_GLOBAL (char,                      AcpiGbl_PrintBuffer[1024]);
3760d02842fSSascha Wildner 
3770d02842fSSascha Wildner #endif /* ACPI_APPLICATION */
3780d02842fSSascha Wildner 
3790d02842fSSascha Wildner 
3800d02842fSSascha Wildner /*****************************************************************************
3810d02842fSSascha Wildner  *
3820d02842fSSascha Wildner  * Info/help support
3830d02842fSSascha Wildner  *
3840d02842fSSascha Wildner  ****************************************************************************/
3850d02842fSSascha Wildner 
3860d02842fSSascha Wildner extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
387d4972a9cSSascha Wildner extern const AH_DEVICE_ID               AslDeviceIds[];
3880d02842fSSascha Wildner 
3890d02842fSSascha Wildner 
3900d02842fSSascha Wildner #endif /* __ACGLOBAL_H__ */
391