mirror of
https://github.com/acpica/acpica/
synced 2025-03-27 08:33:08 +03:00
Another pass through the source to prefix all local types with "ACPI_"
date 2001.04.26.21.03.00; author rmoore1; state Exp;
This commit is contained in:
parent
b9a244fb69
commit
42601b19d0
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acglobal.h - Declarations for global variables
|
||||
* $Revision: 1.100 $
|
||||
* $Revision: 1.101 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -293,7 +293,7 @@ ACPI_EXTERN ACPI_WALK_LIST *AcpiGbl_CurrentWalkList;
|
||||
/*
|
||||
* Table of Address Space handlers
|
||||
*/
|
||||
ACPI_EXTERN ACPI_ADDRESS_SPACE_INFO AcpiGbl_AddressSpaces[ACPI_NUM_ADDRESS_SPACES];
|
||||
ACPI_EXTERN ACPI_ADR_SPACE_INFO AcpiGbl_AddressSpaces[ACPI_NUM_ADDRESS_SPACES];
|
||||
|
||||
|
||||
/* Control method single step flag */
|
||||
@ -325,7 +325,7 @@ extern UINT32 AcpiHwActiveCxState;
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
ACPI_EXTERN ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventHandlers[NUM_FIXED_EVENTS];
|
||||
ACPI_EXTERN ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS];
|
||||
|
||||
ACPI_EXTERN ACPI_HANDLE AcpiGbl_GpeObjHandle;
|
||||
ACPI_EXTERN UINT32 AcpiGbl_GpeRegisterCount;
|
||||
@ -340,12 +340,12 @@ ACPI_EXTERN ACPI_GPE_LEVEL_INFO *AcpiGbl_GpeInfo;
|
||||
* This table is needed because the GPE numbers supported by block 1 do not
|
||||
* have to be contiguous with the GPE numbers supported by block 0.
|
||||
*/
|
||||
ACPI_EXTERN UINT8 AcpiGbl_GpeValid [NUM_GPE];
|
||||
ACPI_EXTERN UINT8 AcpiGbl_GpeValid [ACPI_NUM_GPE];
|
||||
|
||||
/* AcpiEvent counter for debug only */
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
ACPI_EXTERN UINT32 AcpiGbl_EventCount[NUM_FIXED_EVENTS];
|
||||
ACPI_EXTERN UINT32 AcpiGbl_EventCount[ACPI_NUM_FIXED_EVENTS];
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
|
||||
* $Revision: 1.97 $
|
||||
* $Revision: 1.100 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -181,7 +181,7 @@ AcpiAmlConvertToString (
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlConvertToTargetType (
|
||||
OBJECT_TYPE_INTERNAL DestinationType,
|
||||
ACPI_OBJECT_TYPE8 DestinationType,
|
||||
ACPI_OPERAND_OBJECT **ObjDesc,
|
||||
ACPI_WALK_STATE *WalkState);
|
||||
|
||||
@ -191,7 +191,7 @@ AcpiAmlConvertToTargetType (
|
||||
*/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlReadField (
|
||||
AcpiAmlExtractFromField (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength,
|
||||
@ -201,7 +201,7 @@ AcpiAmlReadField (
|
||||
UINT32 ByteGranularity);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlWriteField (
|
||||
AcpiAmlInsertIntoField (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength,
|
||||
@ -217,25 +217,65 @@ AcpiAmlSetupField (
|
||||
UINT32 FieldBitWidth);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlReadFieldData (
|
||||
AcpiAmlReadFieldDatum (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
UINT32 FieldByteOffset,
|
||||
UINT32 FieldBitWidth,
|
||||
UINT32 *Value);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlAccessNamedField (
|
||||
AcpiAmlCommonAccessField (
|
||||
UINT32 Mode,
|
||||
ACPI_NAMESPACE_NODE *FieldNode,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 Length);
|
||||
UINT32 BufferLength);
|
||||
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlAccessIndexField (
|
||||
UINT32 Mode,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlAccessBankField (
|
||||
UINT32 Mode,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlAccessRegionField (
|
||||
UINT32 Mode,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength);
|
||||
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlAccessBufferField (
|
||||
UINT32 Mode,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
void *Buffer,
|
||||
UINT32 BufferLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlReadDataFromField (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
ACPI_OPERAND_OBJECT **RetBufferDesc);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlWriteDataToField (
|
||||
ACPI_OPERAND_OBJECT *SourceDesc,
|
||||
ACPI_OPERAND_OBJECT *ObjDesc);
|
||||
|
||||
/*
|
||||
* ammisc - ACPI AML (p-code) execution - specific opcodes
|
||||
*/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlExecCreateField (
|
||||
AcpiAmlCreateBufferField (
|
||||
UINT8 *AmlPtr,
|
||||
UINT32 AmlLength,
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
@ -326,11 +366,17 @@ AcpiAmlUnlinkMutex (
|
||||
*/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlPrepDefFieldValue (
|
||||
AcpiAmlPrepCommonFieldObject (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc,
|
||||
UINT8 FieldFlags,
|
||||
UINT32 FieldPosition,
|
||||
UINT32 FieldLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlPrepRegionFieldValue (
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
ACPI_HANDLE Region,
|
||||
UINT8 FieldFlags,
|
||||
UINT8 FieldAttribute,
|
||||
UINT32 FieldPosition,
|
||||
UINT32 FieldLength);
|
||||
|
||||
@ -341,17 +387,15 @@ AcpiAmlPrepBankFieldValue (
|
||||
ACPI_NAMESPACE_NODE *BankRegisterNode,
|
||||
UINT32 BankVal,
|
||||
UINT8 FieldFlags,
|
||||
UINT8 FieldAttribute,
|
||||
UINT32 FieldPosition,
|
||||
UINT32 FieldLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlPrepIndexFieldValue (
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
ACPI_HANDLE IndexReg,
|
||||
ACPI_HANDLE DataReg,
|
||||
ACPI_NAMESPACE_NODE *IndexReg,
|
||||
ACPI_NAMESPACE_NODE *DataReg,
|
||||
UINT8 FieldFlags,
|
||||
UINT8 FieldAttribute,
|
||||
UINT32 FieldPosition,
|
||||
UINT32 FieldLength);
|
||||
|
||||
@ -471,7 +515,7 @@ AcpiAmlResolveObjectToValue (
|
||||
ACPI_WALK_STATE *WalkState);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlGetFieldUnitValue (
|
||||
AcpiAmlGetBufferFieldValue (
|
||||
ACPI_OPERAND_OBJECT *FieldDesc,
|
||||
ACPI_OPERAND_OBJECT *ResultDesc);
|
||||
|
||||
@ -533,7 +577,7 @@ AcpiAmlExecNameSegment (
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlGetNameString (
|
||||
OBJECT_TYPE_INTERNAL DataType,
|
||||
ACPI_OBJECT_TYPE8 DataType,
|
||||
UINT8 *InAmlAddress,
|
||||
NATIVE_CHAR **OutNameString,
|
||||
UINT32 *OutNameLength);
|
||||
@ -580,13 +624,13 @@ AcpiAmlStoreObjectToObject (
|
||||
ACPI_STATUS
|
||||
AcpiAmlResolveObject (
|
||||
ACPI_OPERAND_OBJECT **SourceDescPtr,
|
||||
OBJECT_TYPE_INTERNAL TargetType,
|
||||
ACPI_OBJECT_TYPE8 TargetType,
|
||||
ACPI_WALK_STATE *WalkState);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlStoreObject (
|
||||
ACPI_OPERAND_OBJECT *SourceDesc,
|
||||
OBJECT_TYPE_INTERNAL TargetType,
|
||||
ACPI_OBJECT_TYPE8 TargetType,
|
||||
ACPI_OPERAND_OBJECT **TargetDescPtr,
|
||||
ACPI_WALK_STATE *WalkState);
|
||||
|
||||
@ -621,7 +665,7 @@ AcpiAmlCopyDataToNamedField (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiAmlCopyIntegerToFieldUnit (
|
||||
AcpiAmlCopyIntegerToBufferField (
|
||||
ACPI_OPERAND_OBJECT *SourceDesc,
|
||||
ACPI_OPERAND_OBJECT *TargetDesc);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: aclocal.h - Internal data types used across the ACPI subsystem
|
||||
* $Revision: 1.85 $
|
||||
* $Revision: 1.116 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999, Intel Corp. All rights
|
||||
* reserved.
|
||||
* Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
*
|
||||
@ -118,20 +118,21 @@
|
||||
#define __ACLOCAL_H__
|
||||
|
||||
|
||||
#define WAIT_FOREVER ((UINT32) -1)
|
||||
#define WAIT_FOREVER ((UINT32) -1)
|
||||
|
||||
typedef void* ACPI_MUTEX;
|
||||
typedef UINT32 ACPI_MUTEX_HANDLE;
|
||||
typedef void* ACPI_MUTEX;
|
||||
typedef UINT32 ACPI_MUTEX_HANDLE;
|
||||
|
||||
|
||||
/* Object descriptor types */
|
||||
|
||||
#define ACPI_CACHED_OBJECT 0x11 /* ORed in when object is cached */
|
||||
#define ACPI_DESC_TYPE_STATE 0x22
|
||||
#define ACPI_DESC_TYPE_WALK 0x44
|
||||
#define ACPI_DESC_TYPE_PARSER 0x66
|
||||
#define ACPI_DESC_TYPE_INTERNAL 0x88
|
||||
#define ACPI_DESC_TYPE_NAMED 0xAA
|
||||
#define ACPI_CACHED_OBJECT 0x11 /* ORed in when object is cached */
|
||||
#define ACPI_DESC_TYPE_STATE 0x22
|
||||
#define ACPI_DESC_TYPE_WALK 0x44
|
||||
#define ACPI_DESC_TYPE_PARSER 0x66
|
||||
#define ACPI_DESC_TYPE_INTERNAL 0x88
|
||||
#define ACPI_DESC_TYPE_NAMED 0xAA
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -144,47 +145,51 @@ typedef UINT32 ACPI_MUTEX_HANDLE;
|
||||
/*
|
||||
* Predefined handles for the mutex objects used within the subsystem
|
||||
* All mutex objects are automatically created by AcpiCmMutexInitialize.
|
||||
*
|
||||
* The acquire/release ordering protocol is implied via this list. Mutexes
|
||||
* with a lower value must be acquired before mutexes with a higher value.
|
||||
*
|
||||
* NOTE: any changes here must be reflected in the AcpiGbl_MutexNames table also!
|
||||
*/
|
||||
|
||||
#define ACPI_MTX_HARDWARE 0
|
||||
#define ACPI_MTX_MEMORY 1
|
||||
#define ACPI_MTX_CACHES 2
|
||||
#define ACPI_MTX_TABLES 3
|
||||
#define ACPI_MTX_PARSER 4
|
||||
#define ACPI_MTX_DISPATCHER 5
|
||||
#define ACPI_MTX_INTERPRETER 6
|
||||
#define ACPI_MTX_EXECUTE 7
|
||||
#define ACPI_MTX_NAMESPACE 8
|
||||
#define ACPI_MTX_EVENTS 9
|
||||
#define ACPI_MTX_OP_REGIONS 10
|
||||
#define ACPI_MTX_DEBUG_CMD_READY 11
|
||||
#define ACPI_MTX_DEBUG_CMD_COMPLETE 12
|
||||
#define ACPI_MTX_EXECUTE 0
|
||||
#define ACPI_MTX_INTERPRETER 1
|
||||
#define ACPI_MTX_PARSER 2
|
||||
#define ACPI_MTX_DISPATCHER 3
|
||||
#define ACPI_MTX_TABLES 4
|
||||
#define ACPI_MTX_OP_REGIONS 5
|
||||
#define ACPI_MTX_NAMESPACE 6
|
||||
#define ACPI_MTX_EVENTS 7
|
||||
#define ACPI_MTX_HARDWARE 8
|
||||
#define ACPI_MTX_CACHES 9
|
||||
#define ACPI_MTX_MEMORY 10
|
||||
#define ACPI_MTX_DEBUG_CMD_COMPLETE 11
|
||||
#define ACPI_MTX_DEBUG_CMD_READY 12
|
||||
|
||||
#define MAX_MTX 12
|
||||
#define NUM_MTX MAX_MTX+1
|
||||
#define MAX_MTX 12
|
||||
#define NUM_MTX MAX_MTX+1
|
||||
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
|
||||
#ifdef DEFINE_ACPI_GLOBALS
|
||||
|
||||
/* Names for the mutexes used in the subsystem */
|
||||
|
||||
static NATIVE_CHAR *AcpiGbl_MutexNames[] =
|
||||
{
|
||||
"ACPI_MTX_Hardware",
|
||||
"ACPI_MTX_Memory",
|
||||
"ACPI_MTX_Caches",
|
||||
"ACPI_MTX_Tables",
|
||||
"ACPI_MTX_Execute",
|
||||
"ACPI_MTX_Interpreter",
|
||||
"ACPI_MTX_Parser",
|
||||
"ACPI_MTX_Dispatcher",
|
||||
"ACPI_MTX_Interpreter",
|
||||
"ACPI_MTX_Execute",
|
||||
"ACPI_MTX_Tables",
|
||||
"ACPI_MTX_OpRegions",
|
||||
"ACPI_MTX_Namespace",
|
||||
"ACPI_MTX_Events",
|
||||
"ACPI_MTX_OpRegions",
|
||||
"ACPI_MTX_Hardware",
|
||||
"ACPI_MTX_Caches",
|
||||
"ACPI_MTX_Memory",
|
||||
"ACPI_MTX_DebugCmdComplete",
|
||||
"ACPI_MTX_DebugCmdReady",
|
||||
"ACPI_MTX_DebugCmdComplete"
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -197,26 +202,32 @@ typedef struct AcpiMutexInfo
|
||||
{
|
||||
ACPI_MUTEX Mutex;
|
||||
UINT32 UseCount;
|
||||
BOOLEAN Locked;
|
||||
UINT32 OwnerId;
|
||||
|
||||
} ACPI_MUTEX_INFO;
|
||||
|
||||
/* This owner ID means that the mutex is not in use (unlocked) */
|
||||
|
||||
#define ACPI_MUTEX_NOT_ACQUIRED (UINT32) (-1)
|
||||
|
||||
|
||||
/* Lock flag parameter for various interfaces */
|
||||
|
||||
#define ACPI_MTX_DO_NOT_LOCK 0
|
||||
#define ACPI_MTX_LOCK 1
|
||||
#define ACPI_MTX_DO_NOT_LOCK 0
|
||||
#define ACPI_MTX_LOCK 1
|
||||
|
||||
|
||||
typedef UINT16 ACPI_OWNER_ID;
|
||||
#define OWNER_TYPE_TABLE 0x0
|
||||
#define OWNER_TYPE_METHOD 0x1
|
||||
#define FIRST_METHOD_ID 0x0000
|
||||
#define FIRST_TABLE_ID 0x8000
|
||||
typedef UINT16 ACPI_OWNER_ID;
|
||||
#define OWNER_TYPE_TABLE 0x0
|
||||
#define OWNER_TYPE_METHOD 0x1
|
||||
#define FIRST_METHOD_ID 0x0000
|
||||
#define FIRST_TABLE_ID 0x8000
|
||||
|
||||
/* TBD: [Restructure] get rid of the need for this! */
|
||||
|
||||
#define TABLE_ID_DSDT (ACPI_OWNER_ID) 0x8000
|
||||
#define TABLE_ID_DSDT (ACPI_OWNER_ID) 0x8000
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -266,9 +277,13 @@ typedef struct acpi_node
|
||||
|
||||
/* Node flags */
|
||||
|
||||
#define ANOBJ_AML_ATTACHMENT 0x1
|
||||
#define ANOBJ_END_OF_PEER_LIST 0x2
|
||||
#define ANOBJ_DATA_WIDTH_32 0x4 /* Parent table is 64-bits */
|
||||
#define ANOBJ_AML_ATTACHMENT 0x01
|
||||
#define ANOBJ_END_OF_PEER_LIST 0x02
|
||||
#define ANOBJ_DATA_WIDTH_32 0x04 /* Parent table is 64-bits */
|
||||
#define ANOBJ_METHOD_ARG 0x08
|
||||
#define ANOBJ_METHOD_LOCAL 0x10
|
||||
#define ANOBJ_METHOD_NO_RETVAL 0x20
|
||||
#define ANOBJ_METHOD_SOME_NO_RETVAL 0x40
|
||||
|
||||
|
||||
/*
|
||||
@ -312,19 +327,23 @@ typedef struct
|
||||
/*
|
||||
* Predefined Namespace items
|
||||
*/
|
||||
#define ACPI_MAX_ADDRESS_SPACE 255
|
||||
#define ACPI_NUM_ADDRESS_SPACES 256
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
NATIVE_CHAR *Name;
|
||||
ACPI_OBJECT_TYPE Type;
|
||||
ACPI_OBJECT_TYPE8 Type;
|
||||
NATIVE_CHAR *Val;
|
||||
|
||||
} PREDEFINED_NAMES;
|
||||
|
||||
|
||||
/* Object types used during package copies */
|
||||
|
||||
|
||||
#define ACPI_COPY_TYPE_SIMPLE 0
|
||||
#define ACPI_COPY_TYPE_PACKAGE 1
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Event typedefs and structs
|
||||
@ -334,19 +353,19 @@ typedef struct
|
||||
|
||||
/* Status bits. */
|
||||
|
||||
#define ACPI_STATUS_PMTIMER 0x0001
|
||||
#define ACPI_STATUS_GLOBAL 0x0020
|
||||
#define ACPI_STATUS_POWER_BUTTON 0x0100
|
||||
#define ACPI_STATUS_SLEEP_BUTTON 0x0200
|
||||
#define ACPI_STATUS_RTC_ALARM 0x0400
|
||||
#define ACPI_STATUS_PMTIMER 0x0001
|
||||
#define ACPI_STATUS_GLOBAL 0x0020
|
||||
#define ACPI_STATUS_POWER_BUTTON 0x0100
|
||||
#define ACPI_STATUS_SLEEP_BUTTON 0x0200
|
||||
#define ACPI_STATUS_RTC_ALARM 0x0400
|
||||
|
||||
/* Enable bits. */
|
||||
|
||||
#define ACPI_ENABLE_PMTIMER 0x0001
|
||||
#define ACPI_ENABLE_GLOBAL 0x0020
|
||||
#define ACPI_ENABLE_POWER_BUTTON 0x0100
|
||||
#define ACPI_ENABLE_SLEEP_BUTTON 0x0200
|
||||
#define ACPI_ENABLE_RTC_ALARM 0x0400
|
||||
#define ACPI_ENABLE_PMTIMER 0x0001
|
||||
#define ACPI_ENABLE_GLOBAL 0x0020
|
||||
#define ACPI_ENABLE_POWER_BUTTON 0x0100
|
||||
#define ACPI_ENABLE_SLEEP_BUTTON 0x0200
|
||||
#define ACPI_ENABLE_RTC_ALARM 0x0400
|
||||
|
||||
|
||||
/*
|
||||
@ -355,10 +374,10 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ADDRESS_SPACE_HANDLER Handler;
|
||||
ACPI_ADR_SPACE_HANDLER Handler;
|
||||
void *Context;
|
||||
|
||||
} ACPI_ADDRESS_SPACE_INFO;
|
||||
} ACPI_ADR_SPACE_INFO;
|
||||
|
||||
|
||||
/* Values and addresses of the GPE registers (both banks) */
|
||||
@ -374,8 +393,8 @@ typedef struct
|
||||
} ACPI_GPE_REGISTERS;
|
||||
|
||||
|
||||
#define ACPI_GPE_LEVEL_TRIGGERED 1
|
||||
#define ACPI_GPE_EDGE_TRIGGERED 2
|
||||
#define ACPI_GPE_LEVEL_TRIGGERED 1
|
||||
#define ACPI_GPE_EDGE_TRIGGERED 2
|
||||
|
||||
|
||||
/* Information about each particular GPE level */
|
||||
@ -385,7 +404,7 @@ typedef struct
|
||||
UINT8 Type; /* Level or Edge */
|
||||
|
||||
ACPI_HANDLE MethodHandle; /* Method handle for direct (fast) execution */
|
||||
GPE_HANDLER Handler; /* Address of handler, if any */
|
||||
ACPI_GPE_HANDLER Handler; /* Address of handler, if any */
|
||||
void *Context; /* Context to be passed to handler */
|
||||
|
||||
} ACPI_GPE_LEVEL_INFO;
|
||||
@ -395,7 +414,7 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
FIXED_EVENT_HANDLER Handler; /* Address of handler. */
|
||||
ACPI_EVENT_HANDLER Handler; /* Address of handler. */
|
||||
void *Context; /* Context to be passed to handler */
|
||||
|
||||
} ACPI_FIXED_EVENT_INFO;
|
||||
@ -419,16 +438,18 @@ typedef struct
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#define CONTROL_NORMAL 0xC0
|
||||
#define CONTROL_CONDITIONAL_EXECUTING 0xC1
|
||||
#define CONTROL_PREDICATE_EXECUTING 0xC2
|
||||
#define CONTROL_PREDICATE_FALSE 0xC3
|
||||
#define CONTROL_PREDICATE_TRUE 0xC4
|
||||
#define CONTROL_NORMAL 0xC0
|
||||
#define CONTROL_CONDITIONAL_EXECUTING 0xC1
|
||||
#define CONTROL_PREDICATE_EXECUTING 0xC2
|
||||
#define CONTROL_PREDICATE_FALSE 0xC3
|
||||
#define CONTROL_PREDICATE_TRUE 0xC4
|
||||
|
||||
|
||||
/* Forward declaration */
|
||||
/* Forward declarations */
|
||||
struct acpi_walk_state;
|
||||
struct acpi_parse_obj ;
|
||||
struct acpi_walk_list;
|
||||
struct acpi_parse_obj;
|
||||
struct acpi_obj_mutex;
|
||||
|
||||
|
||||
#define ACPI_STATE_COMMON /* Two 32-bit fields and a pointer */\
|
||||
@ -455,6 +476,23 @@ typedef struct acpi_update_state
|
||||
|
||||
} ACPI_UPDATE_STATE;
|
||||
|
||||
|
||||
/*
|
||||
* Pkg state - used to traverse nested package structures
|
||||
*/
|
||||
typedef struct acpi_pkg_state
|
||||
{
|
||||
ACPI_STATE_COMMON
|
||||
union acpi_operand_obj *SourceObject;
|
||||
union acpi_operand_obj *DestObject;
|
||||
struct acpi_walk_state *WalkState;
|
||||
void *ThisTargetObj;
|
||||
UINT32 NumPackages;
|
||||
UINT16 Index;
|
||||
|
||||
} ACPI_PKG_STATE;
|
||||
|
||||
|
||||
/*
|
||||
* Control state - one per if/else and while constructs.
|
||||
* Allows nesting of these constructs
|
||||
@ -471,7 +509,6 @@ typedef struct acpi_control_state
|
||||
/*
|
||||
* Scope state - current scope during namespace lookups
|
||||
*/
|
||||
|
||||
typedef struct acpi_scope_state
|
||||
{
|
||||
ACPI_STATE_COMMON
|
||||
@ -492,6 +529,35 @@ typedef struct acpi_pscope_state
|
||||
} ACPI_PSCOPE_STATE;
|
||||
|
||||
|
||||
/*
|
||||
* Result values - used to accumulate the results of nested
|
||||
* AML arguments
|
||||
*/
|
||||
typedef struct acpi_result_values
|
||||
{
|
||||
ACPI_STATE_COMMON
|
||||
union acpi_operand_obj *ObjDesc [OBJ_NUM_OPERANDS];
|
||||
UINT8 NumResults;
|
||||
UINT8 LastInsert;
|
||||
|
||||
} ACPI_RESULT_VALUES;
|
||||
|
||||
|
||||
/*
|
||||
* Notify info - used to pass info to the deferred notify
|
||||
* handler/dispatcher.
|
||||
*/
|
||||
typedef struct acpi_notify_info
|
||||
{
|
||||
ACPI_STATE_COMMON
|
||||
ACPI_NAMESPACE_NODE *Node;
|
||||
union acpi_operand_obj *HandlerObj;
|
||||
|
||||
} ACPI_NOTIFY_INFO;
|
||||
|
||||
|
||||
/* Generic state is union of structs above */
|
||||
|
||||
typedef union acpi_gen_state
|
||||
{
|
||||
ACPI_COMMON_STATE Common;
|
||||
@ -499,6 +565,9 @@ typedef union acpi_gen_state
|
||||
ACPI_UPDATE_STATE Update;
|
||||
ACPI_SCOPE_STATE Scope;
|
||||
ACPI_PSCOPE_STATE ParseScope;
|
||||
ACPI_PKG_STATE Pkg;
|
||||
ACPI_RESULT_VALUES Results;
|
||||
ACPI_NOTIFY_INFO Notify;
|
||||
|
||||
} ACPI_GENERIC_STATE;
|
||||
|
||||
@ -522,19 +591,18 @@ ACPI_STATUS (*ACPI_PARSE_UPWARDS) (
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#define ACPI_OP_CLASS_MASK 0x1F
|
||||
#define ACPI_OP_ARGS_MASK 0x20
|
||||
#define ACPI_OP_TYPE_MASK 0xC0
|
||||
|
||||
#define ACPI_OP_CLASS_MASK 0x1F
|
||||
#define ACPI_OP_ARGS_MASK 0x20
|
||||
#define ACPI_OP_TYPE_MASK 0xC0
|
||||
#define ACPI_OP_TYPE_OPCODE 0x00
|
||||
#define ACPI_OP_TYPE_ASCII 0x40
|
||||
#define ACPI_OP_TYPE_PREFIX 0x80
|
||||
#define ACPI_OP_TYPE_UNKNOWN 0xC0
|
||||
|
||||
#define ACPI_OP_TYPE_OPCODE 0x00
|
||||
#define ACPI_OP_TYPE_ASCII 0x40
|
||||
#define ACPI_OP_TYPE_PREFIX 0x80
|
||||
#define ACPI_OP_TYPE_UNKNOWN 0xC0
|
||||
|
||||
#define ACPI_GET_OP_CLASS(a) ((a)->Flags & ACPI_OP_CLASS_MASK)
|
||||
#define ACPI_GET_OP_ARGS(a) ((a)->Flags & ACPI_OP_ARGS_MASK)
|
||||
#define ACPI_GET_OP_TYPE(a) ((a)->Flags & ACPI_OP_TYPE_MASK)
|
||||
#define ACPI_GET_OP_CLASS(a) ((a)->Flags & ACPI_OP_CLASS_MASK)
|
||||
#define ACPI_GET_OP_ARGS(a) ((a)->Flags & ACPI_OP_ARGS_MASK)
|
||||
#define ACPI_GET_OP_TYPE(a) ((a)->Flags & ACPI_OP_TYPE_MASK)
|
||||
|
||||
|
||||
/*
|
||||
@ -546,8 +614,9 @@ typedef struct acpi_opcode_info
|
||||
UINT32 ParseArgs; /* Grammar/Parse time arguments */
|
||||
UINT32 RuntimeArgs; /* Interpret time arguments */
|
||||
|
||||
DEBUG_ONLY_MEMBERS (
|
||||
NATIVE_CHAR *Name) /* op name (debug only) */
|
||||
#ifdef _OPCODE_NAMES
|
||||
NATIVE_CHAR *Name; /* op name (debug only) */
|
||||
#endif
|
||||
|
||||
} ACPI_OPCODE_INFO;
|
||||
|
||||
@ -574,7 +643,7 @@ typedef union acpi_parse_val
|
||||
DEBUG_ONLY_MEMBERS (\
|
||||
NATIVE_CHAR OpName[16]) /* op name (debug only) */\
|
||||
/* NON-DEBUG members below: */\
|
||||
ACPI_NAMESPACE_NODE *Node;/* for use by interpreter */\
|
||||
ACPI_NAMESPACE_NODE *Node; /* for use by interpreter */\
|
||||
ACPI_PARSE_VALUE Value; /* Value or args associated with the opcode */\
|
||||
|
||||
|
||||
@ -621,132 +690,6 @@ typedef struct acpi_parse_state
|
||||
} ACPI_PARSE_STATE;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Tree walking typedefs and structs
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* Walk state - current state of a parse tree walk. Used for both a leisurely stroll through
|
||||
* the tree (for whatever reason), and for control method execution.
|
||||
*/
|
||||
|
||||
#define NEXT_OP_DOWNWARD 1
|
||||
#define NEXT_OP_UPWARD 2
|
||||
|
||||
#define WALK_NON_METHOD 0
|
||||
#define WALK_METHOD 1
|
||||
#define WALK_METHOD_RESTART 2
|
||||
|
||||
typedef struct acpi_walk_state
|
||||
{
|
||||
UINT8 DataType; /* To differentiate various internal objs */\
|
||||
ACPI_OWNER_ID OwnerId; /* Owner of objects created during the walk */
|
||||
BOOLEAN LastPredicate; /* Result of last predicate */
|
||||
UINT8 NextOpInfo; /* Info about NextOp */
|
||||
UINT8 NumOperands; /* Stack pointer for Operands[] array */
|
||||
UINT8 NumResults; /* Stack pointer for Results[] array */
|
||||
UINT8 CurrentResult; /* */
|
||||
|
||||
struct acpi_walk_state *Next; /* Next WalkState in list */
|
||||
ACPI_PARSE_OBJECT *Origin; /* Start of walk [Obsolete] */
|
||||
|
||||
/* TBD: Obsolete with removal of WALK procedure ? */
|
||||
ACPI_PARSE_OBJECT *PrevOp; /* Last op that was processed */
|
||||
ACPI_PARSE_OBJECT *NextOp; /* next op to be processed */
|
||||
|
||||
|
||||
ACPI_GENERIC_STATE *ControlState; /* List of control states (nested IFs) */
|
||||
ACPI_GENERIC_STATE *ScopeInfo; /* Stack of nested scopes */
|
||||
ACPI_PARSE_STATE *ParserState; /* Current state of parser */
|
||||
UINT8 *AmlLastWhile;
|
||||
ACPI_PARSE_DOWNWARDS DescendingCallback;
|
||||
ACPI_PARSE_UPWARDS AscendingCallback;
|
||||
|
||||
union acpi_operand_obj *ReturnDesc; /* Return object, if any */
|
||||
union acpi_operand_obj *MethodDesc; /* Method descriptor if running a method */
|
||||
struct acpi_node *MethodNode; /* Method Node if running a method */
|
||||
ACPI_PARSE_OBJECT *MethodCallOp; /* MethodCall Op if running a method */
|
||||
struct acpi_node *MethodCallNode; /* Called method Node*/
|
||||
union acpi_operand_obj *Operands[OBJ_NUM_OPERANDS]; /* Operands passed to the interpreter */
|
||||
union acpi_operand_obj *Results[OBJ_NUM_OPERANDS]; /* Accumulated results */
|
||||
struct acpi_node Arguments[MTH_NUM_ARGS]; /* Control method arguments */
|
||||
struct acpi_node LocalVariables[MTH_NUM_LOCALS]; /* Control method locals */
|
||||
UINT32 ParseFlags;
|
||||
UINT8 WalkType;
|
||||
UINT8 ReturnUsed;
|
||||
UINT32 PrevArgTypes;
|
||||
|
||||
/* Debug support */
|
||||
|
||||
UINT32 MethodBreakpoint;
|
||||
|
||||
|
||||
} ACPI_WALK_STATE;
|
||||
|
||||
|
||||
/*
|
||||
* Walk list - head of a tree of walk states. Multiple walk states are created when there
|
||||
* are nested control methods executing.
|
||||
*/
|
||||
typedef struct acpi_walk_list
|
||||
{
|
||||
|
||||
ACPI_WALK_STATE *WalkState;
|
||||
|
||||
} ACPI_WALK_LIST;
|
||||
|
||||
|
||||
/* Info used by AcpiPsInitObjects */
|
||||
|
||||
typedef struct acpi_init_walk_info
|
||||
{
|
||||
UINT16 MethodCount;
|
||||
UINT16 OpRegionCount;
|
||||
UINT16 FieldCount;
|
||||
UINT16 OpRegionInit;
|
||||
UINT16 FieldInit;
|
||||
UINT16 ObjectCount;
|
||||
ACPI_TABLE_DESC *TableDesc;
|
||||
|
||||
} ACPI_INIT_WALK_INFO;
|
||||
|
||||
|
||||
/* Info used by TBD */
|
||||
|
||||
typedef struct acpi_device_walk_info
|
||||
{
|
||||
UINT32 Flags;
|
||||
UINT16 DeviceCount;
|
||||
UINT16 Num_STA;
|
||||
UINT16 Num_INI;
|
||||
UINT16 Num_HID;
|
||||
UINT16 Num_PCI;
|
||||
ACPI_TABLE_DESC *TableDesc;
|
||||
|
||||
} ACPI_DEVICE_WALK_INFO;
|
||||
|
||||
|
||||
/* TBD: [Restructure] Merge with struct above */
|
||||
|
||||
typedef struct acpi_walk_info
|
||||
{
|
||||
UINT32 DebugLevel;
|
||||
UINT32 OwnerId;
|
||||
|
||||
} ACPI_WALK_INFO;
|
||||
|
||||
typedef struct acpi_get_devices_info
|
||||
{
|
||||
WALK_CALLBACK UserFunction;
|
||||
void *Context;
|
||||
NATIVE_CHAR *Hid;
|
||||
|
||||
} ACPI_GET_DEVICES_INFO;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Hardware and PNP
|
||||
@ -756,20 +699,21 @@ typedef struct acpi_get_devices_info
|
||||
|
||||
/* PCI */
|
||||
|
||||
#define PCI_ROOT_HID_STRING "PNP0A03"
|
||||
#define PCI_ROOT_HID_VALUE 0x030AD041 /* EISAID("PNP0A03") */
|
||||
#define PCI_ROOT_HID_STRING "PNP0A03"
|
||||
#define PCI_ROOT_HID_VALUE 0x030AD041 /* EISAID("PNP0A03") */
|
||||
|
||||
|
||||
/* Sleep states */
|
||||
|
||||
#define SLWA_DEBUG_LEVEL 4
|
||||
#define GTS_CALL 0
|
||||
#define GTS_WAKE 1
|
||||
#define SLWA_DEBUG_LEVEL 4
|
||||
#define GTS_CALL 0
|
||||
#define GTS_WAKE 1
|
||||
|
||||
/* Cx States */
|
||||
|
||||
#define MAX_CX_STATE_LATENCY 0xFFFFFFFF
|
||||
#define MAX_CX_STATES 4
|
||||
#define MAX_CX_STATE_LATENCY 0xFFFFFFFF
|
||||
#define MAX_CX_STATES 4
|
||||
|
||||
|
||||
/*
|
||||
* The #define's and enum below establish an abstract way of identifying what
|
||||
@ -777,92 +721,115 @@ typedef struct acpi_get_devices_info
|
||||
* values as they are used in switch statements and offset calculations.
|
||||
*/
|
||||
|
||||
#define REGISTER_BLOCK_MASK 0xFF00
|
||||
#define BIT_IN_REGISTER_MASK 0x00FF
|
||||
#define PM1_EVT 0x0100
|
||||
#define PM1_CONTROL 0x0200
|
||||
#define PM2_CONTROL 0x0300
|
||||
#define PM_TIMER 0x0400
|
||||
#define PROCESSOR_BLOCK 0x0500
|
||||
#define GPE0_STS_BLOCK 0x0600
|
||||
#define GPE0_EN_BLOCK 0x0700
|
||||
#define GPE1_STS_BLOCK 0x0800
|
||||
#define GPE1_EN_BLOCK 0x0900
|
||||
#define REGISTER_BLOCK_MASK 0xFF00 /* Register Block Id */
|
||||
#define BIT_IN_REGISTER_MASK 0x00FF /* Bit Id in the Register Block Id */
|
||||
#define BYTE_IN_REGISTER_MASK 0x00FF /* Register Offset in the Register Block */
|
||||
|
||||
enum
|
||||
{
|
||||
/* PM1 status register ids */
|
||||
#define REGISTER_BLOCK_ID(RegId) (RegId & REGISTER_BLOCK_MASK)
|
||||
#define REGISTER_BIT_ID(RegId) (RegId & BIT_IN_REGISTER_MASK)
|
||||
#define REGISTER_OFFSET(RegId) (RegId & BYTE_IN_REGISTER_MASK)
|
||||
|
||||
TMR_STS = (PM1_EVT | 0x01),
|
||||
BM_STS,
|
||||
GBL_STS,
|
||||
PWRBTN_STS,
|
||||
SLPBTN_STS,
|
||||
RTC_STS,
|
||||
WAK_STS,
|
||||
|
||||
/* PM1 enable register ids */
|
||||
|
||||
TMR_EN,
|
||||
/* need to skip 1 enable number since there's no bus master enable register */
|
||||
GBL_EN = (PM1_EVT | 0x0A),
|
||||
PWRBTN_EN,
|
||||
SLPBTN_EN,
|
||||
RTC_EN,
|
||||
|
||||
/* PM1 control register ids */
|
||||
|
||||
SCI_EN = (PM1_CONTROL | 0x01),
|
||||
BM_RLD,
|
||||
GBL_RLS,
|
||||
SLP_TYPE_A,
|
||||
SLP_TYPE_B,
|
||||
SLP_EN,
|
||||
|
||||
/* PM2 control register ids */
|
||||
|
||||
ARB_DIS = (PM2_CONTROL | 0x01),
|
||||
|
||||
/* PM Timer register ids */
|
||||
|
||||
TMR_VAL = (PM_TIMER | 0x01),
|
||||
|
||||
GPE0_STS = (GPE0_STS_BLOCK | 0x01),
|
||||
GPE0_EN = (GPE0_EN_BLOCK | 0x01),
|
||||
|
||||
GPE1_STS = (GPE1_STS_BLOCK | 0x01),
|
||||
GPE1_EN = (GPE0_EN_BLOCK | 0x01),
|
||||
|
||||
/* Last register value is one less than LAST_REG */
|
||||
|
||||
LAST_REG
|
||||
};
|
||||
/*
|
||||
* Access Rule
|
||||
* To access a Register Bit:
|
||||
* -> Use Bit Name (= Register Block Id | Bit Id) defined in the enum.
|
||||
*
|
||||
* To access a Register:
|
||||
* -> Use Register Id (= Register Block Id | Register Offset)
|
||||
*/
|
||||
|
||||
|
||||
#define TMR_STS_MASK 0x0001
|
||||
#define BM_STS_MASK 0x0010
|
||||
#define GBL_STS_MASK 0x0020
|
||||
#define PWRBTN_STS_MASK 0x0100
|
||||
#define SLPBTN_STS_MASK 0x0200
|
||||
#define RTC_STS_MASK 0x0400
|
||||
#define WAK_STS_MASK 0x8000
|
||||
/*
|
||||
* Register Block Id
|
||||
*/
|
||||
#define PM1_STS 0x0100
|
||||
#define PM1_EN 0x0200
|
||||
#define PM1_CONTROL 0x0300
|
||||
#define PM1A_CONTROL 0x0400
|
||||
#define PM1B_CONTROL 0x0500
|
||||
#define PM2_CONTROL 0x0600
|
||||
#define PM_TIMER 0x0700
|
||||
#define PROCESSOR_BLOCK 0x0800
|
||||
#define GPE0_STS_BLOCK 0x0900
|
||||
#define GPE0_EN_BLOCK 0x0A00
|
||||
#define GPE1_STS_BLOCK 0x0B00
|
||||
#define GPE1_EN_BLOCK 0x0C00
|
||||
#define SMI_CMD_BLOCK 0x0D00
|
||||
|
||||
#define ALL_FIXED_STS_BITS (TMR_STS_MASK | BM_STS_MASK | GBL_STS_MASK | PWRBTN_STS_MASK | \
|
||||
SLPBTN_STS_MASK | RTC_STS_MASK | WAK_STS_MASK)
|
||||
/*
|
||||
* Address space bitmasks for mmio or io spaces
|
||||
*/
|
||||
|
||||
#define TMR_EN_MASK 0x0001
|
||||
#define GBL_EN_MASK 0x0020
|
||||
#define PWRBTN_EN_MASK 0x0100
|
||||
#define SLPBTN_EN_MASK 0x0200
|
||||
#define RTC_EN_MASK 0x0400
|
||||
#define SMI_CMD_ADDRESS_SPACE 0x01
|
||||
#define PM1_BLK_ADDRESS_SPACE 0x02
|
||||
#define PM2_CNT_BLK_ADDRESS_SPACE 0x04
|
||||
#define PM_TMR_BLK_ADDRESS_SPACE 0x08
|
||||
#define GPE0_BLK_ADDRESS_SPACE 0x10
|
||||
#define GPE1_BLK_ADDRESS_SPACE 0x20
|
||||
|
||||
#define SCI_EN_MASK 0x0001
|
||||
#define BM_RLD_MASK 0x0002
|
||||
#define GBL_RLS_MASK 0x0004
|
||||
#define SLP_TYPE_X_MASK 0x1C00
|
||||
#define SLP_EN_MASK 0x2000
|
||||
/*
|
||||
* Control bit definitions
|
||||
*/
|
||||
#define TMR_STS (PM1_STS | 0x01)
|
||||
#define BM_STS (PM1_STS | 0x02)
|
||||
#define GBL_STS (PM1_STS | 0x03)
|
||||
#define PWRBTN_STS (PM1_STS | 0x04)
|
||||
#define SLPBTN_STS (PM1_STS | 0x05)
|
||||
#define RTC_STS (PM1_STS | 0x06)
|
||||
#define WAK_STS (PM1_STS | 0x07)
|
||||
|
||||
#define ARB_DIS_MASK 0x0001
|
||||
#define TMR_EN (PM1_EN | 0x01)
|
||||
/* no BM_EN */
|
||||
#define GBL_EN (PM1_EN | 0x03)
|
||||
#define PWRBTN_EN (PM1_EN | 0x04)
|
||||
#define SLPBTN_EN (PM1_EN | 0x05)
|
||||
#define RTC_EN (PM1_EN | 0x06)
|
||||
#define WAK_EN (PM1_EN | 0x07)
|
||||
|
||||
#define SCI_EN (PM1_CONTROL | 0x01)
|
||||
#define BM_RLD (PM1_CONTROL | 0x02)
|
||||
#define GBL_RLS (PM1_CONTROL | 0x03)
|
||||
#define SLP_TYPE_A (PM1_CONTROL | 0x04)
|
||||
#define SLP_TYPE_B (PM1_CONTROL | 0x05)
|
||||
#define SLP_EN (PM1_CONTROL | 0x06)
|
||||
|
||||
#define ARB_DIS (PM2_CONTROL | 0x01)
|
||||
|
||||
#define TMR_VAL (PM_TIMER | 0x01)
|
||||
|
||||
#define GPE0_STS (GPE0_STS_BLOCK | 0x01)
|
||||
#define GPE0_EN (GPE0_EN_BLOCK | 0x01)
|
||||
|
||||
#define GPE1_STS (GPE1_STS_BLOCK | 0x01)
|
||||
#define GPE1_EN (GPE1_EN_BLOCK | 0x01)
|
||||
|
||||
|
||||
#define TMR_STS_MASK 0x0001
|
||||
#define BM_STS_MASK 0x0010
|
||||
#define GBL_STS_MASK 0x0020
|
||||
#define PWRBTN_STS_MASK 0x0100
|
||||
#define SLPBTN_STS_MASK 0x0200
|
||||
#define RTC_STS_MASK 0x0400
|
||||
#define WAK_STS_MASK 0x8000
|
||||
|
||||
#define ALL_FIXED_STS_BITS (TMR_STS_MASK | BM_STS_MASK | GBL_STS_MASK \
|
||||
| PWRBTN_STS_MASK | SLPBTN_STS_MASK \
|
||||
| RTC_STS_MASK | WAK_STS_MASK)
|
||||
|
||||
#define TMR_EN_MASK 0x0001
|
||||
#define GBL_EN_MASK 0x0020
|
||||
#define PWRBTN_EN_MASK 0x0100
|
||||
#define SLPBTN_EN_MASK 0x0200
|
||||
#define RTC_EN_MASK 0x0400
|
||||
|
||||
#define SCI_EN_MASK 0x0001
|
||||
#define BM_RLD_MASK 0x0002
|
||||
#define GBL_RLS_MASK 0x0004
|
||||
#define SLP_TYPE_X_MASK 0x1C00
|
||||
#define SLP_EN_MASK 0x2000
|
||||
|
||||
#define ARB_DIS_MASK 0x0001
|
||||
#define TMR_VAL_MASK 0xFFFFFFFF
|
||||
|
||||
#define GPE0_STS_MASK
|
||||
#define GPE0_EN_MASK
|
||||
@ -871,65 +838,63 @@ enum
|
||||
#define GPE1_EN_MASK
|
||||
|
||||
|
||||
#define ACPI_READ 1
|
||||
#define ACPI_WRITE 2
|
||||
|
||||
#define LOW_BYTE 0x00FF
|
||||
#define ONE_BYTE 0x08
|
||||
|
||||
#ifndef SET
|
||||
#define SET 1
|
||||
#endif
|
||||
#ifndef CLEAR
|
||||
#define CLEAR 0
|
||||
#endif
|
||||
#define ACPI_READ 1
|
||||
#define ACPI_WRITE 2
|
||||
|
||||
|
||||
/* Plug and play */
|
||||
|
||||
/* Pnp and ACPI data */
|
||||
|
||||
#define VERSION_NO 0x01
|
||||
#define LOGICAL_DEVICE_ID 0x02
|
||||
#define COMPATIBLE_DEVICE_ID 0x03
|
||||
#define IRQ_FORMAT 0x04
|
||||
#define DMA_FORMAT 0x05
|
||||
#define START_DEPENDENT_TAG 0x06
|
||||
#define END_DEPENDENT_TAG 0x07
|
||||
#define IO_PORT_DESCRIPTOR 0x08
|
||||
#define FIXED_LOCATION_IO_DESCRIPTOR 0x09
|
||||
#define RESERVED_TYPE0 0x0A
|
||||
#define RESERVED_TYPE1 0x0B
|
||||
#define RESERVED_TYPE2 0x0C
|
||||
#define RESERVED_TYPE3 0x0D
|
||||
#define SMALL_VENDOR_DEFINED 0x0E
|
||||
#define END_TAG 0x0F
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Resource descriptors
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* Pnp and ACPI data */
|
||||
|
||||
#define MEMORY_RANGE_24 0x81
|
||||
#define ISA_MEMORY_RANGE 0x81
|
||||
#define LARGE_VENDOR_DEFINED 0x84
|
||||
#define EISA_MEMORY_RANGE 0x85
|
||||
#define MEMORY_RANGE_32 0x85
|
||||
#define FIXED_EISA_MEMORY_RANGE 0x86
|
||||
#define FIXED_MEMORY_RANGE_32 0x86
|
||||
/* ResourceType values */
|
||||
|
||||
/* ACPI only data */
|
||||
#define RESOURCE_TYPE_MEMORY_RANGE 0
|
||||
#define RESOURCE_TYPE_IO_RANGE 1
|
||||
#define RESOURCE_TYPE_BUS_NUMBER_RANGE 2
|
||||
|
||||
#define DWORD_ADDRESS_SPACE 0x87
|
||||
#define WORD_ADDRESS_SPACE 0x88
|
||||
#define EXTENDED_IRQ 0x89
|
||||
/*
|
||||
* Small resource descriptors
|
||||
*/
|
||||
#define RESOURCE_DESC_SMALL_MASK 0x78
|
||||
#define RESOURCE_DESC_IRQ_FORMAT 0x22
|
||||
#define RESOURCE_DESC_DMA_FORMAT 0x2A
|
||||
#define RESOURCE_DESC_START_DEPENDENT 0x30
|
||||
#define RESOURCE_DESC_END_DEPENDENT 0x38
|
||||
#define RESOURCE_DESC_IO_PORT 0x47
|
||||
#define RESOURCE_DESC_FIXED_IO_PORT 0x4B
|
||||
#define RESOURCE_DESC_SMALL_VENDOR 0x70
|
||||
#define RESOURCE_DESC_END_TAG 0x79
|
||||
|
||||
/* MUST HAVES */
|
||||
/*
|
||||
* Large resource descriptors
|
||||
*/
|
||||
#define RESOURCE_DESC_MEMORY_24 0x81
|
||||
#define RESOURCE_DESC_GENERAL_REGISTER 0x82
|
||||
#define RESOURCE_DESC_LARGE_VENDOR 0x84
|
||||
#define RESOURCE_DESC_MEMORY_32 0x85
|
||||
#define RESOURCE_DESC_FIXED_MEMORY_32 0x86
|
||||
#define RESOURCE_DESC_DWORD_ADDRESS_SPACE 0x87
|
||||
#define RESOURCE_DESC_WORD_ADDRESS_SPACE 0x88
|
||||
#define RESOURCE_DESC_EXTENDED_XRUPT 0x89
|
||||
#define RESOURCE_DESC_QWORD_ADDRESS_SPACE 0x8A
|
||||
|
||||
#define DEVICE_ID_LENGTH 0x09
|
||||
|
||||
/* String version of device HIDs and UIDs */
|
||||
|
||||
#define ACPI_DEVICE_ID_LENGTH 0x09
|
||||
|
||||
typedef struct
|
||||
{
|
||||
NATIVE_CHAR Buffer[DEVICE_ID_LENGTH];
|
||||
NATIVE_CHAR Buffer[ACPI_DEVICE_ID_LENGTH];
|
||||
|
||||
} ACPI_DEVICE_ID;
|
||||
|
||||
|
||||
} DEVICE_ID;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -943,22 +908,22 @@ typedef struct
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
|
||||
#define MEM_MALLOC 0
|
||||
#define MEM_CALLOC 1
|
||||
#define MAX_MODULE_NAME 16
|
||||
#define MEM_MALLOC 0
|
||||
#define MEM_CALLOC 1
|
||||
#define MAX_MODULE_NAME 16
|
||||
|
||||
typedef struct AllocationInfo
|
||||
typedef struct AcpiAllocationInfo
|
||||
{
|
||||
struct AllocationInfo *Previous;
|
||||
struct AllocationInfo *Next;
|
||||
void *Address;
|
||||
UINT32 Size;
|
||||
UINT32 Component;
|
||||
UINT32 Line;
|
||||
NATIVE_CHAR Module[MAX_MODULE_NAME];
|
||||
UINT8 AllocType;
|
||||
struct AcpiAllocationInfo *Previous;
|
||||
struct AcpiAllocationInfo *Next;
|
||||
void *Address;
|
||||
UINT32 Size;
|
||||
UINT32 Component;
|
||||
UINT32 Line;
|
||||
NATIVE_CHAR Module[MAX_MODULE_NAME];
|
||||
UINT8 AllocType;
|
||||
|
||||
} ALLOCATION_INFO;
|
||||
} ACPI_ALLOCATION_INFO;
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: macros.h - C macros for the entire subsystem.
|
||||
* Name: acmacros.h - C macros for the entire subsystem.
|
||||
* $Revision: 1.66 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999, Intel Corp. All rights
|
||||
* reserved.
|
||||
* Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
*
|
||||
@ -114,13 +114,21 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __MACROS_H__
|
||||
#define __MACROS_H__
|
||||
#ifndef __ACMACROS_H__
|
||||
#define __ACMACROS_H__
|
||||
|
||||
/*
|
||||
* Data manipulation macros
|
||||
*/
|
||||
|
||||
#ifndef LODWORD
|
||||
#define LODWORD(l) ((UINT32)(UINT64)(l))
|
||||
#endif
|
||||
|
||||
#ifndef HIDWORD
|
||||
#define HIDWORD(l) ((UINT32)((((UINT64)(l)) >> 32) & 0xFFFFFFFF))
|
||||
#endif
|
||||
|
||||
#ifndef LOWORD
|
||||
#define LOWORD(l) ((UINT16)(NATIVE_UINT)(l))
|
||||
#endif
|
||||
@ -154,6 +162,23 @@
|
||||
#define HI_LIMIT(b) ((UINT8) (((b) & 0x00FF0000) >> 16))
|
||||
|
||||
|
||||
#ifdef _IA16
|
||||
/*
|
||||
* For 16-bit addresses, we have to assume that the upper 32 bits
|
||||
* are zero.
|
||||
*/
|
||||
#define ACPI_GET_ADDRESS(a) ((a).Lo)
|
||||
#define ACPI_STORE_ADDRESS(a,b) {(a).Hi=0;(a).Lo=(b);}
|
||||
#define ACPI_VALID_ADDRESS(a) ((a).Hi | (a).Lo)
|
||||
|
||||
#else
|
||||
/*
|
||||
* Full 64-bit address on 32-bit and 64-bit platforms
|
||||
*/
|
||||
#define ACPI_GET_ADDRESS(a) (a)
|
||||
#define ACPI_STORE_ADDRESS(a,b) ((a)=(b))
|
||||
#define ACPI_VALID_ADDRESS(a) (a)
|
||||
#endif
|
||||
/*
|
||||
* Extract a byte of data using a pointer. Any more than a byte and we
|
||||
* get into potential aligment issues -- see the STORE macros below
|
||||
@ -174,6 +199,7 @@
|
||||
#define MOVE_UNALIGNED16_TO_16(d,s) *(UINT16*)(d) = *(UINT16*)(s)
|
||||
#define MOVE_UNALIGNED32_TO_32(d,s) *(UINT32*)(d) = *(UINT32*)(s)
|
||||
#define MOVE_UNALIGNED16_TO_32(d,s) *(UINT32*)(d) = *(UINT16*)(s)
|
||||
#define MOVE_UNALIGNED64_TO_64(d,s) *(UINT64*)(d) = *(UINT64*)(s)
|
||||
|
||||
#else
|
||||
/*
|
||||
@ -182,16 +208,25 @@
|
||||
* the destination (or both) is/are unaligned.
|
||||
*/
|
||||
|
||||
#define MOVE_UNALIGNED16_TO_16(d,s) {((char *)(d))[0] = ((char *)(s))[0];\
|
||||
((char *)(d))[1] = ((char *)(s))[1];}
|
||||
#define MOVE_UNALIGNED16_TO_16(d,s) {((UINT8 *)(d))[0] = ((UINT8 *)(s))[0];\
|
||||
((UINT8 *)(d))[1] = ((UINT8 *)(s))[1];}
|
||||
|
||||
#define MOVE_UNALIGNED32_TO_32(d,s) {((char *)(d))[0] = ((char *)(s))[0];\
|
||||
((char *)(d))[1] = ((char *)(s))[1];\
|
||||
((char *)(d))[2] = ((char *)(s))[2];\
|
||||
((char *)(d))[3] = ((char *)(s))[3];}
|
||||
#define MOVE_UNALIGNED32_TO_32(d,s) {((UINT8 *)(d))[0] = ((UINT8 *)(s))[0];\
|
||||
((UINT8 *)(d))[1] = ((UINT8 *)(s))[1];\
|
||||
((UINT8 *)(d))[2] = ((UINT8 *)(s))[2];\
|
||||
((UINT8 *)(d))[3] = ((UINT8 *)(s))[3];}
|
||||
|
||||
#define MOVE_UNALIGNED16_TO_32(d,s) {(*(UINT32*)(d)) = 0; MOVE_UNALIGNED16_TO_16(d,s);}
|
||||
|
||||
#define MOVE_UNALIGNED64_TO_64(d,s) {((UINT8 *)(d))[0] = ((UINT8 *)(s))[0];\
|
||||
((UINT8 *)(d))[1] = ((UINT8 *)(s))[1];\
|
||||
((UINT8 *)(d))[2] = ((UINT8 *)(s))[2];\
|
||||
((UINT8 *)(d))[3] = ((UINT8 *)(s))[3];\
|
||||
((UINT8 *)(d))[4] = ((UINT8 *)(s))[4];\
|
||||
((UINT8 *)(d))[5] = ((UINT8 *)(s))[5];\
|
||||
((UINT8 *)(d))[6] = ((UINT8 *)(s))[6];\
|
||||
((UINT8 *)(d))[7] = ((UINT8 *)(s))[7];}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -199,9 +234,9 @@
|
||||
* Fast power-of-two math macros for non-optimized compilers
|
||||
*/
|
||||
|
||||
#define _DIV(value,PowerOf2) ((value) >> (PowerOf2))
|
||||
#define _MUL(value,PowerOf2) ((value) << (PowerOf2))
|
||||
#define _MOD(value,Divisor) ((value) & ((Divisor) -1))
|
||||
#define _DIV(value,PowerOf2) ((UINT32) ((value) >> (PowerOf2)))
|
||||
#define _MUL(value,PowerOf2) ((UINT32) ((value) << (PowerOf2)))
|
||||
#define _MOD(value,Divisor) ((UINT32) ((value) & ((Divisor) -1)))
|
||||
|
||||
#define DIV_2(a) _DIV(a,1)
|
||||
#define MUL_2(a) _MUL(a,1)
|
||||
@ -219,6 +254,11 @@
|
||||
#define MUL_16(a) _MUL(a,4)
|
||||
#define MOD_16(a) _MOD(a,16)
|
||||
|
||||
/*
|
||||
* Divide and Modulo
|
||||
*/
|
||||
#define ACPI_DIVIDE(n,d) ((n) / (d))
|
||||
#define ACPI_MODULO(n,d) ((n) % (d))
|
||||
|
||||
/*
|
||||
* Rounding macros (Power of two boundaries only)
|
||||
@ -228,32 +268,62 @@
|
||||
#define ROUND_UP(value,boundary) (((value) + ((boundary)-1)) & (~((boundary)-1)))
|
||||
|
||||
#define ROUND_DOWN_TO_32_BITS(a) ROUND_DOWN(a,4)
|
||||
#define ROUND_DOWN_TO_64_BITS(a) ROUND_DOWN(a,8)
|
||||
#define ROUND_DOWN_TO_NATIVE_WORD(a) ROUND_DOWN(a,ALIGNED_ADDRESS_BOUNDARY)
|
||||
|
||||
#define ROUND_UP_TO_32BITS(a) ROUND_UP(a,4)
|
||||
#define ROUND_UP_TO_64BITS(a) ROUND_UP(a,8)
|
||||
#define ROUND_UP_TO_NATIVE_WORD(a) ROUND_UP(a,ALIGNED_ADDRESS_BOUNDARY)
|
||||
|
||||
#define ROUND_PTR_UP_TO_4(a,b) ((b *)(((NATIVE_UINT)(a) + 3) & ~3))
|
||||
#define ROUND_PTR_UP_TO_8(a,b) ((b *)(((NATIVE_UINT)(a) + 7) & ~7))
|
||||
|
||||
#define ROUND_BITS_UP_TO_BYTES(a) DIV_8((a) + 7)
|
||||
|
||||
#define ROUND_UP_TO_1K(a) (((a) + 1023) >> 10)
|
||||
|
||||
#ifdef DEBUG_ASSERT
|
||||
#undef DEBUG_ASSERT
|
||||
#endif
|
||||
|
||||
|
||||
/* Macros for GAS addressing */
|
||||
|
||||
#define ACPI_PCI_DEVICE_MASK (UINT64) 0x0000FFFF00000000
|
||||
#define ACPI_PCI_FUNCTION_MASK (UINT64) 0x00000000FFFF0000
|
||||
#define ACPI_PCI_REGISTER_MASK (UINT64) 0x000000000000FFFF
|
||||
|
||||
#define ACPI_PCI_FUNCTION(a) (UINT32) ((((a) & ACPI_PCI_FUNCTION_MASK) >> 16))
|
||||
#define ACPI_PCI_DEVICE(a) (UINT32) ((((a) & ACPI_PCI_DEVICE_MASK) >> 32))
|
||||
|
||||
#ifndef _IA16
|
||||
#define ACPI_PCI_REGISTER(a) (UINT32) (((a) & ACPI_PCI_REGISTER_MASK))
|
||||
#define ACPI_PCI_DEVFUN(a) (UINT32) ((ACPI_PCI_DEVICE(a) << 16) | ACPI_PCI_FUNCTION(a))
|
||||
|
||||
#else
|
||||
#define ACPI_PCI_REGISTER(a) (UINT32) (((a) & 0x0000FFFF))
|
||||
#define ACPI_PCI_DEVFUN(a) (UINT32) ((((a) & 0xFFFF0000) >> 16))
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* An ACPI_HANDLE (which is actually an ACPI_NAMED_OBJECT*) can appear in some contexts,
|
||||
* such as on apObjStack, where a pointer to an ACPI_OBJECT_INTERNAL can also
|
||||
* An ACPI_HANDLE (which is actually an ACPI_NAMESPACE_NODE *) can appear in some contexts,
|
||||
* such as on apObjStack, where a pointer to an ACPI_OPERAND_OBJECT can also
|
||||
* appear. This macro is used to distinguish them.
|
||||
*
|
||||
* The DataType field is the first field in both structures.
|
||||
*/
|
||||
|
||||
#define VALID_DESCRIPTOR_TYPE(d,t) (((ACPI_NAMED_OBJECT*)d)->DataType == t)
|
||||
#define VALID_DESCRIPTOR_TYPE(d,t) (((ACPI_NAMESPACE_NODE *)d)->DataType == t)
|
||||
|
||||
|
||||
/* Macro to test the object type */
|
||||
|
||||
#define IS_THIS_OBJECT_TYPE(d,t) (((ACPI_OBJECT_INTERNAL *)d)->Common.Type == (UINT8)t)
|
||||
#define IS_THIS_OBJECT_TYPE(d,t) (((ACPI_OPERAND_OBJECT *)d)->Common.Type == (UINT8)t)
|
||||
|
||||
/* Macro to check the table flags for SINGLE or MULTIPLE tables are allowed */
|
||||
|
||||
#define IS_SINGLE_TABLE(x) (((x) & 0x01) == ACPI_TABLE_SINGLE ? 1 : 0)
|
||||
|
||||
/*
|
||||
* Macro to check if a pointer is within an ACPI table.
|
||||
@ -277,9 +347,9 @@
|
||||
*/
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
#define OP_INFO_ENTRY(Opcode,Flags,Name,PArgs,IArgs) {Opcode,Flags,PArgs,IArgs,Name}
|
||||
#define OP_INFO_ENTRY(Flags,Name,PArgs,IArgs) {Flags,PArgs,IArgs,Name}
|
||||
#else
|
||||
#define OP_INFO_ENTRY(Opcode,Flags,Name,PArgs,IArgs) {Opcode,Flags,PArgs,IArgs}
|
||||
#define OP_INFO_ENTRY(Flags,Name,PArgs,IArgs) {Flags,PArgs,IArgs}
|
||||
#endif
|
||||
|
||||
#define ARG_TYPE_WIDTH 5
|
||||
@ -304,14 +374,39 @@
|
||||
#define ARGP_LIST5(a,b,c,d,e) (ARG_1(a)|ARG_2(b)|ARG_3(c)|ARG_4(d)|ARG_5(e))
|
||||
#define ARGP_LIST6(a,b,c,d,e,f) (ARG_1(a)|ARG_2(b)|ARG_3(c)|ARG_4(d)|ARG_5(e)|ARG_6(f))
|
||||
|
||||
#define GET_CURRENT_ARG_TYPE(List) (List & 0x1F)
|
||||
#define INCREMENT_ARG_LIST(List) (List >>= ARG_TYPE_WIDTH)
|
||||
#define GET_CURRENT_ARG_TYPE(List) (List & ((UINT32) 0x1F))
|
||||
#define INCREMENT_ARG_LIST(List) (List >>= ((UINT32) ARG_TYPE_WIDTH))
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Build a GAS structure from earlier ACPI table entries (V1.0 and 0.71 extensions)
|
||||
*
|
||||
* 1) Address space
|
||||
* 2) Length in bytes -- convert to length in bits
|
||||
* 3) Bit offset is zero
|
||||
* 4) Reserved field is zero
|
||||
* 5) Expand address to 64 bits
|
||||
*/
|
||||
#define ASL_BUILD_GAS_FROM_ENTRY(a,b,c,d) {a.AddressSpaceId = (UINT8) d;\
|
||||
a.RegisterBitWidth = (UINT8) MUL_8 (b);\
|
||||
a.RegisterBitOffset = 0;\
|
||||
a.Reserved = 0;\
|
||||
ACPI_STORE_ADDRESS (a.Address,c);}
|
||||
|
||||
/* ACPI V1.0 entries -- address space is always I/O */
|
||||
|
||||
#define ASL_BUILD_GAS_FROM_V1_ENTRY(a,b,c) ASL_BUILD_GAS_FROM_ENTRY(a,b,c,ACPI_ADR_SPACE_SYSTEM_IO)
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Reporting macros that are never compiled out
|
||||
*/
|
||||
|
||||
#define PARAM_LIST(pl) pl
|
||||
|
||||
/*
|
||||
* Error reporting. These versions add callers module and line#. Since
|
||||
* _THIS_MODULE gets compiled out when ACPI_DEBUG isn't defined, only
|
||||
@ -320,29 +415,36 @@
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
|
||||
#define REPORT_INFO(a) _ReportInfo(_THIS_MODULE,__LINE__,_COMPONENT,a)
|
||||
#define REPORT_ERROR(a) _ReportError(_THIS_MODULE,__LINE__,_COMPONENT,a)
|
||||
#define REPORT_WARNING(a) _ReportWarning(_THIS_MODULE,__LINE__,_COMPONENT,a)
|
||||
#define REPORT_SUCCESS(a) _ReportSuccess(_THIS_MODULE,__LINE__,_COMPONENT,a)
|
||||
#define REPORT_INFO(fp) {_ReportInfo(_THIS_MODULE,__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define REPORT_ERROR(fp) {_ReportError(_THIS_MODULE,__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define REPORT_WARNING(fp) {_ReportWarning(_THIS_MODULE,__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
|
||||
#else
|
||||
|
||||
#define REPORT_INFO(a) _ReportInfo("",__LINE__,_COMPONENT,a)
|
||||
#define REPORT_ERROR(a) _ReportError("",__LINE__,_COMPONENT,a)
|
||||
#define REPORT_WARNING(a) _ReportWarning("",__LINE__,_COMPONENT,a)
|
||||
#define REPORT_SUCCESS(a) _ReportSuccess("",__LINE__,_COMPONENT,a)
|
||||
#define REPORT_INFO(fp) {_ReportInfo("ACPI",__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define REPORT_ERROR(fp) {_ReportError("ACPI",__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define REPORT_WARNING(fp) {_ReportWarning("ACPI",__LINE__,_COMPONENT); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
|
||||
#endif
|
||||
|
||||
/* Error reporting. These versions pass thru the module and line# */
|
||||
|
||||
#define _REPORT_INFO(a,b,c,d) _ReportInfo(a,b,c,d)
|
||||
#define _REPORT_ERROR(a,b,c,d) _ReportError(a,b,c,d)
|
||||
#define _REPORT_WARNING(a,b,c,d) _ReportWarning(a,b,c,d)
|
||||
#define _REPORT_INFO(a,b,c,fp) {_ReportInfo(a,b,c); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define _REPORT_ERROR(a,b,c,fp) {_ReportError(a,b,c); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
#define _REPORT_WARNING(a,b,c,fp) {_ReportWarning(a,b,c); \
|
||||
DebugPrintRaw PARAM_LIST(fp);}
|
||||
|
||||
/* Buffer dump macros */
|
||||
|
||||
#define DUMP_BUFFER(a,b) AcpiCmDumpBuffer((char *)a,b,DB_BYTE_DISPLAY,_COMPONENT)
|
||||
#define DUMP_BUFFER(a,b) AcpiCmDumpBuffer((UINT8 *)a,b,DB_BYTE_DISPLAY,_COMPONENT)
|
||||
|
||||
/*
|
||||
* Debug macros that are conditionally compiled
|
||||
@ -350,7 +452,7 @@
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
|
||||
#define MODULE_NAME(name) static char *_THIS_MODULE = name
|
||||
#define MODULE_NAME(name) static char *_THIS_MODULE = name;
|
||||
|
||||
/*
|
||||
* Function entry tracing.
|
||||
@ -365,7 +467,7 @@
|
||||
#define FUNCTION_TRACE_U32(a,b) char * _ProcName = a;\
|
||||
FunctionTraceU32(_THIS_MODULE,__LINE__,_COMPONENT,a,(UINT32)b)
|
||||
#define FUNCTION_TRACE_STR(a,b) char * _ProcName = a;\
|
||||
FunctionTraceStr(_THIS_MODULE,__LINE__,_COMPONENT,a,(char *)b)
|
||||
FunctionTraceStr(_THIS_MODULE,__LINE__,_COMPONENT,a,(NATIVE_CHAR *)b)
|
||||
/*
|
||||
* Function exit tracing.
|
||||
* WARNING: These macros include a return statement. This is usually considered
|
||||
@ -375,17 +477,19 @@
|
||||
*/
|
||||
#define return_VOID {FunctionExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName);return;}
|
||||
#define return_ACPI_STATUS(s) {FunctionStatusExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName,s);return(s);}
|
||||
#define return_VALUE(s) {FunctionValueExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName,(NATIVE_UINT)s);return(s);}
|
||||
#define return_PTR(s) {FunctionPtrExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName,(char *)s);return(s);}
|
||||
#define return_VALUE(s) {FunctionValueExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName,s);return(s);}
|
||||
#define return_PTR(s) {FunctionPtrExit(_THIS_MODULE,__LINE__,_COMPONENT,_ProcName,(UINT8 *)s);return(s);}
|
||||
|
||||
|
||||
/* Conditional execution */
|
||||
|
||||
#define DEBUG_EXEC(a) a;
|
||||
#define DEBUG_EXEC(a) a
|
||||
#define NORMAL_EXEC(a)
|
||||
|
||||
#define DEBUG_DEFINE(a) a;
|
||||
#define DEBUG_ONLY_MEMBERS(a) a;
|
||||
#define _OPCODE_NAMES
|
||||
#define _VERBOSE_STRUCTURES
|
||||
|
||||
|
||||
/* Stack and buffer dumping */
|
||||
@ -397,6 +501,7 @@
|
||||
#define DUMP_ENTRY(a,b) AcpiNsDumpEntry (a,b)
|
||||
#define DUMP_TABLES(a,b) AcpiNsDumpTables(a,b)
|
||||
#define DUMP_PATHNAME(a,b,c,d) AcpiNsDumpPathname(a,b,c,d)
|
||||
#define DUMP_RESOURCE_LIST(a) AcpiRsDumpResourceList(a)
|
||||
#define BREAK_MSG(a) AcpiOsBreakpoint (a)
|
||||
|
||||
/*
|
||||
@ -418,8 +523,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define PARAM_LIST(pl) pl
|
||||
|
||||
#define TEST_DEBUG_SWITCH(lvl) if (((lvl) & AcpiDbgLevel) && (_COMPONENT & AcpiDbgLayer))
|
||||
|
||||
#define DEBUG_PRINT(lvl,fp) TEST_DEBUG_SWITCH(lvl) {\
|
||||
@ -466,6 +569,7 @@
|
||||
#define DUMP_ENTRY(a,b)
|
||||
#define DUMP_TABLES(a,b)
|
||||
#define DUMP_PATHNAME(a,b,c,d)
|
||||
#define DUMP_RESOURCE_LIST(a)
|
||||
#define DEBUG_PRINT(l,f)
|
||||
#define DEBUG_PRINT_RAW(l,f)
|
||||
#define BREAK_MSG(a)
|
||||
@ -480,6 +584,17 @@
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some code only gets executed when the debugger is built in.
|
||||
* Note that this is entirely independent of whether the
|
||||
* DEBUG_PRINT stuff (set by ACPI_DEBUG) is on, or not.
|
||||
*/
|
||||
#ifdef ENABLE_DEBUGGER
|
||||
#define DEBUGGER_EXEC(a) a
|
||||
#else
|
||||
#define DEBUGGER_EXEC(a)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* For 16-bit code, we want to shrink some things even though
|
||||
@ -487,18 +602,12 @@
|
||||
*/
|
||||
#ifdef _IA16
|
||||
#undef DEBUG_ONLY_MEMBERS
|
||||
#undef _VERBOSE_STRUCTURES
|
||||
#define DEBUG_ONLY_MEMBERS(a)
|
||||
#undef OP_INFO_ENTRY
|
||||
#define OP_INFO_ENTRY(Opcode,Flags,Name,PArgs,IArgs) {Opcode,Flags,PArgs,IArgs}
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef ACPI_DEBUG
|
||||
|
||||
#define ADD_OBJECT_NAME(a,b)
|
||||
|
||||
#else
|
||||
|
||||
#ifdef ACPI_DEBUG
|
||||
|
||||
/*
|
||||
* 1) Set name to blanks
|
||||
@ -508,7 +617,81 @@
|
||||
#define ADD_OBJECT_NAME(a,b) MEMSET (a->Common.Name, ' ', sizeof (a->Common.Name));\
|
||||
STRNCPY (a->Common.Name, AcpiGbl_NsTypeNames[b], sizeof (a->Common.Name))
|
||||
|
||||
#else
|
||||
|
||||
#define ADD_OBJECT_NAME(a,b)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* MACROS_H */
|
||||
|
||||
/*
|
||||
* Memory allocation tracking (DEBUG ONLY)
|
||||
*/
|
||||
|
||||
#ifndef ACPI_DEBUG_TRACK_ALLOCATIONS
|
||||
|
||||
#define AcpiCmAddElementToAllocList(a,b,c,d,e,f)
|
||||
#define AcpiCmDeleteElementFromAllocList(a,b,c,d)
|
||||
#define AcpiCmDumpCurrentAllocations(a,b)
|
||||
#define AcpiCmDumpAllocationInfo()
|
||||
|
||||
#define DECREMENT_OBJECT_METRICS(a)
|
||||
#define INCREMENT_OBJECT_METRICS(a)
|
||||
#define INITIALIZE_ALLOCATION_METRICS()
|
||||
#define DECREMENT_NAME_TABLE_METRICS(a)
|
||||
#define INCREMENT_NAME_TABLE_METRICS(a)
|
||||
|
||||
#else
|
||||
|
||||
#define INITIALIZE_ALLOCATION_METRICS() \
|
||||
AcpiGbl_CurrentObjectCount = 0; \
|
||||
AcpiGbl_CurrentObjectSize = 0; \
|
||||
AcpiGbl_RunningObjectCount = 0; \
|
||||
AcpiGbl_RunningObjectSize = 0; \
|
||||
AcpiGbl_MaxConcurrentObjectCount = 0; \
|
||||
AcpiGbl_MaxConcurrentObjectSize = 0; \
|
||||
AcpiGbl_CurrentAllocSize = 0; \
|
||||
AcpiGbl_CurrentAllocCount = 0; \
|
||||
AcpiGbl_RunningAllocSize = 0; \
|
||||
AcpiGbl_RunningAllocCount = 0; \
|
||||
AcpiGbl_MaxConcurrentAllocSize = 0; \
|
||||
AcpiGbl_MaxConcurrentAllocCount = 0; \
|
||||
AcpiGbl_CurrentNodeCount = 0; \
|
||||
AcpiGbl_CurrentNodeSize = 0; \
|
||||
AcpiGbl_MaxConcurrentNodeCount = 0
|
||||
|
||||
|
||||
#define DECREMENT_OBJECT_METRICS(a) \
|
||||
AcpiGbl_CurrentObjectCount--; \
|
||||
AcpiGbl_CurrentObjectSize -= a
|
||||
|
||||
#define INCREMENT_OBJECT_METRICS(a) \
|
||||
AcpiGbl_CurrentObjectCount++; \
|
||||
AcpiGbl_RunningObjectCount++; \
|
||||
if (AcpiGbl_MaxConcurrentObjectCount < AcpiGbl_CurrentObjectCount) \
|
||||
{ \
|
||||
AcpiGbl_MaxConcurrentObjectCount = AcpiGbl_CurrentObjectCount; \
|
||||
} \
|
||||
AcpiGbl_RunningObjectSize += a; \
|
||||
AcpiGbl_CurrentObjectSize += a; \
|
||||
if (AcpiGbl_MaxConcurrentObjectSize < AcpiGbl_CurrentObjectSize) \
|
||||
{ \
|
||||
AcpiGbl_MaxConcurrentObjectSize = AcpiGbl_CurrentObjectSize; \
|
||||
}
|
||||
|
||||
#define DECREMENT_NAME_TABLE_METRICS(a) \
|
||||
AcpiGbl_CurrentNodeCount--; \
|
||||
AcpiGbl_CurrentNodeSize -= (a)
|
||||
|
||||
#define INCREMENT_NAME_TABLE_METRICS(a) \
|
||||
AcpiGbl_CurrentNodeCount++; \
|
||||
AcpiGbl_CurrentNodeSize+= (a); \
|
||||
if (AcpiGbl_MaxConcurrentNodeCount < AcpiGbl_CurrentNodeCount) \
|
||||
{ \
|
||||
AcpiGbl_MaxConcurrentNodeCount = AcpiGbl_CurrentNodeCount; \
|
||||
}
|
||||
#endif /* ACPI_DEBUG_TRACK_ALLOCATIONS */
|
||||
|
||||
|
||||
#endif /* ACMACROS_H */
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: namesp.h - Namespace subcomponent prototypes and defines
|
||||
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
|
||||
* $Revision: 1.105 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999, Intel Corp. All rights
|
||||
* reserved.
|
||||
* Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
*
|
||||
@ -114,10 +114,8 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __NAMESPACE_H__
|
||||
#define __NAMESPACE_H__
|
||||
|
||||
#include "actables.h"
|
||||
#ifndef __ACNAMESP_H__
|
||||
#define __ACNAMESP_H__
|
||||
|
||||
|
||||
/* To search the entire name space, pass this as SearchBase */
|
||||
@ -149,49 +147,81 @@
|
||||
#define NS_SEARCH_PARENT 0x01
|
||||
#define NS_DONT_OPEN_SCOPE 0x02
|
||||
#define NS_NO_PEER_SEARCH 0x04
|
||||
#define NS_ERROR_IF_FOUND 0x08
|
||||
|
||||
#define NS_WALK_UNLOCK TRUE
|
||||
#define NS_WALK_NO_UNLOCK FALSE
|
||||
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsWalkNamespace (
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
ACPI_HANDLE StartObject,
|
||||
UINT32 MaxDepth,
|
||||
BOOLEAN UnlockBeforeCallback,
|
||||
WALK_CALLBACK UserFunction,
|
||||
AcpiNsLoadNamespace (
|
||||
void);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsInitializeObjects (
|
||||
void);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsInitializeDevices (
|
||||
void);
|
||||
|
||||
|
||||
/* Namespace init - nsxfinit */
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsInitOneDevice (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT32 NestingLevel,
|
||||
void *Context,
|
||||
void **ReturnValue);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsInitOneObject (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT32 Level,
|
||||
void *Context,
|
||||
void **ReturnValue);
|
||||
|
||||
|
||||
ACPI_NAMED_OBJECT*
|
||||
ACPI_STATUS
|
||||
AcpiNsWalkNamespace (
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
ACPI_HANDLE StartObject,
|
||||
UINT32 MaxDepth,
|
||||
BOOLEAN UnlockBeforeCallback,
|
||||
ACPI_WALK_CALLBACK UserFunction,
|
||||
void *Context,
|
||||
void **ReturnValue);
|
||||
|
||||
|
||||
ACPI_NAMESPACE_NODE *
|
||||
AcpiNsGetNextObject (
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
ACPI_NAMED_OBJECT *Parent,
|
||||
ACPI_NAMED_OBJECT *Child);
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
ACPI_NAMESPACE_NODE *Parent,
|
||||
ACPI_NAMESPACE_NODE *Child);
|
||||
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsDeleteNamespaceByOwner (
|
||||
UINT16 TableId);
|
||||
|
||||
void
|
||||
AcpiNsFreeTableEntry (
|
||||
ACPI_NAMED_OBJECT *Entry);
|
||||
|
||||
|
||||
/* Namespace loading - nsload */
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsOneCompleteParse (
|
||||
UINT32 PassNumber,
|
||||
ACPI_TABLE_DESC *TableDesc);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsParseTable (
|
||||
ACPI_TABLE_DESC *TableDesc,
|
||||
ACPI_NAME_TABLE *Scope);
|
||||
ACPI_NAMESPACE_NODE *Scope);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsLoadTable (
|
||||
ACPI_TABLE_DESC *TableDesc,
|
||||
ACPI_NAMED_OBJECT *Entry);
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsLoadTableByType (
|
||||
@ -210,33 +240,38 @@ AcpiNsRootInitialize (
|
||||
ACPI_STATUS
|
||||
AcpiNsLookup (
|
||||
ACPI_GENERIC_STATE *ScopeInfo,
|
||||
char *Name,
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
NATIVE_CHAR *Name,
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
OPERATING_MODE InterpreterMode,
|
||||
UINT32 Flags,
|
||||
ACPI_WALK_STATE *WalkState,
|
||||
ACPI_NAMED_OBJECT **RetEntry);
|
||||
ACPI_NAMESPACE_NODE **RetNode);
|
||||
|
||||
|
||||
/*
|
||||
* Table allocation/deallocation - nsalloc
|
||||
* Named object allocation/deallocation - nsalloc
|
||||
*/
|
||||
|
||||
ACPI_NAME_TABLE *
|
||||
AcpiNsAllocateNameTable (
|
||||
UINT32 NumEntries);
|
||||
|
||||
ACPI_NAMESPACE_NODE *
|
||||
AcpiNsCreateNode (
|
||||
UINT32 AcpiName);
|
||||
|
||||
void
|
||||
AcpiNsDeleteNode (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsDeleteNamespaceSubtree (
|
||||
ACPI_NAMED_OBJECT *ParentHandle);
|
||||
ACPI_NAMESPACE_NODE *ParentHandle);
|
||||
|
||||
void
|
||||
AcpiNsDetachObject (
|
||||
ACPI_HANDLE Object);
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
void
|
||||
AcpiNsDeleteNameTable (
|
||||
ACPI_NAME_TABLE *NameTable);
|
||||
AcpiNsDeleteChildren (
|
||||
ACPI_NAMESPACE_NODE *Parent);
|
||||
|
||||
|
||||
/*
|
||||
@ -259,7 +294,7 @@ AcpiNsDeleteSubtree (
|
||||
void
|
||||
AcpiNsDumpTables (
|
||||
ACPI_HANDLE SearchBase,
|
||||
INT32 MaxDepth);
|
||||
UINT32 MaxDepth);
|
||||
|
||||
void
|
||||
AcpiNsDumpEntry (
|
||||
@ -269,7 +304,7 @@ AcpiNsDumpEntry (
|
||||
ACPI_STATUS
|
||||
AcpiNsDumpPathname (
|
||||
ACPI_HANDLE Handle,
|
||||
char *Msg,
|
||||
NATIVE_CHAR *Msg,
|
||||
UINT32 Level,
|
||||
UINT32 Component);
|
||||
|
||||
@ -279,7 +314,7 @@ AcpiNsDumpRootDevices (
|
||||
|
||||
void
|
||||
AcpiNsDumpObjects (
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
UINT32 MaxDepth,
|
||||
UINT32 OwnderId,
|
||||
ACPI_HANDLE StartHandle);
|
||||
@ -291,33 +326,33 @@ AcpiNsDumpObjects (
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsEvaluateByHandle (
|
||||
ACPI_NAMED_OBJECT *ObjectNte,
|
||||
ACPI_OBJECT_INTERNAL **Params,
|
||||
ACPI_OBJECT_INTERNAL **ReturnObject);
|
||||
ACPI_NAMESPACE_NODE *PrefixNode,
|
||||
ACPI_OPERAND_OBJECT **Params,
|
||||
ACPI_OPERAND_OBJECT **ReturnObject);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsEvaluateByName (
|
||||
char *Pathname,
|
||||
ACPI_OBJECT_INTERNAL **Params,
|
||||
ACPI_OBJECT_INTERNAL **ReturnObject);
|
||||
NATIVE_CHAR *Pathname,
|
||||
ACPI_OPERAND_OBJECT **Params,
|
||||
ACPI_OPERAND_OBJECT **ReturnObject);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsEvaluateRelative (
|
||||
ACPI_NAMED_OBJECT *ObjectNte,
|
||||
char *Pathname,
|
||||
ACPI_OBJECT_INTERNAL **Params,
|
||||
ACPI_OBJECT_INTERNAL **ReturnObject);
|
||||
ACPI_NAMESPACE_NODE *PrefixNode,
|
||||
NATIVE_CHAR *Pathname,
|
||||
ACPI_OPERAND_OBJECT **Params,
|
||||
ACPI_OPERAND_OBJECT **ReturnObject);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsExecuteControlMethod (
|
||||
ACPI_NAMED_OBJECT *MethodEntry,
|
||||
ACPI_OBJECT_INTERNAL **Params,
|
||||
ACPI_OBJECT_INTERNAL **ReturnObjDesc);
|
||||
ACPI_NAMESPACE_NODE *MethodNode,
|
||||
ACPI_OPERAND_OBJECT **Params,
|
||||
ACPI_OPERAND_OBJECT **ReturnObjDesc);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsGetObjectValue (
|
||||
ACPI_NAMED_OBJECT *ObjectEntry,
|
||||
ACPI_OBJECT_INTERNAL **ReturnObjDesc);
|
||||
ACPI_NAMESPACE_NODE *ObjectNode,
|
||||
ACPI_OPERAND_OBJECT **ReturnObjDesc);
|
||||
|
||||
|
||||
/*
|
||||
@ -326,26 +361,26 @@ AcpiNsGetObjectValue (
|
||||
|
||||
ACPI_NAME
|
||||
AcpiNsFindParentName (
|
||||
ACPI_NAMED_OBJECT *EntryToSearch);
|
||||
ACPI_NAMESPACE_NODE *NodeToSearch);
|
||||
|
||||
BOOLEAN
|
||||
AcpiNsExistDownstreamSibling (
|
||||
ACPI_NAMED_OBJECT *ThisEntry);
|
||||
ACPI_NAMESPACE_NODE *ThisNode);
|
||||
|
||||
|
||||
/*
|
||||
* Scope manipulation - nsscope
|
||||
*/
|
||||
|
||||
INT32
|
||||
UINT32
|
||||
AcpiNsOpensScope (
|
||||
OBJECT_TYPE_INTERNAL Type);
|
||||
ACPI_OBJECT_TYPE8 Type);
|
||||
|
||||
char *
|
||||
AcpiNsNameOfScope (
|
||||
ACPI_NAME_TABLE *Scope);
|
||||
NATIVE_CHAR *
|
||||
AcpiNsGetTablePathname (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
char *
|
||||
NATIVE_CHAR *
|
||||
AcpiNsNameOfCurrentScope (
|
||||
ACPI_WALK_STATE *WalkState);
|
||||
|
||||
@ -353,68 +388,34 @@ ACPI_STATUS
|
||||
AcpiNsHandleToPathname (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT32 *BufSize,
|
||||
char *UserBuffer);
|
||||
NATIVE_CHAR *UserBuffer);
|
||||
|
||||
BOOLEAN
|
||||
AcpiNsPatternMatch (
|
||||
ACPI_NAMED_OBJECT *ObjEntry,
|
||||
char *SearchFor);
|
||||
ACPI_NAMESPACE_NODE *ObjNode,
|
||||
NATIVE_CHAR *SearchFor);
|
||||
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsNameCompare (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT32 Level,
|
||||
void *Context,
|
||||
void **ReturnValue);
|
||||
AcpiNsGetNode (
|
||||
NATIVE_CHAR *Pathname,
|
||||
ACPI_NAMESPACE_NODE *InPrefixNode,
|
||||
ACPI_NAMESPACE_NODE **OutNode);
|
||||
|
||||
void
|
||||
AcpiNsLowFindNames (
|
||||
ACPI_NAMED_OBJECT *ThisEntry,
|
||||
char *SearchFor,
|
||||
INT32 *Count,
|
||||
ACPI_HANDLE List[],
|
||||
INT32 MaxDepth);
|
||||
UINT32
|
||||
AcpiNsGetPathnameLength (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
ACPI_HANDLE *
|
||||
AcpiNsFindNames (
|
||||
char *SearchFor,
|
||||
ACPI_HANDLE SearchBase,
|
||||
INT32 MaxDepth);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsGetNamedObject (
|
||||
char *Pathname,
|
||||
ACPI_NAME_TABLE *InScope,
|
||||
ACPI_NAMED_OBJECT **OutNte);
|
||||
|
||||
/*
|
||||
* Object management for NTEs - nsobject
|
||||
*/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsAttachMethod (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT8 *PcodeAddr,
|
||||
UINT32 PcodeLength);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsAttachObject (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
ACPI_HANDLE Value,
|
||||
OBJECT_TYPE_INTERNAL Type);
|
||||
|
||||
|
||||
void *
|
||||
AcpiNsCompareValue (
|
||||
ACPI_HANDLE ObjHandle,
|
||||
UINT32 Level,
|
||||
void *ObjDesc);
|
||||
|
||||
ACPI_HANDLE
|
||||
AcpiNsFindAttachedObject (
|
||||
ACPI_OBJECT_INTERNAL *ObjDesc,
|
||||
ACPI_HANDLE SearchBase,
|
||||
INT32 MaxDepth);
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
ACPI_OPERAND_OBJECT *Object,
|
||||
ACPI_OBJECT_TYPE8 Type);
|
||||
|
||||
|
||||
/*
|
||||
@ -425,25 +426,25 @@ ACPI_STATUS
|
||||
AcpiNsSearchAndEnter (
|
||||
UINT32 EntryName,
|
||||
ACPI_WALK_STATE *WalkState,
|
||||
ACPI_NAME_TABLE *NameTable,
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
OPERATING_MODE InterpreterMode,
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
UINT32 Flags,
|
||||
ACPI_NAMED_OBJECT **RetEntry);
|
||||
|
||||
void
|
||||
AcpiNsInitializeTable (
|
||||
ACPI_NAME_TABLE *NewTable,
|
||||
ACPI_NAME_TABLE *ParentScope,
|
||||
ACPI_NAMED_OBJECT *ParentEntry);
|
||||
ACPI_NAMESPACE_NODE **RetNode);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsSearchOneScope (
|
||||
AcpiNsSearchNode (
|
||||
UINT32 EntryName,
|
||||
ACPI_NAME_TABLE *NameTable,
|
||||
OBJECT_TYPE_INTERNAL Type,
|
||||
ACPI_NAMED_OBJECT **RetEntry,
|
||||
NS_SEARCH_DATA *RetInfo);
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
ACPI_OBJECT_TYPE8 Type,
|
||||
ACPI_NAMESPACE_NODE **RetNode);
|
||||
|
||||
void
|
||||
AcpiNsInstallNode (
|
||||
ACPI_WALK_STATE *WalkState,
|
||||
ACPI_NAMESPACE_NODE *ParentNode, /* Parent */
|
||||
ACPI_NAMESPACE_NODE *Node, /* New Child*/
|
||||
ACPI_OBJECT_TYPE8 Type);
|
||||
|
||||
|
||||
/*
|
||||
@ -452,64 +453,56 @@ AcpiNsSearchOneScope (
|
||||
|
||||
BOOLEAN
|
||||
AcpiNsValidRootPrefix (
|
||||
char Prefix);
|
||||
NATIVE_CHAR Prefix);
|
||||
|
||||
BOOLEAN
|
||||
AcpiNsValidPathSeparator (
|
||||
char Sep);
|
||||
NATIVE_CHAR Sep);
|
||||
|
||||
OBJECT_TYPE_INTERNAL
|
||||
ACPI_OBJECT_TYPE8
|
||||
AcpiNsGetType (
|
||||
ACPI_HANDLE ObjHandle);
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
void *
|
||||
AcpiNsGetAttachedObject (
|
||||
ACPI_HANDLE ObjHandle);
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
INT32
|
||||
UINT32
|
||||
AcpiNsLocal (
|
||||
OBJECT_TYPE_INTERNAL Type);
|
||||
ACPI_OBJECT_TYPE8 Type);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsInternalizeName (
|
||||
char *DottedName,
|
||||
char **ConvertedName);
|
||||
NATIVE_CHAR *DottedName,
|
||||
NATIVE_CHAR **ConvertedName);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiNsExternalizeName (
|
||||
UINT32 InternalNameLength,
|
||||
char *InternalName,
|
||||
NATIVE_CHAR *InternalName,
|
||||
UINT32 *ConvertedNameLength,
|
||||
char **ConvertedName);
|
||||
NATIVE_CHAR **ConvertedName);
|
||||
|
||||
INT32
|
||||
IsNsObject (
|
||||
ACPI_OBJECT_INTERNAL *pOD);
|
||||
|
||||
INT32
|
||||
AcpiNsMarkNS(
|
||||
void);
|
||||
|
||||
ACPI_NAMED_OBJECT*
|
||||
ACPI_NAMESPACE_NODE *
|
||||
AcpiNsConvertHandleToEntry (
|
||||
ACPI_HANDLE Handle);
|
||||
|
||||
ACPI_HANDLE
|
||||
AcpiNsConvertEntryToHandle(
|
||||
ACPI_NAMED_OBJECT*Nte);
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
void
|
||||
AcpiNsTerminate (
|
||||
void);
|
||||
|
||||
ACPI_NAMED_OBJECT *
|
||||
AcpiNsGetParentEntry (
|
||||
ACPI_NAMED_OBJECT *ThisEntry);
|
||||
ACPI_NAMESPACE_NODE *
|
||||
AcpiNsGetParentObject (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
|
||||
ACPI_NAMED_OBJECT *
|
||||
AcpiNsGetNextValidEntry (
|
||||
ACPI_NAMED_OBJECT *ThisEntry);
|
||||
ACPI_NAMESPACE_NODE *
|
||||
AcpiNsGetNextValidObject (
|
||||
ACPI_NAMESPACE_NODE *Node);
|
||||
|
||||
|
||||
#endif /* __NAMESPACE_H__ */
|
||||
#endif /* __ACNAMESP_H__ */
|
||||
|
@ -1,7 +1,8 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acobject.h - Definition of ACPI_OBJECT_INTERNAL (Internal object only)
|
||||
* Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only)
|
||||
* $Revision: 1.87 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -9,8 +10,8 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999, Intel Corp. All rights
|
||||
* reserved.
|
||||
* Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
*
|
||||
@ -117,17 +118,14 @@
|
||||
#ifndef _ACOBJECT_H
|
||||
#define _ACOBJECT_H
|
||||
|
||||
#include "actypes.h"
|
||||
#include "macros.h"
|
||||
#include "internal.h"
|
||||
|
||||
/*
|
||||
* The ACPI_OBJECT_INTERNAL is used to pass AML operands from the dispatcher
|
||||
* The ACPI_OPERAND_OBJECT is used to pass AML operands from the dispatcher
|
||||
* to the interpreter, and to keep track of the various handlers such as
|
||||
* address space handlers and notify handlers. The object is a constant
|
||||
* size in order to allow them to be cached and reused.
|
||||
*
|
||||
* All variants of the ACPI_OBJECT_INTERNAL are defined with the same
|
||||
* All variants of the ACPI_OPERAND_OBJECT are defined with the same
|
||||
* sequence of field types, with fields that are not used in a particular
|
||||
* variant being named "Reserved". This is not strictly necessary, but
|
||||
* may in some circumstances simplify understanding if these structures
|
||||
@ -151,32 +149,31 @@
|
||||
*/
|
||||
|
||||
|
||||
#define ACPI_OBJECT_COMMON_HEADER /* Two 32-bit fields */\
|
||||
UINT8 DataType; /* To differentiate various internal objs */\
|
||||
UINT8 Type; /* ACPI_OBJECT_TYPE */\
|
||||
UINT8 Size; /* Size of entire descriptor */\
|
||||
UINT8 Flags;\
|
||||
UINT16 ReferenceCount; /* For object deletion management */\
|
||||
UINT16 AcpiCmFill2;\
|
||||
union AcpiObjInternal *Next; \
|
||||
#define ACPI_OBJECT_COMMON_HEADER /* SIZE/ALIGNMENT: 32-bits plus trailing 8-bit flag */\
|
||||
UINT8 DataType; /* To differentiate various internal objs */\
|
||||
UINT8 Type; /* ACPI_OBJECT_TYPE */\
|
||||
UINT16 ReferenceCount; /* For object deletion management */\
|
||||
UINT8 Flags; \
|
||||
|
||||
/* Defines for flag byte above */
|
||||
|
||||
#define AO_STATIC_ALLOCATION 0x1
|
||||
#define AOPOBJ_STATIC_ALLOCATION 0x1
|
||||
#define AOPOBJ_DATA_VALID 0x2
|
||||
#define AOPOBJ_INITIALIZED 0x4
|
||||
|
||||
|
||||
/*
|
||||
* Common bitfield for the field objects
|
||||
*/
|
||||
#define ACPI_COMMON_FIELD_INFO /* Three 32-bit values */\
|
||||
UINT32 Offset; /* Byte offset within containing object */\
|
||||
UINT16 Length; /* # of bits in buffer */ \
|
||||
UINT8 Granularity;\
|
||||
UINT8 BitOffset; /* Bit offset within min read/write data unit */\
|
||||
UINT8 Access; /* AccessType */\
|
||||
UINT8 LockRule;\
|
||||
UINT8 UpdateRule;\
|
||||
UINT8 AccessAttribute;
|
||||
#define ACPI_COMMON_FIELD_INFO /* SIZE/ALIGNMENT: 24 bits + three 32-bit values */\
|
||||
UINT8 Granularity;\
|
||||
UINT16 BitLength; /* Length of field in bits */\
|
||||
UINT32 ByteOffset; /* Byte offset within containing object */\
|
||||
UINT8 BitOffset; /* Bit offset within min read/write data unit (0-63) */\
|
||||
UINT8 Access; /* AccessType (ByteAccess, WordAccess, etc*/\
|
||||
UINT8 LockRule; /* Global Lock: Must Lock = 1 */\
|
||||
UINT8 UpdateRule; /* How neighboring bits are handled */\
|
||||
UINT32 Value; /* Value to store into the Bank or Index register */
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@ -189,61 +186,43 @@
|
||||
typedef struct /* COMMON */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
UCHAR FirstNonCommonByte;
|
||||
|
||||
} ACPI_OBJECT_COMMON;
|
||||
|
||||
|
||||
typedef struct /* CACHE_LIST */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
union acpi_operand_obj *Next; /* Link for object cache and internal lists*/
|
||||
|
||||
} ACPI_OBJECT_CACHE_LIST;
|
||||
|
||||
|
||||
typedef struct /* NUMBER - has value */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Value;
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
ACPI_INTEGER Value;
|
||||
|
||||
void *Reserved_p1;
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
|
||||
} ACPI_OBJECT_NUMBER;
|
||||
} ACPI_OBJECT_INTEGER;
|
||||
|
||||
|
||||
typedef struct /* STRING - has length and pointer */
|
||||
typedef struct /* STRING - has length and pointer - Null terminated, ASCII characters only */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Length; /* # of bytes in string, excluding trailing null */
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
char *Pointer; /* String value in AML stream or in allocated space */
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
UINT32 Length;
|
||||
NATIVE_CHAR *Pointer; /* String value in AML stream or in allocated space */
|
||||
|
||||
} ACPI_OBJECT_STRING;
|
||||
|
||||
|
||||
typedef struct /* BUFFER - has length, sequence, and pointer */
|
||||
typedef struct /* BUFFER - has length and pointer - not null terminated */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Length; /* # of bytes in buffer */
|
||||
UINT32 Sequence; /* Sequential count of buffers created */
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
UINT8 *Pointer; /* points to the buffer in allocated space */
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
UINT32 Length;
|
||||
UINT8 *Pointer; /* points to the buffer in allocated space */
|
||||
|
||||
} ACPI_OBJECT_BUFFER;
|
||||
|
||||
@ -252,50 +231,22 @@ typedef struct /* PACKAGE - has count, elements, next element */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Count; /* # of elements in package */
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
UINT32 Count; /* # of elements in package */
|
||||
|
||||
union AcpiObjInternal **Elements; /* Array of pointers to AcpiObjects */
|
||||
union AcpiObjInternal **NextElement; /* used only while initializing */
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
union acpi_operand_obj **Elements; /* Array of pointers to AcpiObjects */
|
||||
union acpi_operand_obj **NextElement; /* used only while initializing */
|
||||
|
||||
} ACPI_OBJECT_PACKAGE;
|
||||
|
||||
|
||||
typedef struct /* FIELD UNIT */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
UINT32 Sequence; /* Container's sequence number */
|
||||
|
||||
union AcpiObjInternal *Container; /* Containing object (Buffer) */
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
|
||||
} ACPI_OBJECT_FIELD_UNIT;
|
||||
|
||||
|
||||
typedef struct /* DEVICE - has handle and notification handler/context */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Reserved1;
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
ACPI_HANDLE Handle;
|
||||
union AcpiObjInternal *SysHandler; /* Handler for system notifies */
|
||||
union AcpiObjInternal *DrvHandler; /* Handler for driver notifies */
|
||||
union AcpiObjInternal *AddrHandler; /* Handler for Address space */
|
||||
void *Reserved_p5;
|
||||
union acpi_operand_obj *SysHandler; /* Handler for system notifies */
|
||||
union acpi_operand_obj *DrvHandler; /* Handler for driver notifies */
|
||||
union acpi_operand_obj *AddrHandler; /* Handler for Address space */
|
||||
|
||||
} ACPI_OBJECT_DEVICE;
|
||||
|
||||
@ -303,19 +254,7 @@ typedef struct /* DEVICE - has handle and notification handler/context */
|
||||
typedef struct /* EVENT */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT16 LockCount;
|
||||
UINT16 ThreadId;
|
||||
UINT16 SignalCount;
|
||||
UINT16 Fill1;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
void *Semaphore;
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
void *Semaphore;
|
||||
|
||||
} ACPI_OBJECT_EVENT;
|
||||
|
||||
@ -325,67 +264,47 @@ typedef struct /* EVENT */
|
||||
typedef struct /* METHOD */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
UINT8 MethodFlags;
|
||||
UINT8 ParamCount;
|
||||
|
||||
UINT8 MethodFlags;
|
||||
UINT8 ParamCount;
|
||||
UINT8 Concurrency;
|
||||
UINT8 Fill1;
|
||||
UINT32 PcodeLength;
|
||||
UINT32 TableLength;
|
||||
ACPI_OWNER_ID OwningId;
|
||||
UINT16 Reserved4;
|
||||
UINT32 PcodeLength;
|
||||
|
||||
UINT8 *Pcode;
|
||||
UINT8 *AcpiTable;
|
||||
void *ParserOp;
|
||||
void *Semaphore;
|
||||
void *Reserved_p5;
|
||||
void *Semaphore;
|
||||
UINT8 *Pcode;
|
||||
|
||||
UINT8 Concurrency;
|
||||
UINT8 ThreadCount;
|
||||
ACPI_OWNER_ID OwningId;
|
||||
|
||||
} ACPI_OBJECT_METHOD;
|
||||
|
||||
|
||||
typedef struct /* MUTEX */
|
||||
typedef struct acpi_obj_mutex /* MUTEX */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
UINT16 SyncLevel;
|
||||
UINT16 AcquisitionDepth;
|
||||
|
||||
UINT16 LockCount;
|
||||
UINT16 ThreadId;
|
||||
UINT16 SyncLevel;
|
||||
UINT16 Fill1;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
void *Semaphore;
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
void *Semaphore;
|
||||
void *Owner;
|
||||
union acpi_operand_obj *Prev; /* Link for list of acquired mutexes */
|
||||
union acpi_operand_obj *Next; /* Link for list of acquired mutexes */
|
||||
|
||||
} ACPI_OBJECT_MUTEX;
|
||||
|
||||
/* Flags for Region */
|
||||
|
||||
#define INITIAL_REGION_FLAGS 0x0000 /* value set when the region is created */
|
||||
#define REGION_AGRUMENT_DATA_VALID 0x0001 /* Addr/Len are set */
|
||||
#define REGION_INITIALIZED 0x0002 /* region init handler has been called */
|
||||
/* this includes _REG method, if any */
|
||||
|
||||
typedef struct /* REGION */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT16 SpaceId;
|
||||
UINT16 RegionFlags; /* bits defined above */
|
||||
UINT32 Address;
|
||||
UINT32 Length;
|
||||
UINT32 Reserved4; /* Region Specific data (PCI _ADR) */
|
||||
UINT8 SpaceId;
|
||||
UINT32 Length;
|
||||
ACPI_PHYSICAL_ADDRESS Address;
|
||||
union acpi_operand_obj *Extra; /* Pointer to executable AML (in region definition) */
|
||||
|
||||
union AcpiObjInternal *Method; /* Associated control method */
|
||||
union AcpiObjInternal *AddrHandler; /* Handler for system notifies */
|
||||
union AcpiObjInternal *Link; /* Link in list of regions */
|
||||
/* list is owned by AddrHandler */
|
||||
ACPI_NAMED_OBJECT *REGMethod; /* _REG method for this region (if any) */
|
||||
ACPI_NAMED_OBJECT *Nte; /* containing object */
|
||||
union acpi_operand_obj *AddrHandler; /* Handler for system notifies */
|
||||
ACPI_NAMESPACE_NODE *Node; /* containing object */
|
||||
union acpi_operand_obj *Next;
|
||||
|
||||
} ACPI_OBJECT_REGION;
|
||||
|
||||
@ -394,16 +313,11 @@ typedef struct /* POWER RESOURCE - has Handle and notification handler/context*/
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 SystemLevel;
|
||||
UINT32 ResourceOrder;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
UINT32 SystemLevel;
|
||||
UINT32 ResourceOrder;
|
||||
|
||||
ACPI_HANDLE Handle;
|
||||
union AcpiObjInternal *SysHandler; /* Handler for system notifies */
|
||||
union AcpiObjInternal *DrvHandler; /* Handler for driver notifies */
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
union acpi_operand_obj *SysHandler; /* Handler for system notifies */
|
||||
union acpi_operand_obj *DrvHandler; /* Handler for driver notifies */
|
||||
|
||||
} ACPI_OBJECT_POWER_RESOURCE;
|
||||
|
||||
@ -412,17 +326,13 @@ typedef struct /* PROCESSOR - has Handle and notification handler/context*/
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 ProcId;
|
||||
ACPI_IO_ADDRESS PblkAddress;
|
||||
UINT16 Fill1;
|
||||
UINT32 PblkLength;
|
||||
UINT32 Reserved4;
|
||||
UINT32 ProcId;
|
||||
UINT32 Length;
|
||||
ACPI_IO_ADDRESS Address;
|
||||
|
||||
ACPI_HANDLE Handle;
|
||||
union AcpiObjInternal *SysHandler; /* Handler for system notifies */
|
||||
union AcpiObjInternal *DrvHandler; /* Handler for driver notifies */
|
||||
union AcpiObjInternal *AddrHandler; /* Handler for Address space */
|
||||
void *Reserved_p5;
|
||||
union acpi_operand_obj *SysHandler; /* Handler for system notifies */
|
||||
union acpi_operand_obj *DrvHandler; /* Handler for driver notifies */
|
||||
union acpi_operand_obj *AddrHandler; /* Handler for Address space */
|
||||
|
||||
} ACPI_OBJECT_PROCESSOR;
|
||||
|
||||
@ -431,90 +341,87 @@ typedef struct /* THERMAL ZONE - has Handle and Handler/Context */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Reserved1;
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
ACPI_HANDLE Handle;
|
||||
union AcpiObjInternal *SysHandler; /* Handler for system notifies */
|
||||
union AcpiObjInternal *DrvHandler; /* Handler for driver notifies */
|
||||
union AcpiObjInternal *AddrHandler; /* Handler for Address space */
|
||||
void *Reserved_p5;
|
||||
union acpi_operand_obj *SysHandler; /* Handler for system notifies */
|
||||
union acpi_operand_obj *DrvHandler; /* Handler for driver notifies */
|
||||
union acpi_operand_obj *AddrHandler; /* Handler for Address space */
|
||||
|
||||
} ACPI_OBJECT_THERMAL_ZONE;
|
||||
|
||||
|
||||
/*
|
||||
* Internal types
|
||||
* Fields. All share a common header/info field.
|
||||
*/
|
||||
|
||||
typedef struct /* FIELD */
|
||||
typedef struct /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
UINT32 Reserved4;
|
||||
union acpi_operand_obj *RegionObj; /* Containing Operation Region object */
|
||||
/* (REGION/BANK fields only) */
|
||||
} ACPI_OBJECT_FIELD_COMMON;
|
||||
|
||||
union AcpiObjInternal *Container; /* Containing object */
|
||||
void *Reserved_p2;
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
|
||||
} ACPI_OBJECT_FIELD;
|
||||
typedef struct /* REGION FIELD */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
union acpi_operand_obj *RegionObj; /* Containing OpRegion object */
|
||||
|
||||
} ACPI_OBJECT_REGION_FIELD;
|
||||
|
||||
|
||||
typedef struct /* BANK FIELD */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
UINT32 Value; /* Value to store into BankSelect */
|
||||
|
||||
ACPI_HANDLE BankSelect; /* Bank select register */
|
||||
union AcpiObjInternal *Container; /* Containing object */
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
|
||||
union acpi_operand_obj *RegionObj; /* Containing OpRegion object */
|
||||
union acpi_operand_obj *BankRegisterObj; /* BankSelect Register object */
|
||||
|
||||
} ACPI_OBJECT_BANK_FIELD;
|
||||
|
||||
|
||||
typedef struct /* INDEX FIELD */
|
||||
{
|
||||
/*
|
||||
* No container pointer needed since the index and data register definitions
|
||||
* will define how to access the respective registers
|
||||
*/
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
UINT32 Value; /* Value to store into Index register */
|
||||
|
||||
/*
|
||||
* No "RegionObj" pointer needed since the Index and Data registers
|
||||
* are each field definitions unto themselves.
|
||||
*/
|
||||
union acpi_operand_obj *IndexObj; /* Index register */
|
||||
union acpi_operand_obj *DataObj; /* Data register */
|
||||
|
||||
ACPI_HANDLE Index; /* Index register */
|
||||
ACPI_HANDLE Data; /* Data register */
|
||||
void *Reserved_p3;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
|
||||
} ACPI_OBJECT_INDEX_FIELD;
|
||||
|
||||
|
||||
/* The BufferField is different in that it is part of a Buffer, not an OpRegion */
|
||||
|
||||
typedef struct /* BUFFER FIELD */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
ACPI_COMMON_FIELD_INFO
|
||||
|
||||
union acpi_operand_obj *Extra; /* Pointer to executable AML (in field definition) */
|
||||
ACPI_NAMESPACE_NODE *Node; /* Parent (containing) object node */
|
||||
union acpi_operand_obj *BufferObj; /* Containing Buffer object */
|
||||
|
||||
} ACPI_OBJECT_BUFFER_FIELD;
|
||||
|
||||
|
||||
/*
|
||||
* Handlers
|
||||
*/
|
||||
|
||||
typedef struct /* NOTIFY HANDLER */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT32 Reserved1;
|
||||
UINT32 Reserved2;
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
|
||||
ACPI_NAMED_OBJECT *Nte; /* Parent device */
|
||||
NOTIFY_HANDLER Handler;
|
||||
void *Context;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
ACPI_NAMESPACE_NODE *Node; /* Parent device */
|
||||
ACPI_NOTIFY_HANDLER Handler;
|
||||
void *Context;
|
||||
|
||||
} ACPI_OBJECT_NOTIFY_HANDLER;
|
||||
|
||||
@ -523,19 +430,20 @@ typedef struct /* NOTIFY HANDLER */
|
||||
|
||||
#define ADDR_HANDLER_DEFAULT_INSTALLED 0x1
|
||||
|
||||
|
||||
typedef struct /* ADDRESS HANDLER */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT16 SpaceId;
|
||||
UINT16 Hflags;
|
||||
ADDRESS_SPACE_HANDLER Handler;
|
||||
UINT8 SpaceId;
|
||||
UINT16 Hflags;
|
||||
ACPI_ADR_SPACE_HANDLER Handler;
|
||||
|
||||
ACPI_NAMED_OBJECT *Nte; /* Parent device */
|
||||
void *Context;
|
||||
ADDRESS_SPACE_SETUP Setup;
|
||||
union AcpiObjInternal *Link; /* Link to next handler on device */
|
||||
union AcpiObjInternal *RegionList; /* regions using this handler */
|
||||
ACPI_NAMESPACE_NODE *Node; /* Parent device */
|
||||
void *Context;
|
||||
ACPI_ADR_SPACE_SETUP Setup;
|
||||
union acpi_operand_obj *RegionList; /* regions using this handler */
|
||||
union acpi_operand_obj *Next;
|
||||
|
||||
} ACPI_OBJECT_ADDR_HANDLER;
|
||||
|
||||
@ -549,36 +457,53 @@ typedef struct /* Reference - Local object type */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
|
||||
UINT16 OpCode;
|
||||
UINT8 Fill1;
|
||||
UINT8 TargetType; /* Used for IndexOp */
|
||||
UINT32 Offset; /* Used for ArgOp, LocalOp, and IndexOp */
|
||||
UINT32 Reserved3;
|
||||
UINT32 Reserved4;
|
||||
UINT8 TargetType; /* Used for IndexOp */
|
||||
UINT16 Opcode;
|
||||
UINT32 Offset; /* Used for ArgOp, LocalOp, and IndexOp */
|
||||
|
||||
void *Object; /* NameOp=>HANDLE to obj, IndexOp=>ACPI_OBJECT_INTERNAL */
|
||||
ACPI_NAMED_OBJECT *Nte;
|
||||
union AcpiObjInternal **Where;
|
||||
void *Reserved_p4;
|
||||
void *Reserved_p5;
|
||||
void *Object; /* NameOp=>HANDLE to obj, IndexOp=>ACPI_OPERAND_OBJECT */
|
||||
ACPI_NAMESPACE_NODE *Node;
|
||||
union acpi_operand_obj **Where;
|
||||
|
||||
} ACPI_OBJECT_REFERENCE;
|
||||
|
||||
|
||||
/*
|
||||
* Extra object is used as additional storage for types that
|
||||
* have AML code in their declarations (TermArgs) that must be
|
||||
* evaluated at run time.
|
||||
*
|
||||
* Currently: Region and FieldUnit types
|
||||
*/
|
||||
|
||||
typedef struct /* EXTRA */
|
||||
{
|
||||
ACPI_OBJECT_COMMON_HEADER
|
||||
UINT8 ByteFill1;
|
||||
UINT16 WordFill1;
|
||||
UINT32 PcodeLength;
|
||||
UINT8 *Pcode;
|
||||
ACPI_NAMESPACE_NODE *Method_REG; /* _REG method for this region (if any) */
|
||||
void *RegionContext; /* Region-specific data */
|
||||
|
||||
} ACPI_OBJECT_EXTRA;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* ACPI_OBJECT_INTERNAL Descriptor - a giant union of all of the above
|
||||
* ACPI_OPERAND_OBJECT Descriptor - a giant union of all of the above
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
typedef union AcpiObjInternal
|
||||
typedef union acpi_operand_obj
|
||||
{
|
||||
ACPI_OBJECT_COMMON Common;
|
||||
ACPI_OBJECT_NUMBER Number;
|
||||
ACPI_OBJECT_CACHE_LIST Cache;
|
||||
ACPI_OBJECT_INTEGER Integer;
|
||||
ACPI_OBJECT_STRING String;
|
||||
ACPI_OBJECT_BUFFER Buffer;
|
||||
ACPI_OBJECT_PACKAGE Package;
|
||||
ACPI_OBJECT_FIELD_UNIT FieldUnit;
|
||||
ACPI_OBJECT_BUFFER_FIELD BufferField;
|
||||
ACPI_OBJECT_DEVICE Device;
|
||||
ACPI_OBJECT_EVENT Event;
|
||||
ACPI_OBJECT_METHOD Method;
|
||||
@ -587,13 +512,15 @@ typedef union AcpiObjInternal
|
||||
ACPI_OBJECT_POWER_RESOURCE PowerResource;
|
||||
ACPI_OBJECT_PROCESSOR Processor;
|
||||
ACPI_OBJECT_THERMAL_ZONE ThermalZone;
|
||||
ACPI_OBJECT_FIELD Field;
|
||||
ACPI_OBJECT_FIELD_COMMON CommonField;
|
||||
ACPI_OBJECT_REGION_FIELD Field;
|
||||
ACPI_OBJECT_BANK_FIELD BankField;
|
||||
ACPI_OBJECT_INDEX_FIELD IndexField;
|
||||
ACPI_OBJECT_REFERENCE Reference;
|
||||
ACPI_OBJECT_NOTIFY_HANDLER NotifyHandler;
|
||||
ACPI_OBJECT_ADDR_HANDLER AddrHandler;
|
||||
ACPI_OBJECT_EXTRA Extra;
|
||||
|
||||
} ACPI_OBJECT_INTERNAL;
|
||||
} ACPI_OPERAND_OBJECT;
|
||||
|
||||
#endif /* _ACOBJECT_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user