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

📄 actypes.h

📁 xen 3.2.2 源码
💻 H
📖 第 1 页 / 共 3 页
字号:
#define ACPI_TYPE_MUTEX                 0x09#define ACPI_TYPE_REGION                0x0A#define ACPI_TYPE_POWER                 0x0B  /* Name,byte_const,word_const,multi Node */#define ACPI_TYPE_PROCESSOR             0x0C  /* Name,byte_const,Dword_const,byte_const,multi nm_o */#define ACPI_TYPE_THERMAL               0x0D  /* Name, multiple Node */#define ACPI_TYPE_BUFFER_FIELD          0x0E#define ACPI_TYPE_DDB_HANDLE            0x0F#define ACPI_TYPE_DEBUG_OBJECT          0x10#define ACPI_TYPE_EXTERNAL_MAX          0x10/* * These are object types that do not map directly to the ACPI * object_type() operator. They are used for various internal purposes only. * If new predefined ACPI_TYPEs are added (via the ACPI specification), these * internal types must move upwards. (There is code that depends on these * values being contiguous with the external types above.) */#define ACPI_TYPE_LOCAL_REGION_FIELD    0x11#define ACPI_TYPE_LOCAL_BANK_FIELD      0x12#define ACPI_TYPE_LOCAL_INDEX_FIELD     0x13#define ACPI_TYPE_LOCAL_REFERENCE       0x14  /* Arg#, Local#, Name, Debug, ref_of, Index */#define ACPI_TYPE_LOCAL_ALIAS           0x15#define ACPI_TYPE_LOCAL_METHOD_ALIAS    0x16#define ACPI_TYPE_LOCAL_NOTIFY          0x17#define ACPI_TYPE_LOCAL_ADDRESS_HANDLER 0x18#define ACPI_TYPE_LOCAL_RESOURCE        0x19#define ACPI_TYPE_LOCAL_RESOURCE_FIELD  0x1A#define ACPI_TYPE_LOCAL_SCOPE           0x1B  /* 1 Name, multiple object_list Nodes */#define ACPI_TYPE_NS_NODE_MAX           0x1B  /* Last typecode used within a NS Node *//* * These are special object types that never appear in * a Namespace node, only in an union acpi_operand_object */#define ACPI_TYPE_LOCAL_EXTRA           0x1C#define ACPI_TYPE_LOCAL_DATA            0x1D#define ACPI_TYPE_LOCAL_MAX             0x1D/* All types above here are invalid */#define ACPI_TYPE_INVALID               0x1E#define ACPI_TYPE_NOT_FOUND             0xFF/* * Bitmapped ACPI types.  Used internally only */#define ACPI_BTYPE_ANY                  0x00000000#define ACPI_BTYPE_INTEGER              0x00000001#define ACPI_BTYPE_STRING               0x00000002#define ACPI_BTYPE_BUFFER               0x00000004#define ACPI_BTYPE_PACKAGE              0x00000008#define ACPI_BTYPE_FIELD_UNIT           0x00000010#define ACPI_BTYPE_DEVICE               0x00000020#define ACPI_BTYPE_EVENT                0x00000040#define ACPI_BTYPE_METHOD               0x00000080#define ACPI_BTYPE_MUTEX                0x00000100#define ACPI_BTYPE_REGION               0x00000200#define ACPI_BTYPE_POWER                0x00000400#define ACPI_BTYPE_PROCESSOR            0x00000800#define ACPI_BTYPE_THERMAL              0x00001000#define ACPI_BTYPE_BUFFER_FIELD         0x00002000#define ACPI_BTYPE_DDB_HANDLE           0x00004000#define ACPI_BTYPE_DEBUG_OBJECT         0x00008000#define ACPI_BTYPE_REFERENCE            0x00010000#define ACPI_BTYPE_RESOURCE             0x00020000#define ACPI_BTYPE_COMPUTE_DATA         (ACPI_BTYPE_INTEGER | ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER)#define ACPI_BTYPE_DATA                 (ACPI_BTYPE_COMPUTE_DATA  | ACPI_BTYPE_PACKAGE)#define ACPI_BTYPE_DATA_REFERENCE       (ACPI_BTYPE_DATA | ACPI_BTYPE_REFERENCE | ACPI_BTYPE_DDB_HANDLE)#define ACPI_BTYPE_DEVICE_OBJECTS       (ACPI_BTYPE_DEVICE | ACPI_BTYPE_THERMAL | ACPI_BTYPE_PROCESSOR)#define ACPI_BTYPE_OBJECTS_AND_REFS     0x0001FFFF  /* ARG or LOCAL */#define ACPI_BTYPE_ALL_OBJECTS          0x0000FFFF/* * All I/O */#define ACPI_READ                       0#define ACPI_WRITE                      1#define ACPI_IO_MASK                    1/* * Event Types: Fixed & General Purpose */typedef u32                                     acpi_event_type;/* * Fixed events */#define ACPI_EVENT_PMTIMER              0#define ACPI_EVENT_GLOBAL               1#define ACPI_EVENT_POWER_BUTTON         2#define ACPI_EVENT_SLEEP_BUTTON         3#define ACPI_EVENT_RTC                  4#define ACPI_EVENT_MAX                  4#define ACPI_NUM_FIXED_EVENTS           ACPI_EVENT_MAX + 1/* * Event Status - Per event * ------------- * The encoding of acpi_event_status is illustrated below. * Note that a set bit (1) indicates the property is TRUE * (e.g. if bit 0 is set then the event is enabled). * +-------------+-+-+-+ * |   Bits 31:3 |2|1|0| * +-------------+-+-+-+ *          |     | | | *          |     | | +- Enabled? *          |     | +--- Enabled for wake? *          |     +----- Set? *          +----------- <Reserved> */typedef u32                                     acpi_event_status;#define ACPI_EVENT_FLAG_DISABLED        (acpi_event_status) 0x00#define ACPI_EVENT_FLAG_ENABLED         (acpi_event_status) 0x01#define ACPI_EVENT_FLAG_WAKE_ENABLED    (acpi_event_status) 0x02#define ACPI_EVENT_FLAG_SET             (acpi_event_status) 0x04/* * General Purpose Events (GPE) */#define ACPI_GPE_INVALID                0xFF#define ACPI_GPE_MAX                    0xFF#define ACPI_NUM_GPE                    256#define ACPI_GPE_ENABLE                 0#define ACPI_GPE_DISABLE                1/* * GPE info flags - Per GPE * +-+-+-+---+---+-+ * |7|6|5|4:3|2:1|0| * +-+-+-+---+---+-+ *  | | |  |   |  | *  | | |  |   |  +--- Interrupt type: Edge or Level Triggered *  | | |  |   +--- Type: Wake-only, Runtime-only, or wake/runtime *  | | |  +--- Type of dispatch -- to method, handler, or none *  | | +--- Enabled for runtime? *  | +--- Enabled for wake? *  +--- System state when GPE ocurred (running/waking) */#define ACPI_GPE_XRUPT_TYPE_MASK        (u8) 0x01#define ACPI_GPE_LEVEL_TRIGGERED        (u8) 0x01#define ACPI_GPE_EDGE_TRIGGERED         (u8) 0x00#define ACPI_GPE_TYPE_MASK              (u8) 0x06#define ACPI_GPE_TYPE_WAKE_RUN          (u8) 0x06#define ACPI_GPE_TYPE_WAKE              (u8) 0x02#define ACPI_GPE_TYPE_RUNTIME           (u8) 0x04    /* Default */#define ACPI_GPE_DISPATCH_MASK          (u8) 0x18#define ACPI_GPE_DISPATCH_HANDLER       (u8) 0x08#define ACPI_GPE_DISPATCH_METHOD        (u8) 0x10#define ACPI_GPE_DISPATCH_NOT_USED      (u8) 0x00    /* Default */#define ACPI_GPE_RUN_ENABLE_MASK        (u8) 0x20#define ACPI_GPE_RUN_ENABLED            (u8) 0x20#define ACPI_GPE_RUN_DISABLED           (u8) 0x00    /* Default */#define ACPI_GPE_WAKE_ENABLE_MASK       (u8) 0x40#define ACPI_GPE_WAKE_ENABLED           (u8) 0x40#define ACPI_GPE_WAKE_DISABLED          (u8) 0x00    /* Default */#define ACPI_GPE_ENABLE_MASK            (u8) 0x60    /* Both run/wake */#define ACPI_GPE_SYSTEM_MASK            (u8) 0x80#define ACPI_GPE_SYSTEM_RUNNING         (u8) 0x80#define ACPI_GPE_SYSTEM_WAKING          (u8) 0x00/* * Flags for GPE and Lock interfaces */#define ACPI_EVENT_WAKE_ENABLE          0x2             /* acpi_gpe_enable */#define ACPI_EVENT_WAKE_DISABLE         0x2             /* acpi_gpe_disable */#define ACPI_NOT_ISR                    0x1#define ACPI_ISR                        0x0/* Notify types */#define ACPI_SYSTEM_NOTIFY              0x1#define ACPI_DEVICE_NOTIFY              0x2#define ACPI_ALL_NOTIFY                 0x3#define ACPI_MAX_NOTIFY_HANDLER_TYPE    0x3#define ACPI_MAX_SYS_NOTIFY             0x7f/* Address Space (Operation Region) Types */typedef u8                                      acpi_adr_space_type;#define ACPI_ADR_SPACE_SYSTEM_MEMORY    (acpi_adr_space_type) 0#define ACPI_ADR_SPACE_SYSTEM_IO        (acpi_adr_space_type) 1#define ACPI_ADR_SPACE_PCI_CONFIG       (acpi_adr_space_type) 2#define ACPI_ADR_SPACE_EC               (acpi_adr_space_type) 3#define ACPI_ADR_SPACE_SMBUS            (acpi_adr_space_type) 4#define ACPI_ADR_SPACE_CMOS             (acpi_adr_space_type) 5#define ACPI_ADR_SPACE_PCI_BAR_TARGET   (acpi_adr_space_type) 6#define ACPI_ADR_SPACE_DATA_TABLE       (acpi_adr_space_type) 7#define ACPI_ADR_SPACE_FIXED_HARDWARE   (acpi_adr_space_type) 127/* * bit_register IDs * These are bitfields defined within the full ACPI registers */#define ACPI_BITREG_TIMER_STATUS                0x00#define ACPI_BITREG_BUS_MASTER_STATUS           0x01#define ACPI_BITREG_GLOBAL_LOCK_STATUS          0x02#define ACPI_BITREG_POWER_BUTTON_STATUS         0x03#define ACPI_BITREG_SLEEP_BUTTON_STATUS         0x04#define ACPI_BITREG_RT_CLOCK_STATUS             0x05#define ACPI_BITREG_WAKE_STATUS                 0x06#define ACPI_BITREG_TIMER_ENABLE                0x07#define ACPI_BITREG_GLOBAL_LOCK_ENABLE          0x08#define ACPI_BITREG_POWER_BUTTON_ENABLE         0x09#define ACPI_BITREG_SLEEP_BUTTON_ENABLE         0x0A#define ACPI_BITREG_RT_CLOCK_ENABLE             0x0B#define ACPI_BITREG_WAKE_ENABLE                 0x0C#define ACPI_BITREG_SCI_ENABLE                  0x0D#define ACPI_BITREG_BUS_MASTER_RLD              0x0E#define ACPI_BITREG_GLOBAL_LOCK_RELEASE         0x0F#define ACPI_BITREG_SLEEP_TYPE_A                0x10#define ACPI_BITREG_SLEEP_TYPE_B                0x11#define ACPI_BITREG_SLEEP_ENABLE                0x12#define ACPI_BITREG_ARB_DISABLE                 0x13#define ACPI_BITREG_MAX                         0x13#define ACPI_NUM_BITREG                         ACPI_BITREG_MAX + 1/* * External ACPI object definition */union acpi_object{	acpi_object_type                    type;   /* See definition of acpi_ns_type for values */	struct	{		acpi_object_type                    type;		acpi_integer                        value;      /* The actual number */	} integer;	struct	{		acpi_object_type                    type;		u32                                 length;     /* # of bytes in string, excluding trailing null */		char                                *pointer;   /* points to the string value */	} string;	struct	{		acpi_object_type                    type;		u32                                 length;     /* # of bytes in buffer */		u8                                  *pointer;   /* points to the buffer */	} buffer;	struct	{		acpi_object_type                    type;		u32                                 fill1;		acpi_handle                         handle;     /* object reference */	} reference;	struct	{		acpi_object_type                    type;		u32                                 count;      /* # of elements in package */		union acpi_object                   *elements;  /* Pointer to an array of ACPI_OBJECTs */	} package;	struct	{		acpi_object_type                    type;		u32                                 proc_id;		acpi_io_address                     pblk_address;		u32                                 pblk_length;	} processor;	struct	{		acpi_object_type                    type;		u32                                 system_level;		u32                                 resource_order;	} power_resource;};/* * List of objects, used as a parameter list for control method evaluation */struct acpi_object_list{	u32                                 count;	union acpi_object                   *pointer;};/* * Miscellaneous common Data Structures used by the interfaces */#define ACPI_NO_BUFFER              0#define ACPI_ALLOCATE_BUFFER        (acpi_size) (-1)#define ACPI_ALLOCATE_LOCAL_BUFFER  (acpi_size) (-2)struct acpi_buffer{	acpi_size                           length;         /* Length in bytes of the buffer */	void                                *pointer;       /* pointer to buffer */};/* * name_type for acpi_get_name */#define ACPI_FULL_PATHNAME              0#define ACPI_SINGLE_NAME                1#define ACPI_NAME_TYPE_MAX              1/* * Structure and flags for acpi_get_system_info */#define ACPI_SYS_MODE_UNKNOWN           0x0000#define ACPI_SYS_MODE_ACPI              0x0001#define ACPI_SYS_MODE_LEGACY            0x0002#define ACPI_SYS_MODES_MASK             0x0003/* * ACPI Table Info.  One per ACPI table _type_ */struct acpi_table_info{	u32                                 count;};/* * System info returned by acpi_get_system_info() */struct acpi_system_info{	u32                                 acpi_ca_version;	u32                                 flags;	u32                                 timer_resolution;	u32                                 reserved1;	u32                                 reserved2;	u32                                 debug_level;	u32                                 debug_layer;	u32                                 num_table_types;	struct acpi_table_info              table_info [NUM_ACPI_TABLE_TYPES];};/* * Types specific to the OS service interfaces */typedef u32(ACPI_SYSTEM_XFACE *acpi_osd_handler) (	void                            *context);typedef void(ACPI_SYSTEM_XFACE *acpi_osd_exec_callback) (	void                            *context);/* * Various handlers and callback procedures */typedefu32 (*acpi_event_handler) (	void                                *context);typedefvoid (*acpi_notify_handler) (	acpi_handle                         device,	u32                                 value,	void                                *context);typedefvoid (*acpi_object_handler) (	acpi_handle                         object,	u32                                 function,	void                                *data);typedefacpi_status (*acpi_init_handler) (	acpi_handle                         object,	u32                                 function);#define ACPI_INIT_DEVICE_INI        1typedefacpi_status (*acpi_exception_handler) (	acpi_status                     aml_status,	acpi_name                       name,	u16                             opcode,	u32                             aml_offset,	void                            *context);/* Address Spaces (For Operation Regions) */typedefacpi_status (*acpi_adr_space_handler) (	u32                                 function,	acpi_physical_address               address,	u32                                 bit_width,	acpi_integer                        *value,	void                                *handler_context,	void                                *region_context);#define ACPI_DEFAULT_HANDLER        NULLtypedefacpi_status (*acpi_adr_space_setup) (	acpi_handle                         region_handle,	u32                                 function,	void                                *handler_context,	void                                **region_context);

⌨️ 快捷键说明

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