xref: /titanic_41/usr/src/uts/intel/sys/acpi/acglobal.h (revision de5d74c22760a6d2cefd94d0e7f0fd87214fb71f)
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*de5d74c2SJerry 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*de5d74c2SJerry Jelinek  * Globals related to the ACPI tables
517c478bd9Sstevel@tonic-gate  *
527c478bd9Sstevel@tonic-gate  ****************************************************************************/
537c478bd9Sstevel@tonic-gate 
54*de5d74c2SJerry Jelinek /* Master list of all ACPI tables that were found in the RSDT/XSDT */
557c478bd9Sstevel@tonic-gate 
56*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_LIST,           AcpiGbl_RootTableList);
57450d6964Smyers 
5826f3cdf0SGordon Ross /* DSDT information. Used to check for DSDT corruption */
5926f3cdf0SGordon Ross 
60*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HEADER *,       AcpiGbl_DSDT);
61*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HEADER,         AcpiGbl_OriginalDsdtHeader);
62*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_DsdtIndex, ACPI_INVALID_TABLE_INDEX);
63*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX);
64*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX);
65*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX);
66*de5d74c2SJerry Jelinek 
67*de5d74c2SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE)
68*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_FACS *,         AcpiGbl_FACS);
69*de5d74c2SJerry Jelinek 
70*de5d74c2SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */
71*de5d74c2SJerry Jelinek 
72*de5d74c2SJerry Jelinek /* These addresses are calculated from the FADT Event Block addresses */
73*de5d74c2SJerry Jelinek 
74*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aStatus);
75*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aEnable);
76*de5d74c2SJerry Jelinek 
77*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bStatus);
78*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bEnable);
7926f3cdf0SGordon Ross 
807c478bd9Sstevel@tonic-gate /*
81*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerBitWidth);
86*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerByteWidth);
87*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerNybbleWidth);
887c478bd9Sstevel@tonic-gate 
8927f7c583Smyers 
9027f7c583Smyers /*****************************************************************************
9127f7c583Smyers  *
92*de5d74c2SJerry 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*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_GlobalLockMutex);
109*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SEMAPHORE,            AcpiGbl_GlobalLockSemaphore);
110*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GlobalLockPendingLock);
111*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_GlobalLockHandle);
112*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockAcquired);
113*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPresent);
114*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GpeLock);       /* For GPE data structs and registers */
121*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_HardwareLock);  /* For ACPI H/W except GPE registers */
122*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_ReferenceCountLock);
1237c478bd9Sstevel@tonic-gate 
12426f3cdf0SGordon Ross /* Mutex for _OSI support */
12526f3cdf0SGordon Ross 
126*de5d74c2SJerry 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*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_NamespaceCache);
142*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_StateCache);
143*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeCache);
144*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeExtCache);
145*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_OperandCache);
146*de5d74c2SJerry Jelinek 
147*de5d74c2SJerry Jelinek /* System */
148*de5d74c2SJerry Jelinek 
149*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_StartupFlags, 0);
150*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_Shutdown, TRUE);
151*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_EarlyInitialization, TRUE);
152450d6964Smyers 
153450d6964Smyers /* Global handlers */
154450d6964Smyers 
155*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
156*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER,    AcpiGbl_ExceptionHandler);
157*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_INIT_HANDLER,         AcpiGbl_InitHandler);
158*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_HANDLER,        AcpiGbl_TableHandler);
159*de5d74c2SJerry Jelinek ACPI_GLOBAL (void *,                    AcpiGbl_TableHandlerContext);
160*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_INTERFACE_HANDLER,    AcpiGbl_InterfaceHandler);
161*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *,   AcpiGbl_SciHandlerList);
162db2bae30SDana Myers 
163db2bae30SDana Myers /* Owner ID support */
164db2bae30SDana Myers 
165*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
166*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_LastOwnerIdIndex);
167*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_NextOwnerIdOffset);
168db2bae30SDana Myers 
16926f3cdf0SGordon Ross /* Initialization sequencing */
17026f3cdf0SGordon Ross 
171*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_NamespaceInitialized, FALSE);
17226f3cdf0SGordon Ross 
173450d6964Smyers /* Misc */
174450d6964Smyers 
175*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
176*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
177*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_PsFindCount);
178*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_Pm1EnableRegisterSave);
179*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_DebuggerConfiguration);
180*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_StepToNextCall);
181*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_AcpiHardwarePresent);
182*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_EventsInitialized);
183*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_INTERFACE_INFO *,     AcpiGbl_SupportedInterfaces);
184*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_ADDRESS_RANGE *,      AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
1857c478bd9Sstevel@tonic-gate 
186*de5d74c2SJerry 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*de5d74c2SJerry Jelinek extern const char                       AcpiGbl_LowerHexDigits[];
193*de5d74c2SJerry Jelinek extern const char                       AcpiGbl_UpperHexDigits[];
194*de5d74c2SJerry 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*de5d74c2SJerry Jelinek /* Lists for tracking memory allocations (debug only) */
200db2bae30SDana Myers 
201*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
202*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
203*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
204*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE,       AcpiGbl_RootNodeStruct);
221*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_RootNode);
222*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
223*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
231*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
232*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
233*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
234*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
235*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
236*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
2477c478bd9Sstevel@tonic-gate 
248*de5d74c2SJerry Jelinek /* Maximum number of While() loop iterations before forced abort */
249*de5d74c2SJerry Jelinek 
250*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_MaxLoopIterations);
2517c478bd9Sstevel@tonic-gate 
2527c478bd9Sstevel@tonic-gate /* Control method single step flag */
2537c478bd9Sstevel@tonic-gate 
254*de5d74c2SJerry 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*de5d74c2SJerry Jelinek 
265*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
266*de5d74c2SJerry 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*de5d74c2SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE)
276*de5d74c2SJerry Jelinek 
277*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
278*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
279*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,     AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
280*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
281*de5d74c2SJerry Jelinek ACPI_GLOBAL (void *,                    AcpiGbl_GlobalEventHandlerContext);
282*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER,  AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
283*de5d74c2SJerry Jelinek 
28426f3cdf0SGordon Ross extern ACPI_FIXED_EVENT_INFO            AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
2857c478bd9Sstevel@tonic-gate 
286*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiMethodCount);
297*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGpeCount);
298*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiSciCount);
299*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
300db2bae30SDana Myers 
301db2bae30SDana Myers /* Support for dynamic control method tracing mechanism */
302db2bae30SDana Myers 
303*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
304*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
305db2bae30SDana Myers 
306db2bae30SDana Myers 
307db2bae30SDana Myers /*****************************************************************************
308db2bae30SDana Myers  *
309*de5d74c2SJerry Jelinek  * Debugger and Disassembler globals
3107c478bd9Sstevel@tonic-gate  *
3117c478bd9Sstevel@tonic-gate  ****************************************************************************/
3127c478bd9Sstevel@tonic-gate 
313*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT);
3147c478bd9Sstevel@tonic-gate 
3157c478bd9Sstevel@tonic-gate #ifdef ACPI_DISASSEMBLER
3167c478bd9Sstevel@tonic-gate 
317*de5d74c2SJerry Jelinek /* Do not disassemble buffers to resource descriptors */
3187c478bd9Sstevel@tonic-gate 
319*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_NoResourceDisassembly, FALSE);
320*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_IgnoreNoopOperator, FALSE);
321*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_CstyleDisassembly, TRUE);
322*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_ForceAmlDisassembly, FALSE);
323*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DmOpt_Verbose, TRUE);
324*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DmEmitExternalOpcodes, FALSE);
325*de5d74c2SJerry Jelinek 
326*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Disasm);
327*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Listing);
328*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_NumExternalMethods);
329*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_ResolvedExternalMethods);
330*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_EXTERNAL_LIST *,      AcpiGbl_ExternalList);
331*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,      AcpiGbl_ExternalFileList);
332*de5d74c2SJerry Jelinek #endif
3337c478bd9Sstevel@tonic-gate 
3347c478bd9Sstevel@tonic-gate #ifdef ACPI_DEBUGGER
3357c478bd9Sstevel@tonic-gate 
336*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
337*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_MethodExecuting, FALSE);
338*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_THREAD_ID,       AcpiGbl_DbThreadId, ACPI_INVALID_THREAD_ID);
3397c478bd9Sstevel@tonic-gate 
340*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoIniMethods);
341*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoRegionSupport);
342*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOutputToFile);
343*de5d74c2SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbBuffer);
344*de5d74c2SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbFilename);
345*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DbDebugLevel);
346*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_DbConsoleDebugLevel);
347*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
348*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbTerminateLoop);
349*de5d74c2SJerry Jelinek ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbThreadsTerminated);
3507c478bd9Sstevel@tonic-gate 
351*de5d74c2SJerry Jelinek ACPI_GLOBAL (char *,                    AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
352*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_OBJECT_TYPE,          AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
353*de5d74c2SJerry Jelinek 
354*de5d74c2SJerry Jelinek /* These buffers should all be the same size */
355*de5d74c2SJerry Jelinek 
356*de5d74c2SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
357*de5d74c2SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
358*de5d74c2SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
359*de5d74c2SJerry 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*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]);
365*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]);
366*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
367*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
368*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
369*de5d74c2SJerry Jelinek ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
3707c478bd9Sstevel@tonic-gate 
371*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_DbCommandReady);
372*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_DbCommandComplete);
3737c478bd9Sstevel@tonic-gate 
3747c478bd9Sstevel@tonic-gate #endif /* ACPI_DEBUGGER */
3757c478bd9Sstevel@tonic-gate 
376*de5d74c2SJerry Jelinek #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
377*de5d74c2SJerry Jelinek 
378*de5d74c2SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldPanelList[]);
379*de5d74c2SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldVerticalPositionList[]);
380*de5d74c2SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldHorizontalPositionList[]);
381*de5d74c2SJerry Jelinek ACPI_GLOBAL (const char,                *AcpiGbl_PldShapeList[]);
382*de5d74c2SJerry Jelinek 
383*de5d74c2SJerry Jelinek #endif
384*de5d74c2SJerry Jelinek 
385*de5d74c2SJerry Jelinek /*****************************************************************************
386*de5d74c2SJerry Jelinek  *
387*de5d74c2SJerry Jelinek  * Application globals
388*de5d74c2SJerry Jelinek  *
389*de5d74c2SJerry Jelinek  ****************************************************************************/
390*de5d74c2SJerry Jelinek 
391*de5d74c2SJerry Jelinek #ifdef ACPI_APPLICATION
392*de5d74c2SJerry Jelinek 
393*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
394*de5d74c2SJerry Jelinek ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_OutputFile, NULL);
395*de5d74c2SJerry Jelinek 
396*de5d74c2SJerry Jelinek /* Print buffer */
397*de5d74c2SJerry Jelinek 
398*de5d74c2SJerry Jelinek ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_PrintLock);     /* For print buffer */
399*de5d74c2SJerry Jelinek ACPI_GLOBAL (char,                      AcpiGbl_PrintBuffer[1024]);
400*de5d74c2SJerry Jelinek 
401*de5d74c2SJerry Jelinek #endif /* ACPI_APPLICATION */
402*de5d74c2SJerry Jelinek 
403*de5d74c2SJerry Jelinek 
404*de5d74c2SJerry Jelinek /*****************************************************************************
405*de5d74c2SJerry Jelinek  *
406*de5d74c2SJerry Jelinek  * Info/help support
407*de5d74c2SJerry Jelinek  *
408*de5d74c2SJerry Jelinek  ****************************************************************************/
409*de5d74c2SJerry Jelinek 
410*de5d74c2SJerry Jelinek extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
411*de5d74c2SJerry Jelinek extern const AH_DEVICE_ID               AslDeviceIds[];
412*de5d74c2SJerry Jelinek 
413*de5d74c2SJerry Jelinek 
4147c478bd9Sstevel@tonic-gate #endif /* __ACGLOBAL_H__ */
415