xref: /freebsd/sys/contrib/dev/acpica/include/acglobal.h (revision 313a0c13efa638cf248e35eed49f36ec0a1a7f26)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acglobal.h - Declarations for global variables
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
8*313a0c13SJung-uk Kim  * Copyright (C) 2000 - 2014, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim #ifndef __ACGLOBAL_H__
45a9f12690SJung-uk Kim #define __ACGLOBAL_H__
46a9f12690SJung-uk Kim 
47a9f12690SJung-uk Kim 
48a9f12690SJung-uk Kim /*****************************************************************************
49a9f12690SJung-uk Kim  *
50*313a0c13SJung-uk Kim  * Globals related to the ACPI tables
51a9f12690SJung-uk Kim  *
52a9f12690SJung-uk Kim  ****************************************************************************/
53a9f12690SJung-uk Kim 
54*313a0c13SJung-uk Kim /* Master list of all ACPI tables that were found in the RSDT/XSDT */
55a9f12690SJung-uk Kim 
56*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_LIST,           AcpiGbl_RootTableList);
57a9f12690SJung-uk Kim 
58*313a0c13SJung-uk Kim /* DSDT information. Used to check for DSDT corruption */
59a9f12690SJung-uk Kim 
60*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_HEADER *,       AcpiGbl_DSDT);
61*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_HEADER,         AcpiGbl_OriginalDsdtHeader);
62a159c266SJung-uk Kim 
63a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
64*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_FACS *,         AcpiGbl_FACS);
65a9f12690SJung-uk Kim 
66a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
67a159c266SJung-uk Kim 
68a9f12690SJung-uk Kim /* These addresses are calculated from the FADT Event Block addresses */
69a9f12690SJung-uk Kim 
70*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aStatus);
71*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1aEnable);
72a9f12690SJung-uk Kim 
73*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bStatus);
74*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GENERIC_ADDRESS,      AcpiGbl_XPm1bEnable);
758c8be05fSJung-uk Kim 
76a9f12690SJung-uk Kim /*
77*313a0c13SJung-uk Kim  * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is
78a9f12690SJung-uk Kim  * determined by the revision of the DSDT: If the DSDT revision is less than
79a9f12690SJung-uk Kim  * 2, use only the lower 32 bits of the internal 64-bit Integer.
80a9f12690SJung-uk Kim  */
81*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerBitWidth);
82*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerByteWidth);
83*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_IntegerNybbleWidth);
84a9f12690SJung-uk Kim 
85a9f12690SJung-uk Kim 
86a9f12690SJung-uk Kim /*****************************************************************************
87a9f12690SJung-uk Kim  *
883f0275a0SJung-uk Kim  * Mutual exclusion within ACPICA subsystem
89a9f12690SJung-uk Kim  *
90a9f12690SJung-uk Kim  ****************************************************************************/
91a9f12690SJung-uk Kim 
92a9f12690SJung-uk Kim /*
93a9f12690SJung-uk Kim  * Predefined mutex objects. This array contains the
94a9f12690SJung-uk Kim  * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
95a9f12690SJung-uk Kim  * (The table maps local handles to the real OS handles)
96a9f12690SJung-uk Kim  */
97*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_MUTEX_INFO,           AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]);
98a9f12690SJung-uk Kim 
99a9f12690SJung-uk Kim /*
100a9f12690SJung-uk Kim  * Global lock mutex is an actual AML mutex object
101dcbce41eSJung-uk Kim  * Global lock semaphore works in conjunction with the actual global lock
102dcbce41eSJung-uk Kim  * Global lock spinlock is used for "pending" handshake
103a9f12690SJung-uk Kim  */
104*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_GlobalLockMutex);
105*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SEMAPHORE,            AcpiGbl_GlobalLockSemaphore);
106*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GlobalLockPendingLock);
107*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_GlobalLockHandle);
108*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockAcquired);
109*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPresent);
110*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_GlobalLockPending);
111a9f12690SJung-uk Kim 
112a9f12690SJung-uk Kim /*
113a9f12690SJung-uk Kim  * Spinlocks are used for interfaces that can be possibly called at
114a9f12690SJung-uk Kim  * interrupt level
115a9f12690SJung-uk Kim  */
116*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_GpeLock);       /* For GPE data structs and registers */
117*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_HardwareLock);  /* For ACPI H/W except GPE registers */
118*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_ReferenceCountLock);
119a9f12690SJung-uk Kim 
120709fac06SJung-uk Kim /* Mutex for _OSI support */
121709fac06SJung-uk Kim 
122*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_MUTEX,                AcpiGbl_OsiMutex);
123709fac06SJung-uk Kim 
124a9f12690SJung-uk Kim /* Reader/Writer lock is used for namespace walk and dynamic table unload */
125a9f12690SJung-uk Kim 
126*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_RW_LOCK,              AcpiGbl_NamespaceRwLock);
127a9f12690SJung-uk Kim 
128a9f12690SJung-uk Kim 
129a9f12690SJung-uk Kim /*****************************************************************************
130a9f12690SJung-uk Kim  *
131a9f12690SJung-uk Kim  * Miscellaneous globals
132a9f12690SJung-uk Kim  *
133a9f12690SJung-uk Kim  ****************************************************************************/
134a9f12690SJung-uk Kim 
135a9f12690SJung-uk Kim /* Object caches */
136a9f12690SJung-uk Kim 
137*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_NamespaceCache);
138*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_StateCache);
139*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeCache);
140*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_PsNodeExtCache);
141*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_OperandCache);
142*313a0c13SJung-uk Kim 
143*313a0c13SJung-uk Kim /* System */
144*313a0c13SJung-uk Kim 
145*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_StartupFlags, 0);
146*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_Shutdown, TRUE);
147a9f12690SJung-uk Kim 
148a9f12690SJung-uk Kim /* Global handlers */
149a9f12690SJung-uk Kim 
150*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
151*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER,    AcpiGbl_ExceptionHandler);
152*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_INIT_HANDLER,         AcpiGbl_InitHandler);
153*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_HANDLER,        AcpiGbl_TableHandler);
154*313a0c13SJung-uk Kim ACPI_GLOBAL (void *,                    AcpiGbl_TableHandlerContext);
155*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_INTERFACE_HANDLER,    AcpiGbl_InterfaceHandler);
156*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *,   AcpiGbl_SciHandlerList);
157a9f12690SJung-uk Kim 
158a9f12690SJung-uk Kim /* Owner ID support */
159a9f12690SJung-uk Kim 
160*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
161*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_LastOwnerIdIndex);
162*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_NextOwnerIdOffset);
163a9f12690SJung-uk Kim 
1640b94ba42SJung-uk Kim /* Initialization sequencing */
1650b94ba42SJung-uk Kim 
166*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_RegMethodsExecuted);
1670b94ba42SJung-uk Kim 
168a9f12690SJung-uk Kim /* Misc */
169a9f12690SJung-uk Kim 
170*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
171*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
172*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_PsFindCount);
173*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_Pm1EnableRegisterSave);
174*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_DebuggerConfiguration);
175*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_StepToNextCall);
176*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_AcpiHardwarePresent);
177*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_EventsInitialized);
178*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_INTERFACE_INFO *,     AcpiGbl_SupportedInterfaces);
179*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_ADDRESS_RANGE *,      AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
180a9f12690SJung-uk Kim 
181*313a0c13SJung-uk Kim /* Other miscellaneous, declared and initialized in utglobal */
182a9f12690SJung-uk Kim 
183a9f12690SJung-uk Kim extern const char                      *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
184d6dd1baeSJung-uk Kim extern const char                      *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
185d6dd1baeSJung-uk Kim extern const char                      *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
186a9f12690SJung-uk Kim extern const char                      *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
187*313a0c13SJung-uk Kim extern const ACPI_OPCODE_INFO           AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
188a9f12690SJung-uk Kim 
189a9f12690SJung-uk Kim 
190a9f12690SJung-uk Kim #ifdef ACPI_DBG_TRACK_ALLOCATIONS
191a9f12690SJung-uk Kim 
192*313a0c13SJung-uk Kim /* Lists for tracking memory allocations (debug only) */
193a9f12690SJung-uk Kim 
194*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
195*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
196*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
197*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisableMemTracking);
198a9f12690SJung-uk Kim #endif
199a9f12690SJung-uk Kim 
200a9f12690SJung-uk Kim 
201a9f12690SJung-uk Kim /*****************************************************************************
202a9f12690SJung-uk Kim  *
203a9f12690SJung-uk Kim  * Namespace globals
204a9f12690SJung-uk Kim  *
205a9f12690SJung-uk Kim  ****************************************************************************/
206a9f12690SJung-uk Kim 
207a9f12690SJung-uk Kim #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
208a9f12690SJung-uk Kim #define NUM_PREDEFINED_NAMES            10
209a9f12690SJung-uk Kim #else
210a9f12690SJung-uk Kim #define NUM_PREDEFINED_NAMES            9
211a9f12690SJung-uk Kim #endif
212a9f12690SJung-uk Kim 
213*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_NAMESPACE_NODE,       AcpiGbl_RootNodeStruct);
214*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_RootNode);
215*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
216*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_ModuleCodeList);
217d6dd1baeSJung-uk Kim 
218a9f12690SJung-uk Kim 
219a9f12690SJung-uk Kim extern const UINT8                      AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
220a9f12690SJung-uk Kim extern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
221a9f12690SJung-uk Kim 
222a9f12690SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
223*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
224*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
225*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
226*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
227*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
228*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
229*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_NestingLevel, 0);
230a9f12690SJung-uk Kim #endif
231a9f12690SJung-uk Kim 
232a9f12690SJung-uk Kim 
233a9f12690SJung-uk Kim /*****************************************************************************
234a9f12690SJung-uk Kim  *
235a9f12690SJung-uk Kim  * Interpreter globals
236a9f12690SJung-uk Kim  *
237a9f12690SJung-uk Kim  ****************************************************************************/
238a9f12690SJung-uk Kim 
239*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
240a9f12690SJung-uk Kim 
241a9f12690SJung-uk Kim /* Control method single step flag */
242a9f12690SJung-uk Kim 
243*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_CmSingleStep);
244a9f12690SJung-uk Kim 
245a9f12690SJung-uk Kim 
246a9f12690SJung-uk Kim /*****************************************************************************
247a9f12690SJung-uk Kim  *
248a9f12690SJung-uk Kim  * Hardware globals
249a9f12690SJung-uk Kim  *
250a9f12690SJung-uk Kim  ****************************************************************************/
251a9f12690SJung-uk Kim 
252a9f12690SJung-uk Kim extern ACPI_BIT_REGISTER_INFO           AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
253*313a0c13SJung-uk Kim 
254*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
255*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeB);
256a9f12690SJung-uk Kim 
257a9f12690SJung-uk Kim 
258a9f12690SJung-uk Kim /*****************************************************************************
259a9f12690SJung-uk Kim  *
260a9f12690SJung-uk Kim  * Event and GPE globals
261a9f12690SJung-uk Kim  *
262a9f12690SJung-uk Kim  ****************************************************************************/
263a9f12690SJung-uk Kim 
264a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
265a159c266SJung-uk Kim 
266*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
267*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
268*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,     AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
269*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
270*313a0c13SJung-uk Kim ACPI_GLOBAL (void *,                    AcpiGbl_GlobalEventHandlerContext);
271*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER,  AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
272*313a0c13SJung-uk Kim 
2735a77b11bSJung-uk Kim extern ACPI_FIXED_EVENT_INFO            AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
274a9f12690SJung-uk Kim 
275a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
276a9f12690SJung-uk Kim 
277a9f12690SJung-uk Kim /*****************************************************************************
278a9f12690SJung-uk Kim  *
279a9f12690SJung-uk Kim  * Debug support
280a9f12690SJung-uk Kim  *
281a9f12690SJung-uk Kim  ****************************************************************************/
282a9f12690SJung-uk Kim 
283a9f12690SJung-uk Kim /* Event counters */
284a9f12690SJung-uk Kim 
285*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiMethodCount);
286*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGpeCount);
287*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiSciCount);
288*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
289a9f12690SJung-uk Kim 
290a9f12690SJung-uk Kim /* Support for dynamic control method tracing mechanism */
291a9f12690SJung-uk Kim 
292*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
293*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
294*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLevel);
295*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_TraceDbgLayer);
296a9f12690SJung-uk Kim 
297a9f12690SJung-uk Kim 
298a9f12690SJung-uk Kim /*****************************************************************************
299a9f12690SJung-uk Kim  *
300efcc2a30SJung-uk Kim  * Debugger and Disassembler globals
301a9f12690SJung-uk Kim  *
302a9f12690SJung-uk Kim  ****************************************************************************/
303a9f12690SJung-uk Kim 
304*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim #ifdef ACPI_DISASSEMBLER
307a9f12690SJung-uk Kim 
308*313a0c13SJung-uk Kim /* Do not disassemble buffers to resource descriptors */
309efcc2a30SJung-uk Kim 
310*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_NoResourceDisassembly, FALSE);
311*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_IgnoreNoopOperator, FALSE);
312*313a0c13SJung-uk Kim 
313*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_disasm);
314*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_verbose);
315*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_NumExternalMethods);
316*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_ResolvedExternalMethods);
317*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_EXTERNAL_LIST *,      AcpiGbl_ExternalList);
318*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,      AcpiGbl_ExternalFileList);
319a9f12690SJung-uk Kim #endif
320a9f12690SJung-uk Kim 
321a9f12690SJung-uk Kim #ifdef ACPI_DEBUGGER
322a9f12690SJung-uk Kim 
323*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DbTerminateThreads, FALSE);
324*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
325*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_MethodExecuting, FALSE);
326a9f12690SJung-uk Kim 
327*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_tables);
328*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_stats);
329*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_ini_methods);
330*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOpt_NoRegionSupport);
331*313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbOutputToFile);
332*313a0c13SJung-uk Kim ACPI_GLOBAL (char *,                    AcpiGbl_DbBuffer);
333*313a0c13SJung-uk Kim ACPI_GLOBAL (char *,                    AcpiGbl_DbFilename);
334*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_DbDebugLevel);
335*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_DbConsoleDebugLevel);
336*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
337a9f12690SJung-uk Kim 
338*313a0c13SJung-uk Kim ACPI_GLOBAL (char *,                    AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
339*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_OBJECT_TYPE,          AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
34079c6d946SJung-uk Kim 
34179c6d946SJung-uk Kim /* These buffers should all be the same size */
34279c6d946SJung-uk Kim 
343*313a0c13SJung-uk Kim ACPI_GLOBAL (char,                      AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
344*313a0c13SJung-uk Kim ACPI_GLOBAL (char,                      AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
345*313a0c13SJung-uk Kim ACPI_GLOBAL (char,                      AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
346*313a0c13SJung-uk Kim ACPI_GLOBAL (char,                      AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
34779c6d946SJung-uk Kim 
348a9f12690SJung-uk Kim /*
349a9f12690SJung-uk Kim  * Statistic globals
350a9f12690SJung-uk Kim  */
351*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
352*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCount[ACPI_TYPE_NS_NODE_MAX+1]);
353*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
354*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
355*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
356*313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
357a9f12690SJung-uk Kim 
358a9f12690SJung-uk Kim #endif /* ACPI_DEBUGGER */
359a9f12690SJung-uk Kim 
360f38b0f21SJung-uk Kim 
361f38b0f21SJung-uk Kim /*****************************************************************************
362f38b0f21SJung-uk Kim  *
363*313a0c13SJung-uk Kim  * Application globals
364*313a0c13SJung-uk Kim  *
365*313a0c13SJung-uk Kim  ****************************************************************************/
366*313a0c13SJung-uk Kim 
367*313a0c13SJung-uk Kim #ifdef ACPI_APPLICATION
368*313a0c13SJung-uk Kim 
369*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
370*313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_OutputFile, NULL);
371*313a0c13SJung-uk Kim 
372*313a0c13SJung-uk Kim /* Print buffer */
373*313a0c13SJung-uk Kim 
374*313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_PrintLock);     /* For print buffer */
375*313a0c13SJung-uk Kim ACPI_GLOBAL (char,                      AcpiGbl_PrintBuffer[1024]);
376*313a0c13SJung-uk Kim 
377*313a0c13SJung-uk Kim #endif /* ACPI_APPLICATION */
378*313a0c13SJung-uk Kim 
379*313a0c13SJung-uk Kim 
380*313a0c13SJung-uk Kim /*****************************************************************************
381*313a0c13SJung-uk Kim  *
382f38b0f21SJung-uk Kim  * Info/help support
383f38b0f21SJung-uk Kim  *
384f38b0f21SJung-uk Kim  ****************************************************************************/
385f38b0f21SJung-uk Kim 
386f38b0f21SJung-uk Kim extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
387*313a0c13SJung-uk Kim extern const AH_DEVICE_ID               AslDeviceIds[];
388f38b0f21SJung-uk Kim 
389f38b0f21SJung-uk Kim 
390a9f12690SJung-uk Kim #endif /* __ACGLOBAL_H__ */
391