152#ifndef __ACGLOBAL_H__
153#define __ACGLOBAL_H__
164ACPI_GLOBAL (ACPI_TABLE_LIST, AcpiGbl_RootTableList);
168ACPI_GLOBAL (ACPI_TABLE_HEADER *, AcpiGbl_DSDT);
169ACPI_GLOBAL (ACPI_TABLE_HEADER, AcpiGbl_OriginalDsdtHeader);
170ACPI_INIT_GLOBAL (
char *, AcpiGbl_CDAT, NULL);
171ACPI_INIT_GLOBAL (UINT32, AcpiGbl_DsdtIndex, ACPI_INVALID_TABLE_INDEX);
172ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX);
173ACPI_INIT_GLOBAL (UINT32, AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX);
174ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX);
176#if (!ACPI_REDUCED_HARDWARE)
177ACPI_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS);
183ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aStatus);
184ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aEnable);
186ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bStatus);
187ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bEnable);
194ACPI_GLOBAL (UINT8, AcpiGbl_IntegerBitWidth);
195ACPI_GLOBAL (UINT8, AcpiGbl_IntegerByteWidth);
196ACPI_GLOBAL (UINT8, AcpiGbl_IntegerNybbleWidth);
210ACPI_GLOBAL (ACPI_MUTEX_INFO, AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]);
217ACPI_GLOBAL (ACPI_OPERAND_OBJECT *, AcpiGbl_GlobalLockMutex);
218ACPI_GLOBAL (ACPI_SEMAPHORE, AcpiGbl_GlobalLockSemaphore);
219ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GlobalLockPendingLock);
220ACPI_GLOBAL (UINT16, AcpiGbl_GlobalLockHandle);
221ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockAcquired);
222ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPresent);
223ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPending);
229ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GpeLock);
230ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_HardwareLock);
231ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_ReferenceCountLock);
235ACPI_GLOBAL (ACPI_MUTEX, AcpiGbl_OsiMutex);
239ACPI_GLOBAL (ACPI_RW_LOCK, AcpiGbl_NamespaceRwLock);
250ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_NamespaceCache);
251ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_StateCache);
252ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeCache);
253ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeExtCache);
254ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_OperandCache);
258ACPI_INIT_GLOBAL (UINT32, AcpiGbl_StartupFlags, 0);
259ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_Shutdown, TRUE);
260ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_EarlyInitialization, TRUE);
264ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]);
265ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER, AcpiGbl_ExceptionHandler);
266ACPI_GLOBAL (ACPI_INIT_HANDLER, AcpiGbl_InitHandler);
267ACPI_GLOBAL (ACPI_TABLE_HANDLER, AcpiGbl_TableHandler);
268ACPI_GLOBAL (
void *, AcpiGbl_TableHandlerContext);
269ACPI_GLOBAL (ACPI_INTERFACE_HANDLER, AcpiGbl_InterfaceHandler);
270ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *, AcpiGbl_SciHandlerList);
271ACPI_GLOBAL (ACPI_GED_HANDLER_INFO *, AcpiGbl_GedHandlerList);
275ACPI_GLOBAL (UINT32, AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]);
276ACPI_GLOBAL (UINT8, AcpiGbl_LastOwnerIdIndex);
277ACPI_GLOBAL (UINT8, AcpiGbl_NextOwnerIdOffset);
281ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_NamespaceInitialized, FALSE);
285ACPI_GLOBAL (UINT32, AcpiGbl_OriginalMode);
286ACPI_GLOBAL (UINT32, AcpiGbl_NsLookupCount);
287ACPI_GLOBAL (UINT32, AcpiGbl_PsFindCount);
288ACPI_GLOBAL (UINT16, AcpiGbl_Pm1EnableRegisterSave);
289ACPI_GLOBAL (UINT8, AcpiGbl_DebuggerConfiguration);
290ACPI_GLOBAL (BOOLEAN, AcpiGbl_StepToNextCall);
291ACPI_GLOBAL (BOOLEAN, AcpiGbl_AcpiHardwarePresent);
292ACPI_GLOBAL (BOOLEAN, AcpiGbl_EventsInitialized);
293ACPI_GLOBAL (ACPI_INTERFACE_INFO *, AcpiGbl_SupportedInterfaces);
294ACPI_GLOBAL (ACPI_ADDRESS_RANGE *, AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]);
298extern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
299extern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS];
300extern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS];
301extern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
302extern const char AcpiGbl_LowerHexDigits[];
303extern const char AcpiGbl_UpperHexDigits[];
304extern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
308#ifdef ACPI_DBG_TRACK_ALLOCATIONS
309ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_GlobalList);
310ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_NsNodeList);
311ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisplayFinalMemStats);
312ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisableMemTracking);
313ACPI_GLOBAL (BOOLEAN, AcpiGbl_VerboseLeakDump);
323#define NUM_PREDEFINED_NAMES 10
325ACPI_GLOBAL (ACPI_NAMESPACE_NODE, AcpiGbl_RootNodeStruct);
326ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_RootNode);
327ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_FadtGpeDevice);
329extern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES];
330extern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
332#ifdef ACPI_DEBUG_OUTPUT
333ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeCount);
334ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeSize);
335ACPI_GLOBAL (UINT32, AcpiGbl_MaxConcurrentNodeCount);
336ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_EntryStackPointer);
337ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_LowestStackPointer);
338ACPI_GLOBAL (UINT32, AcpiGbl_DeepestNesting);
339ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NestingLevel, 0);
351ACPI_GLOBAL (UINT8, AcpiGbl_CmSingleStep);
352ACPI_GLOBAL (ACPI_THREAD_STATE *, AcpiGbl_CurrentWalkList);
353ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT, *AcpiGbl_CurrentScope, NULL);
357ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CaptureComments, FALSE);
358ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_LastListHead, NULL);
367extern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
368ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeA);
369ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeB);
370ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeAS0);
371ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeBS0);
380#if (!ACPI_REDUCED_HARDWARE)
381ACPI_GLOBAL (UINT8, AcpiGbl_AllGpesInitialized);
382ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *, AcpiGbl_GpeXruptListHead);
383ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *, AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
384ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER, AcpiGbl_GlobalEventHandler);
385ACPI_GLOBAL (
void *, AcpiGbl_GlobalEventHandlerContext);
386ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER, AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
387extern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
399ACPI_GLOBAL (UINT32, AcpiMethodCount);
400ACPI_GLOBAL (UINT32, AcpiGpeCount);
401ACPI_GLOBAL (UINT32, AcpiSciCount);
402ACPI_GLOBAL (UINT32, AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
406ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLevel);
407ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLayer);
416ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT);
419#ifdef ACPI_DISASSEMBLER
423ACPI_INIT_GLOBAL (UINT8, AcpiGbl_NoResourceDisassembly, FALSE);
424ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnoreNoopOperator, FALSE);
425ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CstyleDisassembly, TRUE);
426ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ForceAmlDisassembly, FALSE);
427ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Verbose, TRUE);
428ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmEmitExternalOpcodes, FALSE);
429ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DoDisassemblerOptimizations, TRUE);
430ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT_LIST, *AcpiGbl_TempListHead, NULL);
432ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Disasm);
433ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Listing);
434ACPI_GLOBAL (BOOLEAN, AcpiGbl_NumExternalMethods);
435ACPI_GLOBAL (UINT32, AcpiGbl_ResolvedExternalMethods);
436ACPI_GLOBAL (ACPI_EXTERNAL_LIST *, AcpiGbl_ExternalList);
437ACPI_GLOBAL (ACPI_EXTERNAL_FILE *, AcpiGbl_ExternalFileList);
441ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_AbortMethod, FALSE);
442ACPI_INIT_GLOBAL (ACPI_THREAD_ID, AcpiGbl_DbThreadId, ACPI_INVALID_THREAD_ID);
443ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NextCmdNum, 1);
445ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoIniMethods);
446ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoRegionSupport);
447ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOutputToFile);
448ACPI_GLOBAL (
char *, AcpiGbl_DbBuffer);
449ACPI_GLOBAL (
char *, AcpiGbl_DbFilename);
450ACPI_GLOBAL (UINT32, AcpiGbl_DbDebugLevel);
451ACPI_GLOBAL (UINT32, AcpiGbl_DbConsoleDebugLevel);
452ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_DbScopeNode);
453ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbTerminateLoop);
454ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbThreadsTerminated);
455ACPI_GLOBAL (
char *, AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
456ACPI_GLOBAL (ACPI_OBJECT_TYPE, AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
460ACPI_GLOBAL (
char, AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]);
461ACPI_GLOBAL (
char, AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
462ACPI_GLOBAL (
char, AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
466ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]);
467ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]);
468ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCountMisc);
469ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCountMisc);
470ACPI_GLOBAL (UINT32, AcpiGbl_NumNodes);
471ACPI_GLOBAL (UINT32, AcpiGbl_NumObjects);
474#if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
475ACPI_GLOBAL (
const char, *AcpiGbl_PldPanelList[]);
476ACPI_GLOBAL (
const char, *AcpiGbl_PldVerticalPositionList[]);
477ACPI_GLOBAL (
const char, *AcpiGbl_PldHorizontalPositionList[]);
478ACPI_GLOBAL (
const char, *AcpiGbl_PldShapeList[]);
479ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DisasmFlag, FALSE);
491#ifdef ACPI_ASL_COMPILER
492ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentInlineComment, NULL);
493ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentEndNodeComment, NULL);
494ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentOpenBraceComment, NULL);
495ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentCloseBraceComment, NULL);
497ACPI_INIT_GLOBAL (
char *, AcpiGbl_RootFilename, NULL);
498ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentFilename, NULL);
499ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentParentFilename, NULL);
500ACPI_INIT_GLOBAL (
char *, AcpiGbl_CurrentIncludeFilename, NULL);
502ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListHead, NULL);
503ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListTail, NULL);
504ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListHead, NULL);
505ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListTail, NULL);
506ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListHead, NULL);
507ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListTail, NULL);
508ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListHead, NULL);
509ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListTail, NULL);
511ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE, *AcpiGbl_CommentAddrListHead, NULL);
512ACPI_INIT_GLOBAL (ACPI_FILE_NODE, *AcpiGbl_FileTreeRoot, NULL);
514ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_RegCommentCache);
515ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_CommentAddrCache);
516ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_FileCache);
518ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugAslConversion, FALSE);
519ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_ConvDebugFile, NULL);
520ACPI_GLOBAL (
char, AcpiGbl_TableSig[4]);
523#ifdef ACPI_APPLICATION
524ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_DebugFile, NULL);
525ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_OutputFile, NULL);
526ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugTimeout, FALSE);
530ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_PrintLock);
531ACPI_GLOBAL (
char, AcpiGbl_PrintBuffer[1024]);