xref: /titanic_44/usr/src/uts/intel/sys/acpi/acglobal.h (revision cb56572868bfc488bbd3ab847b09db2a25554d44)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acglobal.h - Declarations for global variables
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
726f3cdf0SGordon Ross /*
8*cb565728SJerry Jelinek  * Copyright (C) 2000 - 2016, Intel Corp.
97c478bd9Sstevel@tonic-gate  * All rights reserved.
107c478bd9Sstevel@tonic-gate  *
1126f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
1226f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
1326f3cdf0SGordon Ross  * are met:
1426f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
1526f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
1626f3cdf0SGordon Ross  *    without modification.
1726f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1826f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
1926f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
2026f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
2126f3cdf0SGordon Ross  *    binary redistribution.
2226f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
2326f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
2426f3cdf0SGordon Ross  *    from this software without specific prior written permission.
257c478bd9Sstevel@tonic-gate  *
2626f3cdf0SGordon Ross  * Alternatively, this software may be distributed under the terms of the
2726f3cdf0SGordon Ross  * GNU General Public License ("GPL") version 2 as published by the Free
2826f3cdf0SGordon Ross  * Software Foundation.
297c478bd9Sstevel@tonic-gate  *
3026f3cdf0SGordon Ross  * NO WARRANTY
3126f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3226f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3326f3cdf0SGordon Ross  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
3426f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3526f3cdf0SGordon Ross  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3626f3cdf0SGordon Ross  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3726f3cdf0SGordon Ross  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3826f3cdf0SGordon Ross  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3926f3cdf0SGordon Ross  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4026f3cdf0SGordon Ross  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4126f3cdf0SGordon Ross  * POSSIBILITY OF SUCH DAMAGES.
4226f3cdf0SGordon Ross  */
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate #ifndef __ACGLOBAL_H__
457c478bd9Sstevel@tonic-gate #define __ACGLOBAL_H__
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate /*****************************************************************************
497c478bd9Sstevel@tonic-gate  *
50*cb565728SJerry Jelinek  * Globals related to the ACPI tables
517c478bd9Sstevel@tonic-gate  *
527c478bd9Sstevel@tonic-gate  ****************************************************************************/
537c478bd9Sstevel@tonic-gate 
54*cb565728SJerry Jelinek /* Master list of all ACPI tables that were found in the RSDT/XSDT */
557c478bd9Sstevel@tonic-gate 
56*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_LIST,           AcpiGbl_RootTableList);
57450d6964Smyers 
5826f3cdf0SGordon Ross /* DSDT information. Used to check for DSDT corruption */
5926f3cdf0SGordon Ross 
60*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HEADER *,       AcpiGbl_DSDT);
61*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HEADER,         AcpiGbl_OriginalDsdtHeader);
62*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_DsdtIndex, ACPI_INVALID_TABLE_INDEX);
63*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX);
64*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX);
65*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX);
66*cb565728SJerry Jelinek 
67*cb565728SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE)
68*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_FACS *,         AcpiGbl_FACS);
69*cb565728SJerry Jelinek 
70*cb565728SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */
71*cb565728SJerry Jelinek 
72*cb565728SJerry Jelinek /* These addresses are calculated from the FADT Event Block addresses */
73*cb565728SJerry Jelinek 
74*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aStatus);
75*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aEnable);
76*cb565728SJerry Jelinek 
77*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bStatus);
78*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bEnable);
7926f3cdf0SGordon Ross 
807c478bd9Sstevel@tonic-gate /*
81*cb565728SJerry Jelinek  * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is
82db2bae30SDana Myers  * determined by the revision of the DSDT: If the DSDT revision is less than
83db2bae30SDana Myers  * 2, use only the lower 32 bits of the internal 64-bit Integer.
847c478bd9Sstevel@tonic-gate  */
85*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerBitWidth);
86*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerByteWidth);
87*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerNybbleWidth);
887c478bd9Sstevel@tonic-gate 
8927f7c583Smyers 
9027f7c583Smyers /*****************************************************************************
9127f7c583Smyers  *
92*cb565728SJerry Jelinek  * Mutual exclusion within ACPICA subsystem
9327f7c583Smyers  *
9427f7c583Smyers  ****************************************************************************/
957c478bd9Sstevel@tonic-gate 
967c478bd9Sstevel@tonic-gate /*
977c478bd9Sstevel@tonic-gate  * Predefined mutex objects. This array contains the
987c478bd9Sstevel@tonic-gate  * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
997c478bd9Sstevel@tonic-gate  * (The table maps local handles to the real OS handles)
1007c478bd9Sstevel@tonic-gate  */
101*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX_INFO,           AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]);
10227f7c583Smyers 
10327f7c583Smyers /*
104db2bae30SDana Myers  * Global lock mutex is an actual AML mutex object
10526f3cdf0SGordon Ross  * Global lock semaphore works in conjunction with the actual global lock
10626f3cdf0SGordon Ross  * Global lock spinlock is used for "pending" handshake
10727f7c583Smyers  */
108*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_GlobalLockMutex);
109*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SEMAPHORE,            AcpiGbl_GlobalLockSemaphore);
110*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GlobalLockPendingLock);
111*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_GlobalLockHandle);
112*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockAcquired);
113*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPresent);
114*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPending);
11527f7c583Smyers 
11627f7c583Smyers /*
11727f7c583Smyers  * Spinlocks are used for interfaces that can be possibly called at
11827f7c583Smyers  * interrupt level
11927f7c583Smyers  */
120*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GpeLock);       /* For GPE data structs and registers */
121*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_HardwareLock);  /* For ACPI H/W except GPE registers */
122*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_ReferenceCountLock);
1237c478bd9Sstevel@tonic-gate 
12426f3cdf0SGordon Ross /* Mutex for _OSI support */
12526f3cdf0SGordon Ross 
126*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_OsiMutex);
12726f3cdf0SGordon Ross 
128aa2aa9a6SDana Myers /* Reader/Writer lock is used for namespace walk and dynamic table unload */
129aa2aa9a6SDana Myers 
130*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_RW_LOCK,              AcpiGbl_NamespaceRwLock);
131aa2aa9a6SDana Myers 
1327c478bd9Sstevel@tonic-gate 
1337c478bd9Sstevel@tonic-gate /*****************************************************************************
1347c478bd9Sstevel@tonic-gate  *
1357c478bd9Sstevel@tonic-gate  * Miscellaneous globals
1367c478bd9Sstevel@tonic-gate  *
1377c478bd9Sstevel@tonic-gate  ****************************************************************************/
1387c478bd9Sstevel@tonic-gate 
139450d6964Smyers /* Object caches */
140450d6964Smyers 
141*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_NamespaceCache);
142*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_StateCache);
143*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeCache);
144*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeExtCache);
145*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_OperandCache);
146*cb565728SJerry Jelinek 
147*cb565728SJerry Jelinek /* System */
148*cb565728SJerry Jelinek 
149*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_StartupFlags, 0);
150*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_Shutdown, TRUE);
151*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_EarlyInitialization, TRUE);
152450d6964Smyers 
153450d6964Smyers /* Global handlers */
154450d6964Smyers 
155*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
156*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER,    AcpiGbl_ExceptionHandler);
157*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_INIT_HANDLER,         AcpiGbl_InitHandler);
158*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HANDLER,        AcpiGbl_TableHandler);
159*cb565728SJerry Jelinek ACPI_GLOBAL (void *,                    AcpiGbl_TableHandlerContext);
160*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_INTERFACE_HANDLER,    AcpiGbl_InterfaceHandler);
161*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *,   AcpiGbl_SciHandlerList);
162db2bae30SDana Myers 
163db2bae30SDana Myers /* Owner ID support */
164db2bae30SDana Myers 
165*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
166*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_LastOwnerIdIndex);
167*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_NextOwnerIdOffset);
168db2bae30SDana Myers 
16926f3cdf0SGordon Ross /* Initialization sequencing */
17026f3cdf0SGordon Ross 
171*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_NamespaceInitialized, FALSE);
17226f3cdf0SGordon Ross 
173450d6964Smyers /* Misc */
174450d6964Smyers 
175*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
176*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
177*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_PsFindCount);
178*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_Pm1EnableRegisterSave);
179*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_DebuggerConfiguration);
180*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_StepToNextCall);
181*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_AcpiHardwarePresent);
182*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_EventsInitialized);
183*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_INTERFACE_INFO *,     AcpiGbl_SupportedInterfaces);
184*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_ADDRESS_RANGE *,      AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
1857c478bd9Sstevel@tonic-gate 
186*cb565728SJerry Jelinek /* Other miscellaneous, declared and initialized in utglobal */
187db2bae30SDana Myers 
1887c478bd9Sstevel@tonic-gate extern const char                      *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
18957190917SDana Myers extern const char                      *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
19057190917SDana Myers extern const char                      *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
1917c478bd9Sstevel@tonic-gate extern const char                      *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
192*cb565728SJerry Jelinek extern const char                       AcpiGbl_LowerHexDigits[];
193*cb565728SJerry Jelinek extern const char                       AcpiGbl_UpperHexDigits[];
194*cb565728SJerry Jelinek extern const ACPI_OPCODE_INFO           AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
195db2bae30SDana Myers 
196db2bae30SDana Myers 
197db2bae30SDana Myers #ifdef ACPI_DBG_TRACK_ALLOCATIONS
198db2bae30SDana Myers 
199*cb565728SJerry Jelinek /* Lists for tracking memory allocations (debug only) */
200db2bae30SDana Myers 
201*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
202*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
203*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
204*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisableMemTracking);
205db2bae30SDana Myers #endif
2067c478bd9Sstevel@tonic-gate 
2077c478bd9Sstevel@tonic-gate 
2087c478bd9Sstevel@tonic-gate /*****************************************************************************
2097c478bd9Sstevel@tonic-gate  *
2107c478bd9Sstevel@tonic-gate  * Namespace globals
2117c478bd9Sstevel@tonic-gate  *
2127c478bd9Sstevel@tonic-gate  ****************************************************************************/
2137c478bd9Sstevel@tonic-gate 
2147c478bd9Sstevel@tonic-gate #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
2157c478bd9Sstevel@tonic-gate #define NUM_PREDEFINED_NAMES            10
2167c478bd9Sstevel@tonic-gate #else
2177c478bd9Sstevel@tonic-gate #define NUM_PREDEFINED_NAMES            9
2187c478bd9Sstevel@tonic-gate #endif
2197c478bd9Sstevel@tonic-gate 
220*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE,       AcpiGbl_RootNodeStruct);
221*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_RootNode);
222*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
223*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_ModuleCodeList);
22457190917SDana Myers 
2257c478bd9Sstevel@tonic-gate 
226db2bae30SDana Myers extern const UINT8                      AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
2277c478bd9Sstevel@tonic-gate extern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
2287c478bd9Sstevel@tonic-gate 
2297c478bd9Sstevel@tonic-gate #ifdef ACPI_DEBUG_OUTPUT
230*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
231*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
232*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
233*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
234*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
235*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
236*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_NestingLevel, 0);
2377c478bd9Sstevel@tonic-gate #endif
2387c478bd9Sstevel@tonic-gate 
2397c478bd9Sstevel@tonic-gate 
2407c478bd9Sstevel@tonic-gate /*****************************************************************************
2417c478bd9Sstevel@tonic-gate  *
2427c478bd9Sstevel@tonic-gate  * Interpreter globals
2437c478bd9Sstevel@tonic-gate  *
2447c478bd9Sstevel@tonic-gate  ****************************************************************************/
2457c478bd9Sstevel@tonic-gate 
246*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
2477c478bd9Sstevel@tonic-gate 
248*cb565728SJerry Jelinek /* Maximum number of While() loop iterations before forced abort */
249*cb565728SJerry Jelinek 
250*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_MaxLoopIterations);
2517c478bd9Sstevel@tonic-gate 
2527c478bd9Sstevel@tonic-gate /* Control method single step flag */
2537c478bd9Sstevel@tonic-gate 
254*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_CmSingleStep);
2557c478bd9Sstevel@tonic-gate 
2567c478bd9Sstevel@tonic-gate 
2577c478bd9Sstevel@tonic-gate /*****************************************************************************
2587c478bd9Sstevel@tonic-gate  *
2597c478bd9Sstevel@tonic-gate  * Hardware globals
2607c478bd9Sstevel@tonic-gate  *
2617c478bd9Sstevel@tonic-gate  ****************************************************************************/
2627c478bd9Sstevel@tonic-gate 
2637c478bd9Sstevel@tonic-gate extern ACPI_BIT_REGISTER_INFO           AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
264*cb565728SJerry Jelinek 
265*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
266*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeB);
2677c478bd9Sstevel@tonic-gate 
2687c478bd9Sstevel@tonic-gate 
2697c478bd9Sstevel@tonic-gate /*****************************************************************************
2707c478bd9Sstevel@tonic-gate  *
2717c478bd9Sstevel@tonic-gate  * Event and GPE globals
2727c478bd9Sstevel@tonic-gate  *
2737c478bd9Sstevel@tonic-gate  ****************************************************************************/
2747c478bd9Sstevel@tonic-gate 
275*cb565728SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE)
276*cb565728SJerry Jelinek 
277*cb565728SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
278*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
279*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,     AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
280*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
281*cb565728SJerry Jelinek ACPI_GLOBAL (void *,                    AcpiGbl_GlobalEventHandlerContext);
282*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER,  AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
283*cb565728SJerry Jelinek 
28426f3cdf0SGordon Ross extern ACPI_FIXED_EVENT_INFO            AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
2857c478bd9Sstevel@tonic-gate 
286*cb565728SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */
2877c478bd9Sstevel@tonic-gate 
2887c478bd9Sstevel@tonic-gate /*****************************************************************************
2897c478bd9Sstevel@tonic-gate  *
290db2bae30SDana Myers  * Debug support
291db2bae30SDana Myers  *
292db2bae30SDana Myers  ****************************************************************************/
293db2bae30SDana Myers 
294db2bae30SDana Myers /* Event counters */
295db2bae30SDana Myers 
296*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiMethodCount);
297*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGpeCount);
298*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiSciCount);
299*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
300db2bae30SDana Myers 
301db2bae30SDana Myers /* Support for dynamic control method tracing mechanism */
302db2bae30SDana Myers 
303*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
304*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
305db2bae30SDana Myers 
306db2bae30SDana Myers 
307db2bae30SDana Myers /*****************************************************************************
308db2bae30SDana Myers  *
309*cb565728SJerry Jelinek  * Debugger and Disassembler globals
3107c478bd9Sstevel@tonic-gate  *
3117c478bd9Sstevel@tonic-gate  ****************************************************************************/
3127c478bd9Sstevel@tonic-gate 
313*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT);
3147c478bd9Sstevel@tonic-gate 
3157c478bd9Sstevel@tonic-gate #ifdef ACPI_DISASSEMBLER
3167c478bd9Sstevel@tonic-gate 
317*cb565728SJerry Jelinek /* Do not disassemble buffers to resource descriptors */
3187c478bd9Sstevel@tonic-gate 
319*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_NoResourceDisassembly, FALSE);
320*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_IgnoreNoopOperator, FALSE);
321*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_CstyleDisassembly, TRUE);
322*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_ForceAmlDisassembly, FALSE);
323*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DmOpt_Verbose, TRUE);
324*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DmEmitExternalOpcodes, FALSE);
325*cb565728SJerry Jelinek 
326*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Disasm);
327*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Listing);
328*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_NumExternalMethods);
329*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_ResolvedExternalMethods);
330*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_EXTERNAL_LIST *,      AcpiGbl_ExternalList);
331*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,      AcpiGbl_ExternalFileList);
332*cb565728SJerry Jelinek #endif
3337c478bd9Sstevel@tonic-gate 
3347c478bd9Sstevel@tonic-gate #ifdef ACPI_DEBUGGER
3357c478bd9Sstevel@tonic-gate 
336*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
337*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_MethodExecuting, FALSE);
338*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_THREAD_ID,       AcpiGbl_DbThreadId, ACPI_INVALID_THREAD_ID);
3397c478bd9Sstevel@tonic-gate 
340*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoIniMethods);
341*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoRegionSupport);
342*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOutputToFile);
343*cb565728SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbBuffer);
344*cb565728SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbFilename);
345*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DbDebugLevel);
346*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DbConsoleDebugLevel);
347*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
348*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbTerminateLoop);
349*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbThreadsTerminated);
3507c478bd9Sstevel@tonic-gate 
351*cb565728SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
352*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_OBJECT_TYPE,          AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
353*cb565728SJerry Jelinek 
354*cb565728SJerry Jelinek /* These buffers should all be the same size */
355*cb565728SJerry Jelinek 
356*cb565728SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
357*cb565728SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
358*cb565728SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
359*cb565728SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
3607c478bd9Sstevel@tonic-gate 
3617c478bd9Sstevel@tonic-gate /*
3627c478bd9Sstevel@tonic-gate  * Statistic globals
3637c478bd9Sstevel@tonic-gate  */
364*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]);
365*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]);
366*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
367*cb565728SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
368*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
369*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
3707c478bd9Sstevel@tonic-gate 
371*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_DbCommandReady);
372*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_DbCommandComplete);
3737c478bd9Sstevel@tonic-gate 
3747c478bd9Sstevel@tonic-gate #endif /* ACPI_DEBUGGER */
3757c478bd9Sstevel@tonic-gate 
376*cb565728SJerry Jelinek #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
377*cb565728SJerry Jelinek 
378*cb565728SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldPanelList[]);
379*cb565728SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldVerticalPositionList[]);
380*cb565728SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldHorizontalPositionList[]);
381*cb565728SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldShapeList[]);
382*cb565728SJerry Jelinek 
383*cb565728SJerry Jelinek #endif
384*cb565728SJerry Jelinek 
385*cb565728SJerry Jelinek /*****************************************************************************
386*cb565728SJerry Jelinek  *
387*cb565728SJerry Jelinek  * Application globals
388*cb565728SJerry Jelinek  *
389*cb565728SJerry Jelinek  ****************************************************************************/
390*cb565728SJerry Jelinek 
391*cb565728SJerry Jelinek #ifdef ACPI_APPLICATION
392*cb565728SJerry Jelinek 
393*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
394*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_OutputFile, NULL);
395*cb565728SJerry Jelinek 
396*cb565728SJerry Jelinek /* Print buffer */
397*cb565728SJerry Jelinek 
398*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_PrintLock);     /* For print buffer */
399*cb565728SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_PrintBuffer[1024]);
400*cb565728SJerry Jelinek 
401*cb565728SJerry Jelinek #endif /* ACPI_APPLICATION */
402*cb565728SJerry Jelinek 
403*cb565728SJerry Jelinek 
404*cb565728SJerry Jelinek /*****************************************************************************
405*cb565728SJerry Jelinek  *
406*cb565728SJerry Jelinek  * Info/help support
407*cb565728SJerry Jelinek  *
408*cb565728SJerry Jelinek  ****************************************************************************/
409*cb565728SJerry Jelinek 
410*cb565728SJerry Jelinek extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
411*cb565728SJerry Jelinek extern const AH_DEVICE_ID               AslDeviceIds[];
412*cb565728SJerry Jelinek 
413*cb565728SJerry Jelinek 
4147c478bd9Sstevel@tonic-gate #endif /* __ACGLOBAL_H__ */
415