4c4
< * $Revision: 1.168 $
---
> * $Revision: 1.194 $
12c12
< * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp.
---
> * Some or all of this work - Copyright (c) 1999 - 2007, Intel Corp.
135,140d134
< /*
< * Keep local copies of these FADT-based registers. NOTE: These globals
< * are first in this file for alignment reasons on 64-bit systems.
< */
< ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
< ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
142d135
<
145,168d137
< * Debug support
< *
< ****************************************************************************/
<
< /* Runtime configuration of debug print levels */
<
< extern UINT32 AcpiDbgLevel;
< extern UINT32 AcpiDbgLayer;
<
< /* Procedure nesting level for debug output */
<
< extern UINT32 AcpiGbl_NestingLevel;
<
< /* Support for dynamic control method tracing mechanism */
<
< ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel;
< ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer;
< ACPI_EXTERN ACPI_NAME AcpiGbl_TraceMethodName;
< ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel;
< ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer;
< ACPI_EXTERN UINT32 AcpiGbl_TraceFlags;
<
< /*****************************************************************************
< *
176c145,148
< * allows the interpreter to forgive certain bad AML constructs. Currently:
---
> * allows the interpreter to ignore certain errors and/or bad AML constructs.
> *
> * Currently, these features are enabled by this flag:
> *
178c150
< * 2) Allow access beyond end of operation region
---
> * 2) Allow access beyond the end of an operation region
180a153,154
> * 5) Allow unresolved references (invalid target name) in package objects
> * 6) Enable warning messages for behavior that is not ACPI spec compliant
214,216c188,189
< * Table pointers.
< * Although these pointers are somewhat redundant with the global AcpiTable,
< * they are convenient because they are typed pointers.
---
> * AcpiGbl_RootTableList is the master list of ACPI tables found in the
> * RSDT/XSDT.
218,219c191
< * These tables are single-table only; meaning that there can be at most one
< * of each in the system. Each global points to the actual table.
---
> * AcpiGbl_FADT is a local copy of the FADT, converted to a common format.
221,232c193,194
< ACPI_EXTERN UINT32 AcpiGbl_TableFlags;
< ACPI_EXTERN UINT32 AcpiGbl_RsdtTableCount;
< ACPI_EXTERN RSDP_DESCRIPTOR *AcpiGbl_RSDP;
< ACPI_EXTERN XSDT_DESCRIPTOR *AcpiGbl_XSDT;
< ACPI_EXTERN FADT_DESCRIPTOR *AcpiGbl_FADT;
< ACPI_EXTERN ACPI_TABLE_HEADER *AcpiGbl_DSDT;
< ACPI_EXTERN FACS_DESCRIPTOR *AcpiGbl_FACS;
< ACPI_EXTERN ACPI_COMMON_FACS AcpiGbl_CommonFACS;
< /*
< * Since there may be multiple SSDTs and PSDTs, a single pointer is not
< * sufficient; Therefore, there isn't one!
< */
---
> ACPI_EXTERN ACPI_INTERNAL_RSDT AcpiGbl_RootTableList;
> ACPI_EXTERN ACPI_TABLE_FADT AcpiGbl_FADT;
233a196
> /* These addresses are calculated from FADT address values */
235c198,199
< /* The root table can be either an RSDT or an XSDT */
---
> ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
> ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
237,241d200
< ACPI_EXTERN UINT8 AcpiGbl_RootTableType;
< #define ACPI_TABLE_TYPE_RSDT 'R'
< #define ACPI_TABLE_TYPE_XSDT 'X'
<
<
243,245c202,204
< * Handle both ACPI 1.0 and ACPI 2.0 Integer widths:
< * If we are executing a method that exists in a 32-bit ACPI table,
< * use only the lower 32 bits of the (internal) 64-bit Integer.
---
> * Handle both ACPI 1.0 and ACPI 2.0 Integer widths. The integer width is
> * determined by the revision of the DSDT: If the DSDT revision is less than
> * 2, use only the lower 32 bits of the internal 64-bit Integer.
251,255d209
< /*
< * ACPI Table info arrays
< */
< extern ACPI_TABLE_LIST AcpiGbl_TableLists[NUM_ACPI_TABLE_TYPES];
< extern ACPI_TABLE_SUPPORT AcpiGbl_TableData[NUM_ACPI_TABLE_TYPES];
256a211,216
> /*****************************************************************************
> *
> * Mutual exlusion within ACPICA subsystem
> *
> ****************************************************************************/
>
258c218
< * Predefined mutex objects. This array contains the
---
> * Predefined mutex objects. This array contains the
262c222
< ACPI_EXTERN ACPI_MUTEX_INFO AcpiGbl_MutexInfo[NUM_MUTEX];
---
> ACPI_EXTERN ACPI_MUTEX_INFO AcpiGbl_MutexInfo[ACPI_NUM_MUTEX];
263a224,232
> /*
> * Global lock mutex is an actual AML mutex object
> * Global lock semaphore works in conjunction with the HW global lock
> */
> ACPI_EXTERN ACPI_OPERAND_OBJECT *AcpiGbl_GlobalLockMutex;
> ACPI_EXTERN ACPI_SEMAPHORE AcpiGbl_GlobalLockSemaphore;
> ACPI_EXTERN UINT16 AcpiGbl_GlobalLockHandle;
> ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockAcquired;
> ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPresent;
264a234,241
> /*
> * Spinlocks are used for interfaces that can be possibly called at
> * interrupt level
> */
> ACPI_EXTERN ACPI_SPINLOCK AcpiGbl_GpeLock; /* For GPE data structs and registers */
> ACPI_EXTERN ACPI_SPINLOCK AcpiGbl_HardwareLock; /* For ACPI H/W except GPE registers */
>
>
271,278d247
< #ifdef ACPI_DBG_TRACK_ALLOCATIONS
<
< /* Lists for tracking memory allocations */
<
< ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList;
< ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList;
< #endif
<
280a250
> ACPI_EXTERN ACPI_CACHE_T *AcpiGbl_NamespaceCache;
293d262
< ACPI_EXTERN ACPI_HANDLE AcpiGbl_GlobalLockSemaphore;
294a264,269
> /* Owner ID support */
>
> ACPI_EXTERN UINT32 AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS];
> ACPI_EXTERN UINT8 AcpiGbl_LastOwnerIdIndex;
> ACPI_EXTERN UINT8 AcpiGbl_NextOwnerIdOffset;
>
297d271
< ACPI_EXTERN UINT32 AcpiGbl_GlobalLockThreadCount;
302d275
< ACPI_EXTERN UINT32 AcpiGbl_OwnerIdMask;
304d276
< ACPI_EXTERN UINT16 AcpiGbl_GlobalLockHandle;
306d277
< ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockAcquired;
309d279
< ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPresent;
312a283,295
>
> #ifndef DEFINE_ACPI_GLOBALS
>
> /* Exception codes */
>
> extern char const *AcpiGbl_ExceptionNames_Env[];
> extern char const *AcpiGbl_ExceptionNames_Pgm[];
> extern char const *AcpiGbl_ExceptionNames_Tbl[];
> extern char const *AcpiGbl_ExceptionNames_Aml[];
> extern char const *AcpiGbl_ExceptionNames_Ctrl[];
>
> /* Other miscellaneous */
>
315d297
< extern const UINT8 AcpiGbl_DecodeTo8bit[8];
320c302
< extern const char *AcpiGbl_ValidOsiStrings[ACPI_NUM_OSI_STRINGS];
---
> #endif
322a305,314
> #ifdef ACPI_DBG_TRACK_ALLOCATIONS
>
> /* Lists for tracking memory allocations */
>
> ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList;
> ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList;
> ACPI_EXTERN BOOLEAN AcpiGbl_DisplayFinalMemStats;
> #endif
>
>
370,378d361
< * Parser globals
< *
< ****************************************************************************/
<
< ACPI_EXTERN ACPI_PARSE_OBJECT *AcpiGbl_ParsedNamespaceRoot;
<
<
< /*****************************************************************************
< *
398d380
< ACPI_EXTERN ACPI_HANDLE AcpiGbl_GpeLock;
402a385,413
> * Debug support
> *
> ****************************************************************************/
>
> /* Runtime configuration of debug print levels */
>
> extern UINT32 AcpiDbgLevel;
> extern UINT32 AcpiDbgLayer;
>
> /* Procedure nesting level for debug output */
>
> extern UINT32 AcpiGbl_NestingLevel;
>
> /* Event counters */
>
> ACPI_EXTERN UINT32 AcpiGpeCount;
>
> /* Support for dynamic control method tracing mechanism */
>
> ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel;
> ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer;
> ACPI_EXTERN ACPI_NAME AcpiGbl_TraceMethodName;
> ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel;
> ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer;
> ACPI_EXTERN UINT32 AcpiGbl_TraceFlags;
>
>
> /*****************************************************************************
> *
< * $Revision: 1.168 $
---
> * $Revision: 1.194 $
12c12
< * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp.
---
> * Some or all of this work - Copyright (c) 1999 - 2007, Intel Corp.
135,140d134
< /*
< * Keep local copies of these FADT-based registers. NOTE: These globals
< * are first in this file for alignment reasons on 64-bit systems.
< */
< ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
< ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
142d135
<
145,168d137
< * Debug support
< *
< ****************************************************************************/
<
< /* Runtime configuration of debug print levels */
<
< extern UINT32 AcpiDbgLevel;
< extern UINT32 AcpiDbgLayer;
<
< /* Procedure nesting level for debug output */
<
< extern UINT32 AcpiGbl_NestingLevel;
<
< /* Support for dynamic control method tracing mechanism */
<
< ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel;
< ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer;
< ACPI_EXTERN ACPI_NAME AcpiGbl_TraceMethodName;
< ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel;
< ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer;
< ACPI_EXTERN UINT32 AcpiGbl_TraceFlags;
<
< /*****************************************************************************
< *
176c145,148
< * allows the interpreter to forgive certain bad AML constructs. Currently:
---
> * allows the interpreter to ignore certain errors and/or bad AML constructs.
> *
> * Currently, these features are enabled by this flag:
> *
178c150
< * 2) Allow access beyond end of operation region
---
> * 2) Allow access beyond the end of an operation region
180a153,154
> * 5) Allow unresolved references (invalid target name) in package objects
> * 6) Enable warning messages for behavior that is not ACPI spec compliant
214,216c188,189
< * Table pointers.
< * Although these pointers are somewhat redundant with the global AcpiTable,
< * they are convenient because they are typed pointers.
---
> * AcpiGbl_RootTableList is the master list of ACPI tables found in the
> * RSDT/XSDT.
218,219c191
< * These tables are single-table only; meaning that there can be at most one
< * of each in the system. Each global points to the actual table.
---
> * AcpiGbl_FADT is a local copy of the FADT, converted to a common format.
221,232c193,194
< ACPI_EXTERN UINT32 AcpiGbl_TableFlags;
< ACPI_EXTERN UINT32 AcpiGbl_RsdtTableCount;
< ACPI_EXTERN RSDP_DESCRIPTOR *AcpiGbl_RSDP;
< ACPI_EXTERN XSDT_DESCRIPTOR *AcpiGbl_XSDT;
< ACPI_EXTERN FADT_DESCRIPTOR *AcpiGbl_FADT;
< ACPI_EXTERN ACPI_TABLE_HEADER *AcpiGbl_DSDT;
< ACPI_EXTERN FACS_DESCRIPTOR *AcpiGbl_FACS;
< ACPI_EXTERN ACPI_COMMON_FACS AcpiGbl_CommonFACS;
< /*
< * Since there may be multiple SSDTs and PSDTs, a single pointer is not
< * sufficient; Therefore, there isn't one!
< */
---
> ACPI_EXTERN ACPI_INTERNAL_RSDT AcpiGbl_RootTableList;
> ACPI_EXTERN ACPI_TABLE_FADT AcpiGbl_FADT;
233a196
> /* These addresses are calculated from FADT address values */
235c198,199
< /* The root table can be either an RSDT or an XSDT */
---
> ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
> ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
237,241d200
< ACPI_EXTERN UINT8 AcpiGbl_RootTableType;
< #define ACPI_TABLE_TYPE_RSDT 'R'
< #define ACPI_TABLE_TYPE_XSDT 'X'
<
<
243,245c202,204
< * Handle both ACPI 1.0 and ACPI 2.0 Integer widths:
< * If we are executing a method that exists in a 32-bit ACPI table,
< * use only the lower 32 bits of the (internal) 64-bit Integer.
---
> * Handle both ACPI 1.0 and ACPI 2.0 Integer widths. The integer width is
> * determined by the revision of the DSDT: If the DSDT revision is less than
> * 2, use only the lower 32 bits of the internal 64-bit Integer.
251,255d209
< /*
< * ACPI Table info arrays
< */
< extern ACPI_TABLE_LIST AcpiGbl_TableLists[NUM_ACPI_TABLE_TYPES];
< extern ACPI_TABLE_SUPPORT AcpiGbl_TableData[NUM_ACPI_TABLE_TYPES];
256a211,216
> /*****************************************************************************
> *
> * Mutual exlusion within ACPICA subsystem
> *
> ****************************************************************************/
>
258c218
< * Predefined mutex objects. This array contains the
---
> * Predefined mutex objects. This array contains the
262c222
< ACPI_EXTERN ACPI_MUTEX_INFO AcpiGbl_MutexInfo[NUM_MUTEX];
---
> ACPI_EXTERN ACPI_MUTEX_INFO AcpiGbl_MutexInfo[ACPI_NUM_MUTEX];
263a224,232
> /*
> * Global lock mutex is an actual AML mutex object
> * Global lock semaphore works in conjunction with the HW global lock
> */
> ACPI_EXTERN ACPI_OPERAND_OBJECT *AcpiGbl_GlobalLockMutex;
> ACPI_EXTERN ACPI_SEMAPHORE AcpiGbl_GlobalLockSemaphore;
> ACPI_EXTERN UINT16 AcpiGbl_GlobalLockHandle;
> ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockAcquired;
> ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPresent;
264a234,241
> /*
> * Spinlocks are used for interfaces that can be possibly called at
> * interrupt level
> */
> ACPI_EXTERN ACPI_SPINLOCK AcpiGbl_GpeLock; /* For GPE data structs and registers */
> ACPI_EXTERN ACPI_SPINLOCK AcpiGbl_HardwareLock; /* For ACPI H/W except GPE registers */
>
>
271,278d247
< #ifdef ACPI_DBG_TRACK_ALLOCATIONS
<
< /* Lists for tracking memory allocations */
<
< ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList;
< ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList;
< #endif
<
280a250
> ACPI_EXTERN ACPI_CACHE_T *AcpiGbl_NamespaceCache;
293d262
< ACPI_EXTERN ACPI_HANDLE AcpiGbl_GlobalLockSemaphore;
294a264,269
> /* Owner ID support */
>
> ACPI_EXTERN UINT32 AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS];
> ACPI_EXTERN UINT8 AcpiGbl_LastOwnerIdIndex;
> ACPI_EXTERN UINT8 AcpiGbl_NextOwnerIdOffset;
>
297d271
< ACPI_EXTERN UINT32 AcpiGbl_GlobalLockThreadCount;
302d275
< ACPI_EXTERN UINT32 AcpiGbl_OwnerIdMask;
304d276
< ACPI_EXTERN UINT16 AcpiGbl_GlobalLockHandle;
306d277
< ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockAcquired;
309d279
< ACPI_EXTERN BOOLEAN AcpiGbl_GlobalLockPresent;
312a283,295
>
> #ifndef DEFINE_ACPI_GLOBALS
>
> /* Exception codes */
>
> extern char const *AcpiGbl_ExceptionNames_Env[];
> extern char const *AcpiGbl_ExceptionNames_Pgm[];
> extern char const *AcpiGbl_ExceptionNames_Tbl[];
> extern char const *AcpiGbl_ExceptionNames_Aml[];
> extern char const *AcpiGbl_ExceptionNames_Ctrl[];
>
> /* Other miscellaneous */
>
315d297
< extern const UINT8 AcpiGbl_DecodeTo8bit[8];
320c302
< extern const char *AcpiGbl_ValidOsiStrings[ACPI_NUM_OSI_STRINGS];
---
> #endif
322a305,314
> #ifdef ACPI_DBG_TRACK_ALLOCATIONS
>
> /* Lists for tracking memory allocations */
>
> ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_GlobalList;
> ACPI_EXTERN ACPI_MEMORY_LIST *AcpiGbl_NsNodeList;
> ACPI_EXTERN BOOLEAN AcpiGbl_DisplayFinalMemStats;
> #endif
>
>
370,378d361
< * Parser globals
< *
< ****************************************************************************/
<
< ACPI_EXTERN ACPI_PARSE_OBJECT *AcpiGbl_ParsedNamespaceRoot;
<
<
< /*****************************************************************************
< *
398d380
< ACPI_EXTERN ACPI_HANDLE AcpiGbl_GpeLock;
402a385,413
> * Debug support
> *
> ****************************************************************************/
>
> /* Runtime configuration of debug print levels */
>
> extern UINT32 AcpiDbgLevel;
> extern UINT32 AcpiDbgLayer;
>
> /* Procedure nesting level for debug output */
>
> extern UINT32 AcpiGbl_NestingLevel;
>
> /* Event counters */
>
> ACPI_EXTERN UINT32 AcpiGpeCount;
>
> /* Support for dynamic control method tracing mechanism */
>
> ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLevel;
> ACPI_EXTERN UINT32 AcpiGbl_OriginalDbgLayer;
> ACPI_EXTERN ACPI_NAME AcpiGbl_TraceMethodName;
> ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLevel;
> ACPI_EXTERN UINT32 AcpiGbl_TraceDbgLayer;
> ACPI_EXTERN UINT32 AcpiGbl_TraceFlags;
>
>
> /*****************************************************************************
> *