diff options
Diffstat (limited to 'sys/contrib/dev/acpica/acobject.h')
-rw-r--r-- | sys/contrib/dev/acpica/acobject.h | 329 |
1 files changed, 153 insertions, 176 deletions
diff --git a/sys/contrib/dev/acpica/acobject.h b/sys/contrib/dev/acpica/acobject.h index 566758d..2f92f05 100644 --- a/sys/contrib/dev/acpica/acobject.h +++ b/sys/contrib/dev/acpica/acobject.h @@ -2,7 +2,7 @@ /****************************************************************************** * * Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only) - * $Revision: 114 $ + * $Revision: 118 $ * *****************************************************************************/ @@ -10,7 +10,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp. * All rights reserved. * * 2. License @@ -138,12 +138,12 @@ * DataType is used to differentiate between internal descriptors, and MUST * be the first byte in this structure. */ -#define ACPI_OBJECT_COMMON_HEADER /* SIZE/ALIGNMENT: 32 bits, one ptr plus trailing 8-bit flag */\ - UINT8 Descriptor; /* To differentiate various internal objs */\ - UINT8 Type; /* ACPI_OBJECT_TYPE */\ - UINT16 ReferenceCount; /* For object deletion management */\ - union acpi_operand_obj *NextObject; /* Objects linked to parent NS node */\ - UINT8 Flags; \ +#define ACPI_OBJECT_COMMON_HEADER /* SIZE/ALIGNMENT: 32 bits, one ptr plus trailing 8-bit flag */\ + UINT8 Descriptor; /* To differentiate various internal objs */\ + UINT8 Type; /* ACPI_OBJECT_TYPE */\ + UINT16 ReferenceCount; /* For object deletion management */\ + union acpi_operand_object *NextObject; /* Objects linked to parent NS node */\ + UINT8 Flags; \ /* Values for flag byte above */ @@ -160,34 +160,34 @@ * "Field Datum" -- a datum from the actual field object * "Buffer Datum" -- a datum from a user buffer, read from or to be written to the field */ -#define ACPI_COMMON_FIELD_INFO /* SIZE/ALIGNMENT: 24 bits + three 32-bit values */\ - UINT8 FieldFlags; /* Access, update, and lock bits */\ - UINT8 Attribute; /* From AccessAs keyword */\ - UINT8 AccessByteWidth; /* Read/Write size in bytes */\ - UINT32 BitLength; /* Length of field in bits */\ - UINT32 BaseByteOffset; /* Byte offset within containing object */\ - UINT8 StartFieldBitOffset;/* Bit offset within first field datum (0-63) */\ - UINT8 DatumValidBits; /* Valid bit in first "Field datum" */\ - UINT8 EndFieldValidBits; /* Valid bits in the last "field datum" */\ - UINT8 EndBufferValidBits; /* Valid bits in the last "buffer datum" */\ - UINT32 Value; /* Value to store into the Bank or Index register */\ - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ +#define ACPI_COMMON_FIELD_INFO /* SIZE/ALIGNMENT: 24 bits + three 32-bit values */\ + UINT8 FieldFlags; /* Access, update, and lock bits */\ + UINT8 Attribute; /* From AccessAs keyword */\ + UINT8 AccessByteWidth; /* Read/Write size in bytes */\ + UINT32 BitLength; /* Length of field in bits */\ + UINT32 BaseByteOffset; /* Byte offset within containing object */\ + UINT8 StartFieldBitOffset;/* Bit offset within first field datum (0-63) */\ + UINT8 DatumValidBits; /* Valid bit in first "Field datum" */\ + UINT8 EndFieldValidBits; /* Valid bits in the last "field datum" */\ + UINT8 EndBufferValidBits; /* Valid bits in the last "buffer datum" */\ + UINT32 Value; /* Value to store into the Bank or Index register */\ + ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ /* * Fields common to both Strings and Buffers */ #define ACPI_COMMON_BUFFER_INFO \ - UINT32 Length; + UINT32 Length; /* * Common fields for objects that support ASL notifications */ #define ACPI_COMMON_NOTIFY_INFO \ - 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 */ + union acpi_operand_object *SysHandler; /* Handler for system notifies */\ + union acpi_operand_object *DrvHandler; /* Handler for driver notifies */\ + union acpi_operand_object *AddrHandler; /* Handler for Address space */ /****************************************************************************** @@ -196,52 +196,51 @@ * *****************************************************************************/ -typedef struct AcpiObjectCommon +typedef struct acpi_object_common { ACPI_OBJECT_COMMON_HEADER } ACPI_OBJECT_COMMON; -typedef struct AcpiObjectInteger +typedef struct acpi_object_integer { ACPI_OBJECT_COMMON_HEADER - - ACPI_INTEGER Value; + ACPI_INTEGER Value; } ACPI_OBJECT_INTEGER; -typedef struct AcpiObjectString /* Null terminated, ASCII characters only */ +typedef struct acpi_object_string /* Null terminated, ASCII characters only */ { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO - NATIVE_CHAR *Pointer; /* String in AML stream or allocated string */ + char *Pointer; /* String in AML stream or allocated string */ } ACPI_OBJECT_STRING; -typedef struct AcpiObjectBuffer +typedef struct acpi_object_buffer { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO - UINT8 *Pointer; /* Buffer in AML stream or allocated buffer */ - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ - UINT8 *AmlStart; - UINT32 AmlLength; + UINT8 *Pointer; /* Buffer in AML stream or allocated buffer */ + ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ + UINT8 *AmlStart; + UINT32 AmlLength; } ACPI_OBJECT_BUFFER; -typedef struct AcpiObjectPackage +typedef struct acpi_object_package { ACPI_OBJECT_COMMON_HEADER - UINT32 Count; /* # of elements in package */ - UINT32 AmlLength; - UINT8 *AmlStart; - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ - union acpi_operand_obj **Elements; /* Array of pointers to AcpiObjects */ + UINT32 Count; /* # of elements in package */ + UINT32 AmlLength; + UINT8 *AmlStart; + ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ + union acpi_operand_object **Elements; /* Array of pointers to AcpiObjects */ } ACPI_OBJECT_PACKAGE; @@ -252,60 +251,55 @@ typedef struct AcpiObjectPackage * *****************************************************************************/ -typedef struct AcpiObjectEvent +typedef struct acpi_object_event { ACPI_OBJECT_COMMON_HEADER - void *Semaphore; + void *Semaphore; } ACPI_OBJECT_EVENT; #define INFINITE_CONCURRENCY 0xFF -typedef struct AcpiObjectMethod +typedef struct acpi_object_method { ACPI_OBJECT_COMMON_HEADER - UINT8 MethodFlags; - UINT8 ParamCount; - - UINT32 AmlLength; - - void *Semaphore; - UINT8 *AmlStart; - - UINT8 Concurrency; - UINT8 ThreadCount; - ACPI_OWNER_ID OwningId; + UINT8 MethodFlags; + UINT8 ParamCount; + UINT32 AmlLength; + void *Semaphore; + UINT8 *AmlStart; + UINT8 Concurrency; + UINT8 ThreadCount; + ACPI_OWNER_ID OwningId; } ACPI_OBJECT_METHOD; -typedef struct AcpiObjectMutex +typedef struct acpi_object_mutex { ACPI_OBJECT_COMMON_HEADER - UINT16 SyncLevel; - UINT16 AcquisitionDepth; - - struct acpi_thread_state *OwnerThread; - void *Semaphore; - union acpi_operand_obj *Prev; /* Link for list of acquired mutexes */ - union acpi_operand_obj *Next; /* Link for list of acquired mutexes */ - ACPI_NAMESPACE_NODE *Node; /* containing object */ + UINT16 SyncLevel; + UINT16 AcquisitionDepth; + struct acpi_thread_state *OwnerThread; + void *Semaphore; + union acpi_operand_object *Prev; /* Link for list of acquired mutexes */ + union acpi_operand_object *Next; /* Link for list of acquired mutexes */ + ACPI_NAMESPACE_NODE *Node; /* containing object */ } ACPI_OBJECT_MUTEX; -typedef struct AcpiObjectRegion +typedef struct acpi_object_region { ACPI_OBJECT_COMMON_HEADER - UINT8 SpaceId; - - union acpi_operand_obj *AddrHandler; /* Handler for system notifies */ - ACPI_NAMESPACE_NODE *Node; /* containing object */ - union acpi_operand_obj *Next; - UINT32 Length; - ACPI_PHYSICAL_ADDRESS Address; + UINT8 SpaceId; + union acpi_operand_object *AddrHandler; /* Handler for system notifies */ + ACPI_NAMESPACE_NODE *Node; /* containing object */ + union acpi_operand_object *Next; + UINT32 Length; + ACPI_PHYSICAL_ADDRESS Address; } ACPI_OBJECT_REGION; @@ -316,7 +310,7 @@ typedef struct AcpiObjectRegion * *****************************************************************************/ -typedef struct AcpiObjectNotifyCommon /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ +typedef struct acpi_object_notify_common /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO @@ -324,7 +318,7 @@ typedef struct AcpiObjectNotifyCommon /* COMMON NOTIFY for POWER, } ACPI_OBJECT_NOTIFY_COMMON; -typedef struct AcpiObjectDevice +typedef struct acpi_object_device { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO @@ -332,35 +326,32 @@ typedef struct AcpiObjectDevice } ACPI_OBJECT_DEVICE; -typedef struct AcpiObjectPowerResource +typedef struct acpi_object_power_resource { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO - - UINT32 SystemLevel; - UINT32 ResourceOrder; + UINT32 SystemLevel; + UINT32 ResourceOrder; } ACPI_OBJECT_POWER_RESOURCE; -typedef struct AcpiObjectProcessor +typedef struct acpi_object_processor { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO - - UINT32 ProcId; - UINT32 Length; - ACPI_IO_ADDRESS Address; + UINT32 ProcId; + UINT32 Length; + ACPI_IO_ADDRESS Address; } ACPI_OBJECT_PROCESSOR; -typedef struct AcpiObjectThermalZone +typedef struct acpi_object_thermal_zone { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO - } ACPI_OBJECT_THERMAL_ZONE; @@ -370,36 +361,35 @@ typedef struct AcpiObjectThermalZone * *****************************************************************************/ -typedef struct AcpiObjectFieldCommon /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ +typedef struct acpi_object_field_common /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO - union acpi_operand_obj *RegionObj; /* Containing Operation Region object */ - /* (REGION/BANK fields only) */ + union acpi_operand_object *RegionObj; /* Containing Operation Region object */ + /* (REGION/BANK fields only) */ } ACPI_OBJECT_FIELD_COMMON; -typedef struct AcpiObjectRegionField +typedef struct acpi_object_region_field { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO - union acpi_operand_obj *RegionObj; /* Containing OpRegion object */ + union acpi_operand_object *RegionObj; /* Containing OpRegion object */ } ACPI_OBJECT_REGION_FIELD; -typedef struct AcpiObjectBankField +typedef struct acpi_object_bank_field { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO - - union acpi_operand_obj *RegionObj; /* Containing OpRegion object */ - union acpi_operand_obj *BankObj; /* BankSelect Register object */ + union acpi_operand_object *RegionObj; /* Containing OpRegion object */ + union acpi_operand_object *BankObj; /* BankSelect Register object */ } ACPI_OBJECT_BANK_FIELD; -typedef struct AcpiObjectIndexField +typedef struct acpi_object_index_field { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO @@ -408,21 +398,19 @@ typedef struct AcpiObjectIndexField * 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 */ - + union acpi_operand_object *IndexObj; /* Index register */ + union acpi_operand_object *DataObj; /* Data register */ } ACPI_OBJECT_INDEX_FIELD; /* The BufferField is different in that it is part of a Buffer, not an OpRegion */ -typedef struct AcpiObjectBufferField +typedef struct acpi_object_buffer_field { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO - - union acpi_operand_obj *BufferObj; /* Containing Buffer object */ + union acpi_operand_object *BufferObj; /* Containing Buffer object */ } ACPI_OBJECT_BUFFER_FIELD; @@ -433,13 +421,12 @@ typedef struct AcpiObjectBufferField * *****************************************************************************/ -typedef struct AcpiObjectNotifyHandler +typedef struct acpi_object_notify_handler { ACPI_OBJECT_COMMON_HEADER - - ACPI_NAMESPACE_NODE *Node; /* Parent device */ - ACPI_NOTIFY_HANDLER Handler; - void *Context; + ACPI_NAMESPACE_NODE *Node; /* Parent device */ + ACPI_NOTIFY_HANDLER Handler; + void *Context; } ACPI_OBJECT_NOTIFY_HANDLER; @@ -449,19 +436,17 @@ typedef struct AcpiObjectNotifyHandler #define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED 0x1 -typedef struct AcpiObjectAddrHandler +typedef struct acpi_object_addr_handler { ACPI_OBJECT_COMMON_HEADER - - UINT8 SpaceId; - UINT16 Hflags; - ACPI_ADR_SPACE_HANDLER 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; + UINT8 SpaceId; + UINT16 Hflags; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_NAMESPACE_NODE *Node; /* Parent device */ + void *Context; + ACPI_ADR_SPACE_SETUP Setup; + union acpi_operand_object *RegionList; /* regions using this handler */ + union acpi_operand_object *Next; } ACPI_OBJECT_ADDR_HANDLER; @@ -476,17 +461,15 @@ typedef struct AcpiObjectAddrHandler * The Reference object type is used for these opcodes: * Arg[0-6], Local[0-7], IndexOp, NameOp, ZeroOp, OneOp, OnesOp, DebugOp */ -typedef struct AcpiObjectReference +typedef struct acpi_object_reference { ACPI_OBJECT_COMMON_HEADER - - UINT8 TargetType; /* Used for IndexOp */ - UINT16 Opcode; - UINT32 Offset; /* Used for ArgOp, LocalOp, and IndexOp */ - - void *Object; /* NameOp=>HANDLE to obj, IndexOp=>ACPI_OPERAND_OBJECT */ - ACPI_NAMESPACE_NODE *Node; - union acpi_operand_obj **Where; + UINT8 TargetType; /* Used for IndexOp */ + UINT16 Opcode; + UINT32 Offset; /* Used for ArgOp, LocalOp, and IndexOp */ + void *Object; /* NameOp=>HANDLE to obj, IndexOp=>ACPI_OPERAND_OBJECT */ + ACPI_NAMESPACE_NODE *Node; + union acpi_operand_object **Where; } ACPI_OBJECT_REFERENCE; @@ -498,36 +481,36 @@ typedef struct AcpiObjectReference * * Currently: Region and FieldUnit types */ -typedef struct AcpiObjectExtra +typedef struct acpi_object_extra { ACPI_OBJECT_COMMON_HEADER - UINT8 ByteFill1; - UINT16 WordFill1; - UINT32 AmlLength; - UINT8 *AmlStart; - ACPI_NAMESPACE_NODE *Method_REG; /* _REG method for this region (if any) */ - void *RegionContext; /* Region-specific data */ + UINT8 ByteFill1; + UINT16 WordFill1; + UINT32 AmlLength; + UINT8 *AmlStart; + ACPI_NAMESPACE_NODE *Method_REG; /* _REG method for this region (if any) */ + void *RegionContext; /* Region-specific data */ } ACPI_OBJECT_EXTRA; /* Additional data that can be attached to namespace nodes */ -typedef struct AcpiObjectData +typedef struct acpi_object_data { ACPI_OBJECT_COMMON_HEADER - ACPI_OBJECT_HANDLER Handler; - void *Pointer; + ACPI_OBJECT_HANDLER Handler; + void *Pointer; } ACPI_OBJECT_DATA; /* Structure used when objects are cached for reuse */ -typedef struct AcpiObjectCacheList +typedef struct acpi_object_cache_list { ACPI_OBJECT_COMMON_HEADER - union acpi_operand_obj *Next; /* Link for object cache and internal lists*/ + union acpi_operand_object *Next; /* Link for object cache and internal lists*/ } ACPI_OBJECT_CACHE_LIST; @@ -538,39 +521,33 @@ typedef struct AcpiObjectCacheList * *****************************************************************************/ -typedef union acpi_operand_obj +typedef union acpi_operand_object { - ACPI_OBJECT_COMMON Common; - - ACPI_OBJECT_INTEGER Integer; - ACPI_OBJECT_STRING String; - ACPI_OBJECT_BUFFER Buffer; - ACPI_OBJECT_PACKAGE Package; - - ACPI_OBJECT_EVENT Event; - ACPI_OBJECT_METHOD Method; - ACPI_OBJECT_MUTEX Mutex; - ACPI_OBJECT_REGION Region; - - ACPI_OBJECT_NOTIFY_COMMON CommonNotify; - ACPI_OBJECT_DEVICE Device; - ACPI_OBJECT_POWER_RESOURCE PowerResource; - ACPI_OBJECT_PROCESSOR Processor; - ACPI_OBJECT_THERMAL_ZONE ThermalZone; - - ACPI_OBJECT_FIELD_COMMON CommonField; - ACPI_OBJECT_REGION_FIELD Field; - ACPI_OBJECT_BUFFER_FIELD BufferField; - ACPI_OBJECT_BANK_FIELD BankField; - ACPI_OBJECT_INDEX_FIELD IndexField; - - ACPI_OBJECT_NOTIFY_HANDLER NotifyHandler; - ACPI_OBJECT_ADDR_HANDLER AddrHandler; - - ACPI_OBJECT_REFERENCE Reference; - ACPI_OBJECT_EXTRA Extra; - ACPI_OBJECT_DATA Data; - ACPI_OBJECT_CACHE_LIST Cache; + ACPI_OBJECT_COMMON Common; + ACPI_OBJECT_INTEGER Integer; + ACPI_OBJECT_STRING String; + ACPI_OBJECT_BUFFER Buffer; + ACPI_OBJECT_PACKAGE Package; + ACPI_OBJECT_EVENT Event; + ACPI_OBJECT_METHOD Method; + ACPI_OBJECT_MUTEX Mutex; + ACPI_OBJECT_REGION Region; + ACPI_OBJECT_NOTIFY_COMMON CommonNotify; + ACPI_OBJECT_DEVICE Device; + ACPI_OBJECT_POWER_RESOURCE PowerResource; + ACPI_OBJECT_PROCESSOR Processor; + ACPI_OBJECT_THERMAL_ZONE ThermalZone; + ACPI_OBJECT_FIELD_COMMON CommonField; + ACPI_OBJECT_REGION_FIELD Field; + ACPI_OBJECT_BUFFER_FIELD BufferField; + ACPI_OBJECT_BANK_FIELD BankField; + ACPI_OBJECT_INDEX_FIELD IndexField; + ACPI_OBJECT_NOTIFY_HANDLER NotifyHandler; + ACPI_OBJECT_ADDR_HANDLER AddrHandler; + ACPI_OBJECT_REFERENCE Reference; + ACPI_OBJECT_EXTRA Extra; + ACPI_OBJECT_DATA Data; + ACPI_OBJECT_CACHE_LIST Cache; } ACPI_OPERAND_OBJECT; @@ -584,7 +561,7 @@ typedef union acpi_operand_obj /* Object descriptor types */ -#define ACPI_DESC_TYPE_CACHED 0x11 /* Used only when object is cached */ +#define ACPI_DESC_TYPE_CACHED 0x11 /* Used only when object is cached */ #define ACPI_DESC_TYPE_STATE 0x20 #define ACPI_DESC_TYPE_STATE_UPDATE 0x21 #define ACPI_DESC_TYPE_STATE_PACKAGE 0x22 @@ -601,12 +578,12 @@ typedef union acpi_operand_obj #define ACPI_DESC_TYPE_NAMED 0xAA -typedef union acpi_desc +typedef union acpi_descriptor { - UINT8 DescriptorId; /* To differentiate various internal objs */\ - ACPI_OPERAND_OBJECT Object; - ACPI_NAMESPACE_NODE Node; - ACPI_PARSE_OBJECT Op; + UINT8 DescriptorId; /* To differentiate various internal objs */\ + ACPI_OPERAND_OBJECT Object; + ACPI_NAMESPACE_NODE Node; + ACPI_PARSE_OBJECT Op; } ACPI_DESCRIPTOR; |