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

📄 acobject.h

📁 xen 3.2.2 源码
💻 H
📖 第 1 页 / 共 2 页
字号:
struct acpi_object_power_resource{	ACPI_OBJECT_COMMON_HEADER	ACPI_COMMON_NOTIFY_INFO	u32                                     system_level;	u32                                     resource_order;};struct acpi_object_processor{	ACPI_OBJECT_COMMON_HEADER	ACPI_COMMON_NOTIFY_INFO	u32                                     proc_id;	u32                                     length;	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. * *****************************************************************************/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;        /* Containing 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 "region_obj" 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;};/* Flags for address handler */#define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED  0x1struct acpi_object_addr_handler{	ACPI_OBJECT_COMMON_HEADER	u8                                      space_id;	u16                                     hflags;	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;};/****************************************************************************** * * 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;	u32                                     offset;             /* Used for arg_op, local_op, and index_op */	void                                    *object;            /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object  */	struct acpi_namespace_node              *node;	union acpi_operand_object               **where;};/* * 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	u8                                      byte_fill1;	u16                                     word_fill1;	u32                                     aml_length;	u8                                      *aml_start;	struct acpi_namespace_node              *method_REG;        /* _REG method for this region (if any) */	void                                    *region_context;    /* Region-specific data */};/* 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              0x0Funion acpi_descriptor{	u8                                      descriptor_id;  /* To differentiate various internal objs */\	union acpi_operand_object               object;	struct acpi_namespace_node              node;	union acpi_parse_object                 op;};#endif /* _ACOBJECT_H */

⌨️ 快捷键说明

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