128c506b8Sjruoho /****************************************************************************** 228c506b8Sjruoho * 328c506b8Sjruoho * Name: acglobal.h - Declarations for global variables 428c506b8Sjruoho * 528c506b8Sjruoho *****************************************************************************/ 628c506b8Sjruoho 7159c4e26Sjruoho /* 82c7d7e3cSchristos * Copyright (C) 2000 - 2023, Intel Corp. 928c506b8Sjruoho * All rights reserved. 1028c506b8Sjruoho * 11159c4e26Sjruoho * Redistribution and use in source and binary forms, with or without 12159c4e26Sjruoho * modification, are permitted provided that the following conditions 13159c4e26Sjruoho * are met: 14159c4e26Sjruoho * 1. Redistributions of source code must retain the above copyright 15159c4e26Sjruoho * notice, this list of conditions, and the following disclaimer, 16159c4e26Sjruoho * without modification. 17159c4e26Sjruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18159c4e26Sjruoho * substantially similar to the "NO WARRANTY" disclaimer below 19159c4e26Sjruoho * ("Disclaimer") and any redistribution must be conditioned upon 20159c4e26Sjruoho * including a substantially similar Disclaimer requirement for further 21159c4e26Sjruoho * binary redistribution. 22159c4e26Sjruoho * 3. Neither the names of the above-listed copyright holders nor the names 23159c4e26Sjruoho * of any contributors may be used to endorse or promote products derived 24159c4e26Sjruoho * from this software without specific prior written permission. 2528c506b8Sjruoho * 26159c4e26Sjruoho * Alternatively, this software may be distributed under the terms of the 27159c4e26Sjruoho * GNU General Public License ("GPL") version 2 as published by the Free 28159c4e26Sjruoho * Software Foundation. 2928c506b8Sjruoho * 30159c4e26Sjruoho * NO WARRANTY 31159c4e26Sjruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32159c4e26Sjruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3398244dcfSchristos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 34159c4e26Sjruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35159c4e26Sjruoho * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36159c4e26Sjruoho * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37159c4e26Sjruoho * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38159c4e26Sjruoho * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39159c4e26Sjruoho * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40159c4e26Sjruoho * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41159c4e26Sjruoho * POSSIBILITY OF SUCH DAMAGES. 42159c4e26Sjruoho */ 4328c506b8Sjruoho 4428c506b8Sjruoho #ifndef __ACGLOBAL_H__ 4528c506b8Sjruoho #define __ACGLOBAL_H__ 4628c506b8Sjruoho 4728c506b8Sjruoho 4828c506b8Sjruoho /***************************************************************************** 4928c506b8Sjruoho * 50f45f09e8Schristos * Globals related to the incoming ACPI tables 5128c506b8Sjruoho * 5228c506b8Sjruoho ****************************************************************************/ 5328c506b8Sjruoho 54414ef032Schristos /* Master list of all ACPI tables that were found in the RSDT/XSDT */ 5528c506b8Sjruoho 56414ef032Schristos ACPI_GLOBAL (ACPI_TABLE_LIST, AcpiGbl_RootTableList); 5728c506b8Sjruoho 58414ef032Schristos /* DSDT information. Used to check for DSDT corruption */ 5928c506b8Sjruoho 60414ef032Schristos ACPI_GLOBAL (ACPI_TABLE_HEADER *, AcpiGbl_DSDT); 61414ef032Schristos ACPI_GLOBAL (ACPI_TABLE_HEADER, AcpiGbl_OriginalDsdtHeader); 62121a0548Schristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CDAT, NULL); 6381bd9c9cSchristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_DsdtIndex, ACPI_INVALID_TABLE_INDEX); 6481bd9c9cSchristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX); 6581bd9c9cSchristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX); 6681bd9c9cSchristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX); 67*987b04d6Schristos ACPI_INIT_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS, NULL); 68a2c051a9Schristos 6928c506b8Sjruoho /* These addresses are calculated from the FADT Event Block addresses */ 7028c506b8Sjruoho 71414ef032Schristos ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aStatus); 72414ef032Schristos ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aEnable); 7328c506b8Sjruoho 74414ef032Schristos ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bStatus); 75414ef032Schristos ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bEnable); 7628c506b8Sjruoho 7728c506b8Sjruoho /* 78414ef032Schristos * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is 7928c506b8Sjruoho * determined by the revision of the DSDT: If the DSDT revision is less than 8028c506b8Sjruoho * 2, use only the lower 32 bits of the internal 64-bit Integer. 8128c506b8Sjruoho */ 82414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_IntegerBitWidth); 83414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_IntegerByteWidth); 84414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_IntegerNybbleWidth); 8528c506b8Sjruoho 8628c506b8Sjruoho 8728c506b8Sjruoho /***************************************************************************** 8828c506b8Sjruoho * 89f45f09e8Schristos * Mutual exclusion within the ACPICA subsystem 9028c506b8Sjruoho * 9128c506b8Sjruoho ****************************************************************************/ 9228c506b8Sjruoho 9328c506b8Sjruoho /* 9428c506b8Sjruoho * Predefined mutex objects. This array contains the 9528c506b8Sjruoho * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. 9628c506b8Sjruoho * (The table maps local handles to the real OS handles) 9728c506b8Sjruoho */ 98414ef032Schristos ACPI_GLOBAL (ACPI_MUTEX_INFO, AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]); 9928c506b8Sjruoho 10028c506b8Sjruoho /* 10128c506b8Sjruoho * Global lock mutex is an actual AML mutex object 1028ad757efSjruoho * Global lock semaphore works in conjunction with the actual global lock 1038ad757efSjruoho * Global lock spinlock is used for "pending" handshake 10428c506b8Sjruoho */ 105414ef032Schristos ACPI_GLOBAL (ACPI_OPERAND_OBJECT *, AcpiGbl_GlobalLockMutex); 106414ef032Schristos ACPI_GLOBAL (ACPI_SEMAPHORE, AcpiGbl_GlobalLockSemaphore); 107414ef032Schristos ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GlobalLockPendingLock); 108414ef032Schristos ACPI_GLOBAL (UINT16, AcpiGbl_GlobalLockHandle); 109414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockAcquired); 110414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPresent); 111414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPending); 11228c506b8Sjruoho 11328c506b8Sjruoho /* 11428c506b8Sjruoho * Spinlocks are used for interfaces that can be possibly called at 11528c506b8Sjruoho * interrupt level 11628c506b8Sjruoho */ 117414ef032Schristos ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GpeLock); /* For GPE data structs and registers */ 118414ef032Schristos ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_HardwareLock); /* For ACPI H/W except GPE registers */ 119414ef032Schristos ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_ReferenceCountLock); 12028c506b8Sjruoho 121159c4e26Sjruoho /* Mutex for _OSI support */ 122159c4e26Sjruoho 123414ef032Schristos ACPI_GLOBAL (ACPI_MUTEX, AcpiGbl_OsiMutex); 124159c4e26Sjruoho 12528c506b8Sjruoho /* Reader/Writer lock is used for namespace walk and dynamic table unload */ 12628c506b8Sjruoho 127414ef032Schristos ACPI_GLOBAL (ACPI_RW_LOCK, AcpiGbl_NamespaceRwLock); 12828c506b8Sjruoho 12928c506b8Sjruoho 13028c506b8Sjruoho /***************************************************************************** 13128c506b8Sjruoho * 13228c506b8Sjruoho * Miscellaneous globals 13328c506b8Sjruoho * 13428c506b8Sjruoho ****************************************************************************/ 13528c506b8Sjruoho 13628c506b8Sjruoho /* Object caches */ 13728c506b8Sjruoho 138414ef032Schristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_NamespaceCache); 139414ef032Schristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_StateCache); 140414ef032Schristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeCache); 141414ef032Schristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeExtCache); 142414ef032Schristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_OperandCache); 143414ef032Schristos 144414ef032Schristos /* System */ 145414ef032Schristos 146414ef032Schristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_StartupFlags, 0); 147414ef032Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_Shutdown, TRUE); 14881bd9c9cSchristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_EarlyInitialization, TRUE); 14928c506b8Sjruoho 15028c506b8Sjruoho /* Global handlers */ 15128c506b8Sjruoho 152414ef032Schristos ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]); 153414ef032Schristos ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER, AcpiGbl_ExceptionHandler); 154414ef032Schristos ACPI_GLOBAL (ACPI_INIT_HANDLER, AcpiGbl_InitHandler); 155414ef032Schristos ACPI_GLOBAL (ACPI_TABLE_HANDLER, AcpiGbl_TableHandler); 156414ef032Schristos ACPI_GLOBAL (void *, AcpiGbl_TableHandlerContext); 157414ef032Schristos ACPI_GLOBAL (ACPI_INTERFACE_HANDLER, AcpiGbl_InterfaceHandler); 158414ef032Schristos ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *, AcpiGbl_SciHandlerList); 1592c7d7e3cSchristos ACPI_GLOBAL (ACPI_GED_HANDLER_INFO *, AcpiGbl_GedHandlerList); 16028c506b8Sjruoho 16128c506b8Sjruoho /* Owner ID support */ 16228c506b8Sjruoho 163414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]); 164414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_LastOwnerIdIndex); 165414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_NextOwnerIdOffset); 16628c506b8Sjruoho 167159c4e26Sjruoho /* Initialization sequencing */ 168159c4e26Sjruoho 16949c2f1f4Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_NamespaceInitialized, FALSE); 170159c4e26Sjruoho 171f45f09e8Schristos /* Miscellaneous */ 17228c506b8Sjruoho 173414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_OriginalMode); 174414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_NsLookupCount); 175414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_PsFindCount); 176414ef032Schristos ACPI_GLOBAL (UINT16, AcpiGbl_Pm1EnableRegisterSave); 177414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_DebuggerConfiguration); 178414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_StepToNextCall); 179414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_AcpiHardwarePresent); 180414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_EventsInitialized); 181414ef032Schristos ACPI_GLOBAL (ACPI_INTERFACE_INFO *, AcpiGbl_SupportedInterfaces); 182414ef032Schristos ACPI_GLOBAL (ACPI_ADDRESS_RANGE *, AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]); 18328c506b8Sjruoho 184414ef032Schristos /* Other miscellaneous, declared and initialized in utglobal */ 18528c506b8Sjruoho 18628c506b8Sjruoho extern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT]; 18728c506b8Sjruoho extern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS]; 18828c506b8Sjruoho extern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS]; 18928c506b8Sjruoho extern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS]; 19049c2f1f4Schristos extern const char AcpiGbl_LowerHexDigits[]; 19149c2f1f4Schristos extern const char AcpiGbl_UpperHexDigits[]; 192414ef032Schristos extern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES]; 19328c506b8Sjruoho 194414ef032Schristos /* Lists for tracking memory allocations (debug only) */ 19528c506b8Sjruoho 196f45f09e8Schristos #ifdef ACPI_DBG_TRACK_ALLOCATIONS 197414ef032Schristos ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_GlobalList); 198414ef032Schristos ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_NsNodeList); 199414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisplayFinalMemStats); 200414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisableMemTracking); 2015b948c02Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_VerboseLeakDump); 20228c506b8Sjruoho #endif 20328c506b8Sjruoho 20428c506b8Sjruoho 20528c506b8Sjruoho /***************************************************************************** 20628c506b8Sjruoho * 207f45f09e8Schristos * ACPI Namespace 20828c506b8Sjruoho * 20928c506b8Sjruoho ****************************************************************************/ 21028c506b8Sjruoho 21128c506b8Sjruoho #define NUM_PREDEFINED_NAMES 10 21228c506b8Sjruoho 213414ef032Schristos ACPI_GLOBAL (ACPI_NAMESPACE_NODE, AcpiGbl_RootNodeStruct); 214414ef032Schristos ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_RootNode); 215414ef032Schristos ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_FadtGpeDevice); 21628c506b8Sjruoho 21728c506b8Sjruoho extern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES]; 21828c506b8Sjruoho extern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES]; 21928c506b8Sjruoho 22028c506b8Sjruoho #ifdef ACPI_DEBUG_OUTPUT 221414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeCount); 222414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeSize); 223414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_MaxConcurrentNodeCount); 224414ef032Schristos ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_EntryStackPointer); 225414ef032Schristos ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_LowestStackPointer); 226414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_DeepestNesting); 227414ef032Schristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NestingLevel, 0); 22828c506b8Sjruoho #endif 22928c506b8Sjruoho 23028c506b8Sjruoho 23128c506b8Sjruoho /***************************************************************************** 23228c506b8Sjruoho * 233f45f09e8Schristos * Interpreter/Parser globals 23428c506b8Sjruoho * 23528c506b8Sjruoho ****************************************************************************/ 23628c506b8Sjruoho 23728c506b8Sjruoho /* Control method single step flag */ 23828c506b8Sjruoho 239414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_CmSingleStep); 240f45f09e8Schristos ACPI_GLOBAL (ACPI_THREAD_STATE *, AcpiGbl_CurrentWalkList); 241f45f09e8Schristos ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT, *AcpiGbl_CurrentScope, NULL); 242f45f09e8Schristos 243f45f09e8Schristos /* ASL/ASL+ converter */ 244f45f09e8Schristos 245f45f09e8Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CaptureComments, FALSE); 246f45f09e8Schristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_LastListHead, NULL); 24728c506b8Sjruoho 24828c506b8Sjruoho 24928c506b8Sjruoho /***************************************************************************** 25028c506b8Sjruoho * 25128c506b8Sjruoho * Hardware globals 25228c506b8Sjruoho * 25328c506b8Sjruoho ****************************************************************************/ 25428c506b8Sjruoho 25528c506b8Sjruoho extern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG]; 256414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeA); 257414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeB); 25886cbec8eSchristos ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeAS0); 25986cbec8eSchristos ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeBS0); 26028c506b8Sjruoho 26128c506b8Sjruoho 26228c506b8Sjruoho /***************************************************************************** 26328c506b8Sjruoho * 26428c506b8Sjruoho * Event and GPE globals 26528c506b8Sjruoho * 26628c506b8Sjruoho ****************************************************************************/ 26728c506b8Sjruoho 268a2c051a9Schristos #if (!ACPI_REDUCED_HARDWARE) 269414ef032Schristos ACPI_GLOBAL (UINT8, AcpiGbl_AllGpesInitialized); 270414ef032Schristos ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *, AcpiGbl_GpeXruptListHead); 271414ef032Schristos ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *, AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]); 272414ef032Schristos ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER, AcpiGbl_GlobalEventHandler); 273414ef032Schristos ACPI_GLOBAL (void *, AcpiGbl_GlobalEventHandlerContext); 274414ef032Schristos ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER, AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]); 275159c4e26Sjruoho extern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS]; 276a2c051a9Schristos #endif /* !ACPI_REDUCED_HARDWARE */ 27728c506b8Sjruoho 278f45f09e8Schristos 27928c506b8Sjruoho /***************************************************************************** 28028c506b8Sjruoho * 28128c506b8Sjruoho * Debug support 28228c506b8Sjruoho * 28328c506b8Sjruoho ****************************************************************************/ 28428c506b8Sjruoho 28528c506b8Sjruoho /* Event counters */ 28628c506b8Sjruoho 287414ef032Schristos ACPI_GLOBAL (UINT64, AcpiMethodCount); 288414ef032Schristos ACPI_GLOBAL (UINT64, AcpiGpeCount); 289414ef032Schristos ACPI_GLOBAL (UINT64, AcpiSciCount); 290414ef032Schristos ACPI_GLOBAL (UINT64, AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]); 29128c506b8Sjruoho 292f45f09e8Schristos /* Dynamic control method tracing mechanism */ 29328c506b8Sjruoho 294414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLevel); 295414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLayer); 29628c506b8Sjruoho 29728c506b8Sjruoho 29828c506b8Sjruoho /***************************************************************************** 29928c506b8Sjruoho * 300f45f09e8Schristos * Debugger and Disassembler 30128c506b8Sjruoho * 30228c506b8Sjruoho ****************************************************************************/ 30328c506b8Sjruoho 304414ef032Schristos ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT); 30528c506b8Sjruoho 306f45f09e8Schristos 30728c506b8Sjruoho #ifdef ACPI_DISASSEMBLER 30828c506b8Sjruoho 309414ef032Schristos /* Do not disassemble buffers to resource descriptors */ 310a2c051a9Schristos 311414ef032Schristos ACPI_INIT_GLOBAL (UINT8, AcpiGbl_NoResourceDisassembly, FALSE); 312414ef032Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnoreNoopOperator, FALSE); 313cb2bd8f0Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CstyleDisassembly, TRUE); 314cb2bd8f0Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ForceAmlDisassembly, FALSE); 31581bd9c9cSchristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Verbose, TRUE); 31672abab0cSchristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmEmitExternalOpcodes, FALSE); 31747dc3895Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DoDisassemblerOptimizations, TRUE); 318ae01dbf5Schristos ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT_LIST, *AcpiGbl_TempListHead, NULL); 319414ef032Schristos 32081bd9c9cSchristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Disasm); 32181bd9c9cSchristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Listing); 322414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_NumExternalMethods); 323414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_ResolvedExternalMethods); 324414ef032Schristos ACPI_GLOBAL (ACPI_EXTERNAL_LIST *, AcpiGbl_ExternalList); 325414ef032Schristos ACPI_GLOBAL (ACPI_EXTERNAL_FILE *, AcpiGbl_ExternalFileList); 32628c506b8Sjruoho #endif 32728c506b8Sjruoho 32828c506b8Sjruoho #ifdef ACPI_DEBUGGER 329414ef032Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_AbortMethod, FALSE); 33081bd9c9cSchristos ACPI_INIT_GLOBAL (ACPI_THREAD_ID, AcpiGbl_DbThreadId, ACPI_INVALID_THREAD_ID); 331f5b481b3Schristos ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NextCmdNum, 1); 33228c506b8Sjruoho 333cb2bd8f0Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoIniMethods); 334414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoRegionSupport); 335414ef032Schristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOutputToFile); 336414ef032Schristos ACPI_GLOBAL (char *, AcpiGbl_DbBuffer); 337414ef032Schristos ACPI_GLOBAL (char *, AcpiGbl_DbFilename); 338414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_DbDebugLevel); 339414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_DbConsoleDebugLevel); 340414ef032Schristos ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_DbScopeNode); 34181bd9c9cSchristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbTerminateLoop); 34281bd9c9cSchristos ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbThreadsTerminated); 343414ef032Schristos ACPI_GLOBAL (char *, AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]); 344414ef032Schristos ACPI_GLOBAL (ACPI_OBJECT_TYPE, AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]); 345a2c051a9Schristos 346a2c051a9Schristos /* These buffers should all be the same size */ 347a2c051a9Schristos 348414ef032Schristos ACPI_GLOBAL (char, AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]); 349414ef032Schristos ACPI_GLOBAL (char, AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]); 350414ef032Schristos ACPI_GLOBAL (char, AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]); 351a2c051a9Schristos 352f45f09e8Schristos /* Statistics globals */ 353f45f09e8Schristos 35481bd9c9cSchristos ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]); 35581bd9c9cSchristos ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]); 356414ef032Schristos ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCountMisc); 357414ef032Schristos ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCountMisc); 358414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_NumNodes); 359414ef032Schristos ACPI_GLOBAL (UINT32, AcpiGbl_NumObjects); 36028c506b8Sjruoho #endif /* ACPI_DEBUGGER */ 36128c506b8Sjruoho 36249c2f1f4Schristos #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER) 36349c2f1f4Schristos ACPI_GLOBAL (const char, *AcpiGbl_PldPanelList[]); 36449c2f1f4Schristos ACPI_GLOBAL (const char, *AcpiGbl_PldVerticalPositionList[]); 36549c2f1f4Schristos ACPI_GLOBAL (const char, *AcpiGbl_PldHorizontalPositionList[]); 36649c2f1f4Schristos ACPI_GLOBAL (const char, *AcpiGbl_PldShapeList[]); 367ae01dbf5Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DisasmFlag, FALSE); 36849c2f1f4Schristos #endif 369a2c051a9Schristos 370f45f09e8Schristos 371f45f09e8Schristos /***************************************************************************** 372f45f09e8Schristos * 373f45f09e8Schristos * ACPICA application-specific globals 374f45f09e8Schristos * 375f45f09e8Schristos ****************************************************************************/ 376f45f09e8Schristos 377f45f09e8Schristos /* ASL-to-ASL+ conversion utility (implemented within the iASL compiler) */ 378f45f09e8Schristos 379f45f09e8Schristos #ifdef ACPI_ASL_COMPILER 3808f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentInlineComment, NULL); 3818f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentEndNodeComment, NULL); 3828f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentOpenBraceComment, NULL); 3838f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentCloseBraceComment, NULL); 3848f1e17bdSchristos 3858f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_RootFilename, NULL); 3868f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentFilename, NULL); 3878f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentParentFilename, NULL); 3888f1e17bdSchristos ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentIncludeFilename, NULL); 3898f1e17bdSchristos 3908f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListHead, NULL); 3918f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListTail, NULL); 3928f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListHead, NULL); 3938f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListTail, NULL); 3948f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListHead, NULL); 3958f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListTail, NULL); 3968f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListHead, NULL); 3978f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListTail, NULL); 3988f1e17bdSchristos 3998f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE, *AcpiGbl_CommentAddrListHead, NULL); 4008f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_FILE_NODE, *AcpiGbl_FileTreeRoot, NULL); 4018f1e17bdSchristos 4028f1e17bdSchristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_RegCommentCache); 4038f1e17bdSchristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_CommentAddrCache); 4048f1e17bdSchristos ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_FileCache); 4058f1e17bdSchristos 4068f1e17bdSchristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugAslConversion, FALSE); 4078f1e17bdSchristos ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_ConvDebugFile, NULL); 4088f1e17bdSchristos ACPI_GLOBAL (char, AcpiGbl_TableSig[4]); 409f45f09e8Schristos #endif 410a2c051a9Schristos 411a2c051a9Schristos #ifdef ACPI_APPLICATION 412414ef032Schristos ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_DebugFile, NULL); 413414ef032Schristos ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_OutputFile, NULL); 41447dc3895Schristos ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugTimeout, FALSE); 415414ef032Schristos 416414ef032Schristos /* Print buffer */ 417414ef032Schristos 418414ef032Schristos ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_PrintLock); /* For print buffer */ 419414ef032Schristos ACPI_GLOBAL (char, AcpiGbl_PrintBuffer[1024]); 420a2c051a9Schristos #endif /* ACPI_APPLICATION */ 421a2c051a9Schristos 42228c506b8Sjruoho #endif /* __ACGLOBAL_H__ */ 423