Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/vmbus/vmbus_reg.h
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
#define VMBUS_EVTFLAGS_SIZE 256 | #define VMBUS_EVTFLAGS_SIZE 256 | ||||
struct vmbus_evtflags { | struct vmbus_evtflags { | ||||
u_long evt_flags[VMBUS_EVTFLAGS_MAX]; | u_long evt_flags[VMBUS_EVTFLAGS_MAX]; | ||||
} __packed; | } __packed; | ||||
CTASSERT(sizeof(struct vmbus_evtflags) == VMBUS_EVTFLAGS_SIZE); | CTASSERT(sizeof(struct vmbus_evtflags) == VMBUS_EVTFLAGS_SIZE); | ||||
/* | /* | ||||
* Hyper-V Monitor Notification Facility | |||||
*/ | |||||
struct vmbus_mon_trig { | |||||
uint32_t mt_pending; | |||||
uint32_t mt_armed; | |||||
} __packed; | |||||
#define VMBUS_MONTRIGS_MAX 4 | |||||
#define VMBUS_MONTRIG_LEN 32 | |||||
struct vmbus_mnf { | |||||
uint32_t mnf_state; | |||||
uint32_t mnf_rsvd1; | |||||
struct vmbus_mon_trig mnf_trigs[VMBUS_MONTRIGS_MAX]; | |||||
uint8_t mnf_rsvd2[536]; | |||||
uint16_t mnf_lat[VMBUS_MONTRIGS_MAX][VMBUS_MONTRIG_LEN]; | |||||
uint8_t mnf_rsvd3[256]; | |||||
struct hyperv_mon_param | |||||
mnf_param[VMBUS_MONTRIGS_MAX][VMBUS_MONTRIG_LEN]; | |||||
uint8_t mnf_rsvd4[1984]; | |||||
} __packed; | |||||
CTASSERT(sizeof(struct vmbus_mnf) == PAGE_SIZE); | |||||
/* | |||||
* Channel | * Channel | ||||
*/ | */ | ||||
#define VMBUS_CHAN_MAX_COMPAT 256 | #define VMBUS_CHAN_MAX_COMPAT 256 | ||||
#define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX) | #define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX) | ||||
/* | /* | ||||
* GPA range. | * GPA range. | ||||
▲ Show 20 Lines • Show All 134 Lines • Show Last 20 Lines |