Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/vmbus_chanvar.h
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Lines | struct vmbus_channel { | ||||
/* | /* | ||||
* These are based on the vmbus_chanmsg_choffer.chm_chanid. | * These are based on the vmbus_chanmsg_choffer.chm_chanid. | ||||
* Save it here for easy access. | * Save it here for easy access. | ||||
*/ | */ | ||||
u_long ch_evtflag_mask;/* event flag */ | u_long ch_evtflag_mask;/* event flag */ | ||||
volatile u_long *ch_evtflag; /* event flag loc. */ | volatile u_long *ch_evtflag; /* event flag loc. */ | ||||
/* | /* | ||||
* Rarely used fields. | * Rarely used fields. | ||||
sepherosa_gmail.com: This does not look correct :P | |||||
*/ | */ | ||||
struct hyperv_mon_param *ch_monprm; | struct hyperv_mon_param *ch_monprm; | ||||
struct hyperv_dma ch_monprm_dma; | struct hyperv_dma ch_monprm_dma; | ||||
uint32_t ch_id; /* channel id */ | uint32_t ch_id; /* channel id */ | ||||
device_t ch_dev; | device_t ch_dev; | ||||
struct vmbus_softc *ch_vmbus; | struct vmbus_softc *ch_vmbus; | ||||
Show All 27 Lines | struct vmbus_channel { | ||||
TAILQ_ENTRY(vmbus_channel) ch_prilink; /* primary chan link */ | TAILQ_ENTRY(vmbus_channel) ch_prilink; /* primary chan link */ | ||||
uint32_t ch_subidx; /* subchan index */ | uint32_t ch_subidx; /* subchan index */ | ||||
volatile uint32_t ch_stflags; /* atomic-op */ | volatile uint32_t ch_stflags; /* atomic-op */ | ||||
/* VMBUS_CHAN_ST_ */ | /* VMBUS_CHAN_ST_ */ | ||||
struct hyperv_guid ch_guid_type; | struct hyperv_guid ch_guid_type; | ||||
struct hyperv_guid ch_guid_inst; | struct hyperv_guid ch_guid_inst; | ||||
struct sysctl_ctx_list ch_sysctl_ctx; | struct sysctl_ctx_list ch_sysctl_ctx; | ||||
u_int ch_stat_send_nreq; | |||||
Not Done Inline ActionsProbably put it in drivers instead of in channel. Not all drivers need this stat. sepherosa_gmail.com: Probably put it in drivers instead of in channel. Not all drivers need this stat. | |||||
} __aligned(CACHE_LINE_SIZE); | } __aligned(CACHE_LINE_SIZE); | ||||
#define VMBUS_CHAN_ISPRIMARY(chan) ((chan)->ch_subidx == 0) | #define VMBUS_CHAN_ISPRIMARY(chan) ((chan)->ch_subidx == 0) | ||||
/* | /* | ||||
* If this flag is set, this channel's interrupt will be masked in ISR, | * If this flag is set, this channel's interrupt will be masked in ISR, | ||||
* and the RX bufring will be drained before this channel's interrupt is | * and the RX bufring will be drained before this channel's interrupt is | ||||
* unmasked. | * unmasked. | ||||
Show All 21 Lines |
This does not look correct :P