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

📄 aclocal.h

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef struct acpi_pscope_state{	ACPI_STATE_COMMON	struct acpi_parse_obj   *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 */} 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  *obj_desc [OBJ_NUM_OPERANDS];	u8                      num_results;	u8                      last_insert;} acpi_result_values;typedefacpi_status (*acpi_parse_downwards) (	struct acpi_walk_state  *walk_state,	struct acpi_parse_obj   **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. */typedef struct acpi_notify_info{	ACPI_STATE_COMMON	acpi_namespace_node     *node;	union acpi_operand_obj  *handler_obj;} acpi_notify_info;/* Generic state is union of structs above */typedef union acpi_gen_state{	acpi_common_state       common;	acpi_control_state      control;	acpi_update_state       update;	acpi_scope_state        scope;	acpi_pscope_state       parse_scope;	acpi_pkg_state          pkg;	acpi_result_values      results;	acpi_notify_info        notify;} acpi_generic_state;/***************************************************************************** * * 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 */typedef struct acpi_opcode_info{	u32                     parse_args;     /* Grammar/Parse time arguments */	u32                     runtime_args;   /* Interpret time arguments */	u16                     flags;          /* Misc flags */	u8                      class;          /* Opcode class */	u8                      type;           /* Opcode type */#ifdef _OPCODE_NAMES	NATIVE_CHAR             *name;          /* op name (debug only) */#endif} acpi_opcode_info;typedef union acpi_parse_val{	acpi_integer            integer;        /* integer constant (Up to 64 bits) */	uint64_struct           integer64;      /* Structure overlay for 2 32-bit Dwords */	u32                     integer32;      /* integer constant, 32 bits only */	u16                     integer16;      /* integer constant, 16 bits only */	u8                      integer8;       /* integer constant, 8 bits only */	u32                     size;           /* bytelist or field size */	NATIVE_CHAR             *string;        /* NULL terminated string */	u8                      *buffer;        /* buffer or string */	NATIVE_CHAR             *name;          /* NULL terminated string */	struct acpi_parse_obj   *arg;           /* arguments and contained ops */} acpi_parse_value;#define ACPI_PARSE_COMMON \	u8                      data_type;      /* To differentiate various internal objs */\	u8                      flags;          /* Type of Op */\	u16                     opcode;         /* AML opcode */\	u32                     aml_offset;     /* offset of declaration in AML */\	struct acpi_parse_obj   *parent;        /* parent op */\	struct acpi_parse_obj   *next;          /* next op */\	DEBUG_ONLY_MEMBERS (\	NATIVE_CHAR             op_name[16])    /* op name (debug only) */\			  /* NON-DEBUG members below: */\	acpi_namespace_node     *node;          /* for use by interpreter */\	acpi_parse_value        value;          /* Value or args associated with the opcode */\/* * generic operation (eg. If, While, Store) */typedef struct acpi_parse_obj{	ACPI_PARSE_COMMON} acpi_parse_object;/* * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and Op_regions), * and bytelists. */typedef struct acpi_parse2_obj{	ACPI_PARSE_COMMON	u8                      *data;          /* AML body or bytelist data */	u32                     length;         /* AML length */	u32                     name;           /* 4-byte name or zero if no name */} acpi_parse2_object;/* * Parse state - one state per parser invocation and each control * method. */typedef struct acpi_parse_state{	u32                     aml_size;	u8                      *aml_start;     /* first AML byte */	u8                      *aml;           /* next AML byte */	u8                      *aml_end;       /* (last + 1) AML byte */	u8                      *pkg_start;     /* current package begin */	u8                      *pkg_end;       /* current package end */	struct acpi_parse_obj   *start_op;      /* root of parse tree */	struct acpi_node        *start_node;	union acpi_gen_state    *scope;         /* current scope */	struct acpi_parse_obj   *start_scope;} acpi_parse_state;/***************************************************************************** * * Hardware and PNP * ****************************************************************************//* PCI */#define PCI_ROOT_HID_STRING             "PNP0A03"/* * The #define's and enum below establish an abstract way of identifying what * register block and register is to be accessed.  Do not change any of the * values as they are used in switch statements and offset calculations. */#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    */#define REGISTER_BLOCK_ID(reg_id)       (reg_id & REGISTER_BLOCK_MASK)#define REGISTER_BIT_ID(reg_id)         (reg_id & BIT_IN_REGISTER_MASK)#define REGISTER_OFFSET(reg_id)         (reg_id & BYTE_IN_REGISTER_MASK)/* * 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) *//* * 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/* * Address space bitmasks for mmio or io spaces */#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/* * 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 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#define GPE1_STS_MASK#define GPE1_EN_MASK#define ACPI_READ                       1#define ACPI_WRITE                      2/***************************************************************************** * * Resource descriptors * ****************************************************************************//* Resource_type values */#define RESOURCE_TYPE_MEMORY_RANGE              0#define RESOURCE_TYPE_IO_RANGE                  1#define RESOURCE_TYPE_BUS_NUMBER_RANGE          2/* Resource descriptor types and masks */#define RESOURCE_DESC_TYPE_LARGE                0x80#define RESOURCE_DESC_TYPE_SMALL                0x00#define RESOURCE_DESC_TYPE_MASK                 0x80#define RESOURCE_DESC_SMALL_MASK                0x78        /* Only bits 6:3 contain the type *//* * Small resource descriptor types * Note: The 3 length bits (2:0) must be zero */#define RESOURCE_DESC_IRQ_FORMAT                0x20#define RESOURCE_DESC_DMA_FORMAT                0x28#define RESOURCE_DESC_START_DEPENDENT           0x30#define RESOURCE_DESC_END_DEPENDENT             0x38#define RESOURCE_DESC_IO_PORT                   0x40#define RESOURCE_DESC_FIXED_IO_PORT             0x48#define RESOURCE_DESC_SMALL_VENDOR              0x70#define RESOURCE_DESC_END_TAG                   0x78/* * Large resource descriptor types */#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/* String version of device HIDs and UIDs */#define ACPI_DEVICE_ID_LENGTH                   0x09typedef struct{	char            buffer[ACPI_DEVICE_ID_LENGTH];} acpi_device_id;/***************************************************************************** * * Miscellaneous * ****************************************************************************/#define ASCII_ZERO                      0x30/***************************************************************************** * * Debugger * ****************************************************************************/typedef struct dbmethodinfo{	acpi_handle             thread_gate;	NATIVE_CHAR             *name;	NATIVE_CHAR             **args;	u32                     flags;	u32                     num_loops;	NATIVE_CHAR             pathname[128];} db_method_info;/***************************************************************************** * * Debug * ****************************************************************************/typedef struct{	u32                     component_id;	NATIVE_CHAR             *proc_name;	NATIVE_CHAR             *module_name;} acpi_debug_print_info;/* Entry for a memory allocation (debug only) */#define MEM_MALLOC                      0#define MEM_CALLOC                      1#define MAX_MODULE_NAME                 16#define ACPI_COMMON_DEBUG_MEM_HEADER \	struct acpi_debug_mem_block *previous; \	struct acpi_debug_mem_block *next; \	u32                         size; \	u32                         component; \	u32                         line; \	NATIVE_CHAR                 module[MAX_MODULE_NAME]; \	u8                          alloc_type;typedef struct{	ACPI_COMMON_DEBUG_MEM_HEADER} acpi_debug_mem_header;typedef struct acpi_debug_mem_block{	ACPI_COMMON_DEBUG_MEM_HEADER	u64                         user_space;} acpi_debug_mem_block;#define ACPI_MEM_LIST_GLOBAL            0#define ACPI_MEM_LIST_NSNODE            1#define ACPI_MEM_LIST_FIRST_CACHE_LIST  2#define ACPI_MEM_LIST_STATE             2#define ACPI_MEM_LIST_PSNODE            3#define ACPI_MEM_LIST_PSNODE_EXT        4#define ACPI_MEM_LIST_OPERAND           5#define ACPI_MEM_LIST_WALK              6#define ACPI_MEM_LIST_MAX               6#define ACPI_NUM_MEM_LISTS              7typedef struct{	void                        *list_head;	u16                         link_offset;	u16                         max_cache_depth;	u16                         cache_depth;	u16                         object_size;#ifdef ACPI_DBG_TRACK_ALLOCATIONS	/* Statistics for debug memory tracking only */	u32                         total_allocated;	u32                         total_freed;	u32                         current_total_size;	u32                         cache_requests;	u32                         cache_hits;	char                        *list_name;#endif} ACPI_MEMORY_LIST;#endif /* __ACLOCAL_H__ */

⌨️ 快捷键说明

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