Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/vmbus_reg.h
Show First 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | |||||
* Channel messages | * Channel messages | ||||
* - Embedded in vmbus_message.msg_data, e.g. response. | * - Embedded in vmbus_message.msg_data, e.g. response. | ||||
* - Embedded in hypercall_postmsg_in.hc_data, e.g. request. | * - Embedded in hypercall_postmsg_in.hc_data, e.g. request. | ||||
*/ | */ | ||||
#define VMBUS_CHANMSG_TYPE_CHANNEL_REQ 3 /* REQ */ | #define VMBUS_CHANMSG_TYPE_CHANNEL_REQ 3 /* REQ */ | ||||
#define VMBUS_CHANMSG_TYPE_INIT_CONTACT 14 /* REQ */ | #define VMBUS_CHANMSG_TYPE_INIT_CONTACT 14 /* REQ */ | ||||
#define VMBUS_CHANMSG_TYPE_VERSION_RESP 15 /* RESP */ | #define VMBUS_CHANMSG_TYPE_VERSION_RESP 15 /* RESP */ | ||||
#define VMBUS_CHANMSG_TYPE_UNLOAD 16 /* REQ */ | |||||
struct vmbus_chanmsg_hdr { | struct vmbus_chanmsg_hdr { | ||||
uint32_t chm_type; /* VMBUS_CHANMSG_TYPE_ */ | uint32_t chm_type; /* VMBUS_CHANMSG_TYPE_ */ | ||||
uint32_t chm_rsvd; | uint32_t chm_rsvd; | ||||
} __packed; | } __packed; | ||||
/* VMBUS_CHANMSG_TYPE_INIT_CONTACT */ | /* VMBUS_CHANMSG_TYPE_INIT_CONTACT */ | ||||
struct vmbus_chanmsg_init_contact { | struct vmbus_chanmsg_init_contact { | ||||
struct vmbus_chanmsg_hdr chm_hdr; | struct vmbus_chanmsg_hdr chm_hdr; | ||||
uint32_t chm_ver; | uint32_t chm_ver; | ||||
uint32_t chm_rsvd; | uint32_t chm_rsvd; | ||||
uint64_t chm_evtflags; | uint64_t chm_evtflags; | ||||
uint64_t chm_mnf1; | uint64_t chm_mnf1; | ||||
uint64_t chm_mnf2; | uint64_t chm_mnf2; | ||||
} __packed; | } __packed; | ||||
/* VMBUS_CHANMSG_TYPE_VERSION_RESP */ | /* VMBUS_CHANMSG_TYPE_VERSION_RESP */ | ||||
struct vmbus_chanmsg_version_resp { | struct vmbus_chanmsg_version_resp { | ||||
struct vmbus_chanmsg_hdr chm_hdr; | struct vmbus_chanmsg_hdr chm_hdr; | ||||
uint8_t chm_supp; | uint8_t chm_supp; | ||||
} __packed; | } __packed; | ||||
/* VMBUS_CHANMSG_TYPE_CHANNEL_REQ */ | /* VMBUS_CHANMSG_TYPE_CHANNEL_REQ */ | ||||
struct vmbus_chanmsg_channel_req { | struct vmbus_chanmsg_channel_req { | ||||
struct vmbus_chanmsg_hdr chm_hdr; | |||||
} __packed; | |||||
/* VMBUS_CHANMSG_TYPE_UNLOAD */ | |||||
struct vmbus_chanmsg_unload { | |||||
struct vmbus_chanmsg_hdr chm_hdr; | struct vmbus_chanmsg_hdr chm_hdr; | ||||
} __packed; | } __packed; | ||||
#endif /* !_VMBUS_REG_H_ */ | #endif /* !_VMBUS_REG_H_ */ |