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

📄 aclocal.h

📁 xen 3.2.2 源码
💻 H
📖 第 1 页 / 共 3 页
字号:
	u8                                      register_bit;   /* This GPE bit within the register */};/* Information about a GPE register pair, one per each status/enable pair in an array */struct acpi_gpe_register_info{	struct acpi_generic_address             status_address; /* Address of status reg */	struct acpi_generic_address             enable_address; /* Address of enable reg */	u8                                      enable_for_wake; /* GPEs to keep enabled when sleeping */	u8                                      enable_for_run; /* GPEs to keep enabled when running */	u8                                      base_gpe_number; /* Base GPE number for this register */};/* * Information about a GPE register block, one per each installed block -- * GPE0, GPE1, and one per each installed GPE Block Device. */struct acpi_gpe_block_info{	struct acpi_namespace_node              *node;	struct acpi_gpe_block_info              *previous;	struct acpi_gpe_block_info              *next;	struct acpi_gpe_xrupt_info              *xrupt_block;   /* Backpointer to interrupt block */	struct acpi_gpe_register_info           *register_info; /* One per GPE register pair */	struct acpi_gpe_event_info              *event_info;    /* One for each GPE */	struct acpi_generic_address             block_address;  /* Base address of the block */	u32                                     register_count; /* Number of register pairs in block */	u8                                      block_base_number;/* Base GPE number for this block */};/* Information about GPE interrupt handlers, one per each interrupt level used for GPEs */struct acpi_gpe_xrupt_info{	struct acpi_gpe_xrupt_info              *previous;	struct acpi_gpe_xrupt_info              *next;	struct acpi_gpe_block_info              *gpe_block_list_head; /* List of GPE blocks for this xrupt */	u32                                     interrupt_level;    /* System interrupt level */};struct acpi_gpe_walk_info{	struct acpi_namespace_node              *gpe_device;	struct acpi_gpe_block_info              *gpe_block;};typedef acpi_status (*ACPI_GPE_CALLBACK) (	struct acpi_gpe_xrupt_info      *gpe_xrupt_info,	struct acpi_gpe_block_info      *gpe_block);/* Information about each particular fixed event */struct acpi_fixed_event_handler{	acpi_event_handler              handler;        /* Address of handler. */	void                            *context;       /* Context to be passed to handler */};struct acpi_fixed_event_info{	u8                              status_register_id;	u8                              enable_register_id;	u16                             status_bit_mask;	u16                             enable_bit_mask;};/* Information used during field processing */struct acpi_field_info{	u8                              skip_field;	u8                              field_flag;	u32                             pkg_length;};/***************************************************************************** * * Generic "state" object for stacks * ****************************************************************************/#define ACPI_CONTROL_NORMAL                  0xC0#define ACPI_CONTROL_CONDITIONAL_EXECUTING   0xC1#define ACPI_CONTROL_PREDICATE_EXECUTING     0xC2#define ACPI_CONTROL_PREDICATE_FALSE         0xC3#define ACPI_CONTROL_PREDICATE_TRUE          0xC4/* Forward declarations */struct acpi_walk_state        ;struct acpi_obj_mutex;union acpi_parse_object        ;#define ACPI_STATE_COMMON                  /* Two 32-bit fields and a pointer */\	u8                                  data_type;          /* To differentiate various internal objs */\	u8                                  flags;      \	u16                                 value;      \	u16                                 state;      \	u16                                 reserved;   \	void                                *next;      \struct acpi_common_state{	ACPI_STATE_COMMON};/* * Update state - used to traverse complex objects such as packages */struct acpi_update_state{	ACPI_STATE_COMMON	union acpi_operand_object           *object;};/* * Pkg state - used to traverse nested package structures */struct acpi_pkg_state{	ACPI_STATE_COMMON	union acpi_operand_object           *source_object;	union acpi_operand_object           *dest_object;	struct acpi_walk_state              *walk_state;	void                                *this_target_obj;	u32                                 num_packages;	u16                                 index;};/* * Control state - one per if/else and while constructs. * Allows nesting of these constructs */struct acpi_control_state{	ACPI_STATE_COMMON	union acpi_parse_object             *predicate_op;	u8                                  *aml_predicate_start;   /* Start of if/while predicate */	u8                                  *package_end;           /* End of if/while block */	u16                                 opcode;};/* * Scope state - current scope during namespace lookups */struct acpi_scope_state{	ACPI_STATE_COMMON	struct acpi_namespace_node          *node;};struct acpi_pscope_state{	ACPI_STATE_COMMON	union acpi_parse_object             *op;                    /* Current op being parsed */	u8                                  *arg_end;               /* Current argument end */	u8                                  *pkg_end;               /* Current package end */	u32                                 arg_list;               /* Next argument to parse */	u32                                 arg_count;              /* Number of fixed arguments */};/* * Thread state - one per thread across multiple walk states.  Multiple walk * states are created when there are nested control methods executing. */struct acpi_thread_state{	ACPI_STATE_COMMON	struct acpi_walk_state              *walk_state_list;       /* Head of list of walk_states for this thread */	union acpi_operand_object           *acquired_mutex_list;   /* List of all currently acquired mutexes */	u32                                 thread_id;              /* Running thread ID */	u8                                  current_sync_level;     /* Mutex Sync (nested acquire) level */};/* * Result values - used to accumulate the results of nested * AML arguments */struct acpi_result_values{	ACPI_STATE_COMMON	union acpi_operand_object           *obj_desc [ACPI_OBJ_NUM_OPERANDS];	u8                                  num_results;	u8                                  last_insert;};typedefacpi_status (*acpi_parse_downwards) (	struct acpi_walk_state              *walk_state,	union acpi_parse_object             **out_op);typedefacpi_status (*acpi_parse_upwards) (	struct acpi_walk_state              *walk_state);/* * Notify info - used to pass info to the deferred notify * handler/dispatcher. */struct acpi_notify_info{	ACPI_STATE_COMMON	struct acpi_namespace_node          *node;	union acpi_operand_object           *handler_obj;};/* Generic state is union of structs above */union acpi_generic_state{	struct acpi_common_state            common;	struct acpi_control_state           control;	struct acpi_update_state            update;	struct acpi_scope_state             scope;	struct acpi_pscope_state            parse_scope;	struct acpi_pkg_state               pkg;	struct acpi_thread_state            thread;	struct acpi_result_values           results;	struct acpi_notify_info             notify;};/***************************************************************************** * * Interpreter typedefs and structs * ****************************************************************************/typedefacpi_status (*ACPI_EXECUTE_OP) (	struct acpi_walk_state              *walk_state);/***************************************************************************** * * Parser typedefs and structs * ****************************************************************************//* * AML opcode, name, and argument layout */struct acpi_opcode_info{#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG_OUTPUT)	char                                *name;          /* Opcode name (disassembler/debug only) */#endif	u32                                 parse_args;     /* Grammar/Parse time arguments */	u32                                 runtime_args;   /* Interpret time arguments */	u32                                 flags;          /* Misc flags */	u8                                  object_type;    /* Corresponding internal object type */	u8                                  class;          /* Opcode class */	u8                                  type;           /* Opcode type */};union acpi_parse_value{	acpi_integer                        integer;        /* Integer constant (Up to 64 bits) */	struct uint64_struct                integer64;      /* Structure overlay for 2 32-bit Dwords */	u32                                 size;           /* bytelist or field size */	char                                *string;        /* NULL terminated string */	u8                                  *buffer;        /* buffer or string */	char                                *name;          /* NULL terminated string */	union acpi_parse_object             *arg;           /* arguments and contained ops */};#define ACPI_PARSE_COMMON \	u8                                  data_type;      /* To differentiate various internal objs */\	u8                                  flags;          /* Type of Op */\	u16                                 aml_opcode;     /* AML opcode */\	u32                                 aml_offset;     /* Offset of declaration in AML */\	union acpi_parse_object             *parent;        /* Parent op */\	union acpi_parse_object             *next;          /* Next op */\	ACPI_DISASM_ONLY_MEMBERS (\	u8                                  disasm_flags;   /* Used during AML disassembly */\	u8                                  disasm_opcode;  /* Subtype used for disassembly */\	char                                aml_op_name[16]) /* Op name (debug only) */\			   /* NON-DEBUG members below: */\	struct acpi_namespace_node          *node;          /* For use by interpreter */\	union acpi_parse_value              value;          /* Value or args associated with the opcode */\#define ACPI_DASM_BUFFER        0x00#define ACPI_DASM_RESOURCE      0x01#define ACPI_DASM_STRING        0x02#define ACPI_DASM_UNICODE       0x03#define ACPI_DASM_EISAID        0x04#define ACPI_DASM_MATCHOP       0x05/* * generic operation (for example:  If, While, Store) */struct acpi_parse_obj_common{	ACPI_PARSE_COMMON};/* * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and op_regions), * and bytelists. */struct acpi_parse_obj_named{	ACPI_PARSE_COMMON	u8                                  *path;	u8                                  *data;          /* AML body or bytelist data */	u32                                 length;         /* AML length */	u32                                 name;           /* 4-byte name or zero if no name */};

⌨️ 快捷键说明

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