⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acobject.h

📁 xen虚拟机源代码安装包
💻 H
📖 第 1 页 / 共 2 页
字号:
struct acpi_object_processor {	ACPI_OBJECT_COMMON_HEADER	    /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */	u8 proc_id;	u8 length;	ACPI_COMMON_NOTIFY_INFO acpi_io_address address;};struct acpi_object_thermal_zone {ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO};/****************************************************************************** * * Fields.  All share a common header/info field. * *****************************************************************************//* * Common bitfield for the field objects * "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 \	u8                              field_flags;        /* Access, update, and lock bits */\	u8                              attribute;          /* From access_as keyword */\	u8                              access_byte_width;  /* Read/Write size in bytes */\	struct acpi_namespace_node      *node;              /* Link back to parent node */\	u32                             bit_length;         /* Length of field in bits */\	u32                             base_byte_offset;   /* Byte offset within containing object */\	u32                             value;              /* Value to store into the Bank or Index register */\	u8                              start_field_bit_offset;/* Bit offset within first field datum (0-63) */\	u8                              access_bit_width;	/* Read/Write size in bits (8-64) */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_object *region_obj;	/* Parent Operation Region object (REGION/BANK fields only) */};struct acpi_object_region_field {	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj;	/* Containing op_region object */};struct acpi_object_bank_field {	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj;	/* Containing op_region object */	union acpi_operand_object *bank_obj;	/* bank_select Register object */};struct acpi_object_index_field {	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO	    /*	     * No "RegionObj" pointer needed since the Index and Data registers	     * are each field definitions unto themselves.	     */	union acpi_operand_object *index_obj;	/* Index register */	union acpi_operand_object *data_obj;	/* Data register */};/* The buffer_field is different in that it is part of a Buffer, not an op_region */struct acpi_object_buffer_field {	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *buffer_obj;	/* Containing Buffer object */};/****************************************************************************** * * Objects for handlers * *****************************************************************************/struct acpi_object_notify_handler {	ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node;	/* Parent device */	acpi_notify_handler handler;	void *context;};struct acpi_object_addr_handler {	ACPI_OBJECT_COMMON_HEADER u8 space_id;	u8 handler_flags;	acpi_adr_space_handler handler;	struct acpi_namespace_node *node;	/* Parent device */	void *context;	acpi_adr_space_setup setup;	union acpi_operand_object *region_list;	/* regions using this handler */	union acpi_operand_object *next;};/* Flags for address handler (handler_flags) */#define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED  0x01/****************************************************************************** * * Special internal objects * *****************************************************************************//* * The Reference object type is used for these opcodes: * Arg[0-6], Local[0-7], index_op, name_op, zero_op, one_op, ones_op, debug_op */struct acpi_object_reference {	ACPI_OBJECT_COMMON_HEADER u8 target_type;	/* Used for index_op */	u16 opcode;	void *object;		/* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */	struct acpi_namespace_node *node;	union acpi_operand_object **where;	u32 offset;		/* Used for arg_op, local_op, and index_op */};/* * Extra object is used as additional storage for types that * have AML code in their declarations (term_args) that must be * evaluated at run time. * * Currently: Region and field_unit types */struct acpi_object_extra {	ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG;	/* _REG method for this region (if any) */	void *region_context;	/* Region-specific data */	u8 *aml_start;	u32 aml_length;};/* Additional data that can be attached to namespace nodes */struct acpi_object_data {	ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler;	void *pointer;};/* Structure used when objects are cached for reuse */struct acpi_object_cache_list {	ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next;	/* Link for object cache and internal lists */};/****************************************************************************** * * union acpi_operand_object Descriptor - a giant union of all of the above * *****************************************************************************/union acpi_operand_object {	struct acpi_object_common common;	struct acpi_object_integer integer;	struct acpi_object_string string;	struct acpi_object_buffer buffer;	struct acpi_object_package package;	struct acpi_object_event event;	struct acpi_object_method method;	struct acpi_object_mutex mutex;	struct acpi_object_region region;	struct acpi_object_notify_common common_notify;	struct acpi_object_device device;	struct acpi_object_power_resource power_resource;	struct acpi_object_processor processor;	struct acpi_object_thermal_zone thermal_zone;	struct acpi_object_field_common common_field;	struct acpi_object_region_field field;	struct acpi_object_buffer_field buffer_field;	struct acpi_object_bank_field bank_field;	struct acpi_object_index_field index_field;	struct acpi_object_notify_handler notify;	struct acpi_object_addr_handler address_space;	struct acpi_object_reference reference;	struct acpi_object_extra extra;	struct acpi_object_data data;	struct acpi_object_cache_list cache;};/****************************************************************************** * * union acpi_descriptor - objects that share a common descriptor identifier * *****************************************************************************//* Object descriptor types */#define ACPI_DESC_TYPE_CACHED           0x01	/* Used only when object is cached */#define ACPI_DESC_TYPE_STATE            0x02#define ACPI_DESC_TYPE_STATE_UPDATE     0x03#define ACPI_DESC_TYPE_STATE_PACKAGE    0x04#define ACPI_DESC_TYPE_STATE_CONTROL    0x05#define ACPI_DESC_TYPE_STATE_RPSCOPE    0x06#define ACPI_DESC_TYPE_STATE_PSCOPE     0x07#define ACPI_DESC_TYPE_STATE_WSCOPE     0x08#define ACPI_DESC_TYPE_STATE_RESULT     0x09#define ACPI_DESC_TYPE_STATE_NOTIFY     0x0A#define ACPI_DESC_TYPE_STATE_THREAD     0x0B#define ACPI_DESC_TYPE_WALK             0x0C#define ACPI_DESC_TYPE_PARSER           0x0D#define ACPI_DESC_TYPE_OPERAND          0x0E#define ACPI_DESC_TYPE_NAMED            0x0F#define ACPI_DESC_TYPE_MAX              0x0Fstruct acpi_common_descriptor {	void *common_pointer;	u8 descriptor_type;	/* To differentiate various internal objs */};union acpi_descriptor {	struct acpi_common_descriptor common;	union acpi_operand_object object;	struct acpi_namespace_node node;	union acpi_parse_object op;};#pragma pack()#endif				/* _ACOBJECT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -