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

📄 actypes.h

📁 xen虚拟机源代码安装包
💻 H
📖 第 1 页 / 共 3 页
字号:
/* Structure and flags for acpi_get_object_info */#define ACPI_VALID_STA                  0x0001#define ACPI_VALID_ADR                  0x0002#define ACPI_VALID_HID                  0x0004#define ACPI_VALID_UID                  0x0008#define ACPI_VALID_CID                  0x0010#define ACPI_VALID_SXDS                 0x0020/* Flags for _STA method */#define ACPI_STA_DEVICE_PRESENT         0x01#define ACPI_STA_DEVICE_ENABLED         0x02#define ACPI_STA_DEVICE_UI              0x04#define ACPI_STA_DEVICE_FUNCTIONING     0x08#define ACPI_STA_DEVICE_OK              0x08	/* Synonym */#define ACPI_STA_BATTERY_PRESENT        0x10#define ACPI_COMMON_OBJ_INFO \	acpi_object_type                type;           /* ACPI object type */ \	acpi_name                       name	/* ACPI object Name */struct acpi_obj_info_header {	ACPI_COMMON_OBJ_INFO;};/* Structure returned from Get Object Info */struct acpi_device_info {	ACPI_COMMON_OBJ_INFO;	u32 valid;		/* Indicates which fields below are valid */	u32 current_status;	/* _STA value */	acpi_integer address;	/* _ADR value if any */	struct acpica_device_id hardware_id;	/* _HID value if any */	struct acpica_device_id unique_id;	/* _UID value if any */	u8 highest_dstates[4];	/* _sx_d values: 0xFF indicates not valid */	struct acpi_compatible_id_list compatibility_id;	/* List of _CIDs if any */};/* Context structs for address space handlers */struct acpi_pci_id {	u16 segment;	u16 bus;	u16 device;	u16 function;};struct acpi_mem_space_context {	u32 length;	acpi_physical_address address;	acpi_physical_address mapped_physical_address;	u8 *mapped_logical_address;	acpi_size mapped_length;};/* * Definitions for Resource Attributes */typedef u16 acpi_rs_length;	/* Resource Length field is fixed at 16 bits */typedef u32 acpi_rsdesc_size;	/* Max Resource Descriptor size is (Length+3) = (64_k-1)+3 *//* *  Memory Attributes */#define ACPI_READ_ONLY_MEMORY           (u8) 0x00#define ACPI_READ_WRITE_MEMORY          (u8) 0x01#define ACPI_NON_CACHEABLE_MEMORY       (u8) 0x00#define ACPI_CACHABLE_MEMORY            (u8) 0x01#define ACPI_WRITE_COMBINING_MEMORY     (u8) 0x02#define ACPI_PREFETCHABLE_MEMORY        (u8) 0x03/* *  IO Attributes *  The ISA IO ranges are:     n000-n0_fFh, n400-n4_fFh, n800-n8_fFh, n_c00-n_cFFh. *  The non-ISA IO ranges are: n100-n3_fFh, n500-n7_fFh, n900-n_bFFh, n_cd0-n_fFFh. */#define ACPI_NON_ISA_ONLY_RANGES        (u8) 0x01#define ACPI_ISA_ONLY_RANGES            (u8) 0x02#define ACPI_ENTIRE_RANGE               (ACPI_NON_ISA_ONLY_RANGES | ACPI_ISA_ONLY_RANGES)/* Type of translation - 1=Sparse, 0=Dense */#define ACPI_SPARSE_TRANSLATION         (u8) 0x01/* *  IO Port Descriptor Decode */#define ACPI_DECODE_10                  (u8) 0x00	/* 10-bit IO address decode */#define ACPI_DECODE_16                  (u8) 0x01	/* 16-bit IO address decode *//* *  IRQ Attributes */#define ACPI_LEVEL_SENSITIVE            (u8) 0x00#define ACPI_EDGE_SENSITIVE             (u8) 0x01#define ACPI_ACTIVE_HIGH                (u8) 0x00#define ACPI_ACTIVE_LOW                 (u8) 0x01#define ACPI_EXCLUSIVE                  (u8) 0x00#define ACPI_SHARED                     (u8) 0x01/* *  DMA Attributes */#define ACPI_COMPATIBILITY              (u8) 0x00#define ACPI_TYPE_A                     (u8) 0x01#define ACPI_TYPE_B                     (u8) 0x02#define ACPI_TYPE_F                     (u8) 0x03#define ACPI_NOT_BUS_MASTER             (u8) 0x00#define ACPI_BUS_MASTER                 (u8) 0x01#define ACPI_TRANSFER_8                 (u8) 0x00#define ACPI_TRANSFER_8_16              (u8) 0x01#define ACPI_TRANSFER_16                (u8) 0x02/* * Start Dependent Functions Priority definitions */#define ACPI_GOOD_CONFIGURATION         (u8) 0x00#define ACPI_ACCEPTABLE_CONFIGURATION   (u8) 0x01#define ACPI_SUB_OPTIMAL_CONFIGURATION  (u8) 0x02/* *  16, 32 and 64-bit Address Descriptor resource types */#define ACPI_MEMORY_RANGE               (u8) 0x00#define ACPI_IO_RANGE                   (u8) 0x01#define ACPI_BUS_NUMBER_RANGE           (u8) 0x02#define ACPI_ADDRESS_NOT_FIXED          (u8) 0x00#define ACPI_ADDRESS_FIXED              (u8) 0x01#define ACPI_POS_DECODE                 (u8) 0x00#define ACPI_SUB_DECODE                 (u8) 0x01#define ACPI_PRODUCER                   (u8) 0x00#define ACPI_CONSUMER                   (u8) 0x01/* * If possible, pack the following structures to byte alignment */#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED#pragma pack(1)#endif/* UUID data structures for use in vendor-defined resource descriptors */struct acpi_uuid {	u8 data[ACPI_UUID_LENGTH];};struct acpi_vendor_uuid {	u8 subtype;	u8 data[ACPI_UUID_LENGTH];};/* *  Structures used to describe device resources */struct acpi_resource_irq {	u8 triggering;	u8 polarity;	u8 sharable;	u8 interrupt_count;	u8 interrupts[1];};struct acpi_resource_dma {	u8 type;	u8 bus_master;	u8 transfer;	u8 channel_count;	u8 channels[1];};struct acpi_resource_start_dependent {	u8 compatibility_priority;	u8 performance_robustness;};/* * END_DEPENDENT_FUNCTIONS_RESOURCE struct is not * needed because it has no fields */struct acpi_resource_io {	u8 io_decode;	u8 alignment;	u8 address_length;	u16 minimum;	u16 maximum;};struct acpi_resource_fixed_io {	u16 address;	u8 address_length;};struct acpi_resource_vendor {	u16 byte_length;	u8 byte_data[1];};/* Vendor resource with UUID info (introduced in ACPI 3.0) */struct acpi_resource_vendor_typed {	u16 byte_length;	u8 uuid_subtype;	u8 uuid[ACPI_UUID_LENGTH];	u8 byte_data[1];};struct acpi_resource_end_tag {	u8 checksum;};struct acpi_resource_memory24 {	u8 write_protect;	u16 minimum;	u16 maximum;	u16 alignment;	u16 address_length;};struct acpi_resource_memory32 {	u8 write_protect;	u32 minimum;	u32 maximum;	u32 alignment;	u32 address_length;};struct acpi_resource_fixed_memory32 {	u8 write_protect;	u32 address;	u32 address_length;};struct acpi_memory_attribute {	u8 write_protect;	u8 caching;	u8 range_type;	u8 translation;};struct acpi_io_attribute {	u8 range_type;	u8 translation;	u8 translation_type;	u8 reserved1;};union acpi_resource_attribute {	struct acpi_memory_attribute mem;	struct acpi_io_attribute io;	/* Used for the *word_space macros */	u8 type_specific;};struct acpi_resource_source {	u8 index;	u16 string_length;	char *string_ptr;};/* Fields common to all address descriptors, 16/32/64 bit */#define ACPI_RESOURCE_ADDRESS_COMMON \	u8                              resource_type; \	u8                              producer_consumer; \	u8                              decode; \	u8                              min_address_fixed; \	u8                              max_address_fixed; \	union acpi_resource_attribute   info;struct acpi_resource_address {ACPI_RESOURCE_ADDRESS_COMMON};struct acpi_resource_address16 {	ACPI_RESOURCE_ADDRESS_COMMON u16 granularity;	u16 minimum;	u16 maximum;	u16 translation_offset;	u16 address_length;	struct acpi_resource_source resource_source;};struct acpi_resource_address32 {	ACPI_RESOURCE_ADDRESS_COMMON u32 granularity;	u32 minimum;	u32 maximum;	u32 translation_offset;	u32 address_length;	struct acpi_resource_source resource_source;};struct acpi_resource_address64 {	ACPI_RESOURCE_ADDRESS_COMMON u64 granularity;	u64 minimum;	u64 maximum;	u64 translation_offset;	u64 address_length;	struct acpi_resource_source resource_source;};struct acpi_resource_extended_address64 {	ACPI_RESOURCE_ADDRESS_COMMON u8 revision_iD;	u64 granularity;	u64 minimum;	u64 maximum;	u64 translation_offset;	u64 address_length;	u64 type_specific;};struct acpi_resource_extended_irq {	u8 producer_consumer;	u8 triggering;	u8 polarity;	u8 sharable;	u8 interrupt_count;	struct acpi_resource_source resource_source;	u32 interrupts[1];};struct acpi_resource_generic_register {	u8 space_id;	u8 bit_width;	u8 bit_offset;	u8 access_size;	u64 address;};/* ACPI_RESOURCE_TYPEs */#define ACPI_RESOURCE_TYPE_IRQ                  0#define ACPI_RESOURCE_TYPE_DMA                  1#define ACPI_RESOURCE_TYPE_START_DEPENDENT      2#define ACPI_RESOURCE_TYPE_END_DEPENDENT        3#define ACPI_RESOURCE_TYPE_IO                   4#define ACPI_RESOURCE_TYPE_FIXED_IO             5#define ACPI_RESOURCE_TYPE_VENDOR               6#define ACPI_RESOURCE_TYPE_END_TAG              7#define ACPI_RESOURCE_TYPE_MEMORY24             8#define ACPI_RESOURCE_TYPE_MEMORY32             9#define ACPI_RESOURCE_TYPE_FIXED_MEMORY32       10#define ACPI_RESOURCE_TYPE_ADDRESS16            11#define ACPI_RESOURCE_TYPE_ADDRESS32            12#define ACPI_RESOURCE_TYPE_ADDRESS64            13#define ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64   14	/* ACPI 3.0 */#define ACPI_RESOURCE_TYPE_EXTENDED_IRQ         15#define ACPI_RESOURCE_TYPE_GENERIC_REGISTER     16#define ACPI_RESOURCE_TYPE_MAX                  16union acpi_resource_data {	struct acpi_resource_irq irq;	struct acpi_resource_dma dma;	struct acpi_resource_start_dependent start_dpf;	struct acpi_resource_io io;	struct acpi_resource_fixed_io fixed_io;	struct acpi_resource_vendor vendor;	struct acpi_resource_vendor_typed vendor_typed;	struct acpi_resource_end_tag end_tag;	struct acpi_resource_memory24 memory24;	struct acpi_resource_memory32 memory32;	struct acpi_resource_fixed_memory32 fixed_memory32;	struct acpi_resource_address16 address16;	struct acpi_resource_address32 address32;	struct acpi_resource_address64 address64;	struct acpi_resource_extended_address64 ext_address64;	struct acpi_resource_extended_irq extended_irq;	struct acpi_resource_generic_register generic_reg;	/* Common fields */	struct acpi_resource_address address;	/* Common 16/32/64 address fields */};struct acpi_resource {	u32 type;	u32 length;	union acpi_resource_data data;};/* restore default alignment */#pragma pack()#define ACPI_RS_SIZE_MIN                    12#define ACPI_RS_SIZE_NO_DATA                8	/* Id + Length fields */#define ACPI_RS_SIZE(type)                  (u32) (ACPI_RS_SIZE_NO_DATA + sizeof (type))#define ACPI_NEXT_RESOURCE(res)             (struct acpi_resource *)((u8 *) res + res->length)struct acpi_pci_routing_table {	u32 length;	u32 pin;	acpi_integer address;	/* here for 64-bit alignment */	u32 source_index;	char source[4];		/* pad to 64 bits so sizeof() works in all cases */};#endif				/* __ACTYPES_H__ */

⌨️ 快捷键说明

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