vmbus_channel
struct vmbus_channel *ch = vsc->sc_chan;
struct vmbus_channel *sc_chan;
struct vmbus_channel *sc_chan;
struct vmbus_channel *sc_sel_chan[MAXCPUS];
static int hvs_start(struct hvs_softc *, struct vmbus_channel *,
static int hvs_poll(struct hvs_softc *, struct vmbus_channel *,
hvs_start(struct hvs_softc *sc, struct vmbus_channel *chan, struct hvs_ccb *ccb)
hvs_poll(struct hvs_softc *sc, struct vmbus_channel *chan, struct hvs_ccb *ccb)
struct vmbus_channel **subchan;
struct vmbus_channel *ch = vsc->sc_chan;
struct vmbus_channel *ch = vsc->sc_chan;
struct vmbus_channel *txr_chan;
hvn_channel_attach(struct hvn_softc *sc, struct vmbus_channel *chan)
hvn_channel_detach(struct hvn_softc *sc, struct vmbus_channel *chan)
struct vmbus_channel **subchans;
struct vmbus_channel **subchans;
struct vmbus_channel **subchans;
struct vmbus_channel *rxr_chan;
hvn_channel_drain(struct hvn_softc *sc, struct vmbus_channel *chan)
struct vmbus_channel *sc_prichan;
struct vmbus_channel **subchans = NULL;
static int hvn_channel_attach(struct hvn_softc *, struct vmbus_channel *);
static void hvn_channel_detach(struct hvn_softc *, struct vmbus_channel *);
static int vmbus_channel_ring_create(struct vmbus_channel *, uint32_t);
static void vmbus_channel_ring_destroy(struct vmbus_channel *);
static void vmbus_channel_detach(struct vmbus_channel *);
static struct vmbus_channel *
struct vmbus_channel *ch;
vmbus_channel_free(struct vmbus_channel *ch)
struct vmbus_channel *);
vmbus_channel_add(struct vmbus_channel *nch)
struct vmbus_channel *ch;
vmbus_channel_cpu_set(struct vmbus_channel *ch, int cpu)
vmbus_channel_cpu_rr(struct vmbus_channel *ch)
vmbus_channel_cpu_default(struct vmbus_channel *ch)
vmbus_channel_is_revoked(struct vmbus_channel *ch)
struct vmbus_channel *ch;
struct vmbus_channel *ch;
vmbus_channel_release(struct vmbus_channel *ch)
struct vmbus_channel **
vmbus_subchannel_get(struct vmbus_channel *prich, int subchan_cnt)
struct vmbus_channel **ret, *ch;
ret = kmem_zalloc(sizeof(struct vmbus_channel *) * subchan_cnt,
vmbus_subchannel_rel(struct vmbus_channel **subch, int cnt)
kmem_free(subch, sizeof(struct vmbus_channel *) * cnt);
vmbus_subchannel_drain(struct vmbus_channel *prich)
static struct vmbus_channel *
struct vmbus_channel *ch = NULL;
vmbus_channel_ring_create(struct vmbus_channel *ch, uint32_t buflen)
vmbus_channel_ring_destroy(struct vmbus_channel *ch)
vmbus_channel_open(struct vmbus_channel *ch, size_t buflen, void *udata,
vmbus_channel_detach(struct vmbus_channel *ch)
vmbus_channel_close_internal(struct vmbus_channel *ch)
vmbus_channel_close_direct(struct vmbus_channel *ch)
vmbus_channel_close(struct vmbus_channel *ch)
struct vmbus_channel **subch;
vmbus_channel_setevent(struct vmbus_softc *sc, struct vmbus_channel *ch)
struct vmbus_channel *ch = arg;
vmbus_channel_setdeferred(struct vmbus_channel *ch, const char *name)
vmbus_channel_schedule(struct vmbus_channel *ch)
vmbus_channel_send(struct vmbus_channel *ch, void *data, uint32_t datalen,
vmbus_channel_send_sgl(struct vmbus_channel *ch, struct vmbus_gpa *sgl,
vmbus_channel_send_prpl(struct vmbus_channel *ch, struct vmbus_gpa_range *prpl,
vmbus_channel_recv(struct vmbus_channel *ch, void *data, uint32_t datalen,
vmbus_channel_pause(struct vmbus_channel *ch)
vmbus_channel_unpause(struct vmbus_channel *ch)
vmbus_channel_ready(struct vmbus_channel *ch)
vmbus_channel_tx_empty(struct vmbus_channel *ch)
vmbus_channel_rx_empty(struct vmbus_channel *ch)
vmbus_handle_alloc(struct vmbus_channel *ch, const struct hyperv_dma *dma,
vmbus_handle_free(struct vmbus_channel *ch, uint32_t handle)
vmbus_devq_enqueue(struct vmbus_softc *sc, int type, struct vmbus_channel *ch)
struct vmbus_channel *ch;
struct vmbus_channel *ch, *prich;
sc->sc_chanmap = kmem_zalloc(sizeof(struct vmbus_channel *) *
sizeof(struct vmbus_channel *) * VMBUS_CHAN_MAX);
sizeof(struct vmbus_channel *) * VMBUS_CHAN_MAX);
struct vmbus_channel *ch;
static void vmbus_channel_cpu_default(struct vmbus_channel *);
static struct vmbus_channel *
vmbusic_sendresp(struct vmbusic_softc *sc, struct vmbus_channel *chan,
struct vmbus_channel *sc_chan;
int vmbusic_sendresp(struct vmbusic_softc *, struct vmbus_channel *,
TAILQ_ENTRY(vmbus_channel) ch_prientry;
TAILQ_ENTRY(vmbus_channel) ch_entry;
TAILQ_ENTRY(vmbus_channel) ch_subentry;
struct vmbus_channel *ch_primary_channel;
struct vmbus_channel *aa_chan;
struct vmbus_channel * volatile *sc_chanmap;
int vmbus_handle_alloc(struct vmbus_channel *, const struct hyperv_dma *,
void vmbus_handle_free(struct vmbus_channel *, uint32_t);
int vmbus_channel_open(struct vmbus_channel *, size_t, void *, size_t,
int vmbus_channel_close(struct vmbus_channel *);
int vmbus_channel_close_direct(struct vmbus_channel *);
int vmbus_channel_setdeferred(struct vmbus_channel *, const char *);
void vmbus_channel_schedule(struct vmbus_channel *);
int vmbus_channel_send(struct vmbus_channel *, void *, uint32_t, uint64_t,
int vmbus_channel_send_sgl(struct vmbus_channel *, struct vmbus_gpa *,
int vmbus_channel_send_prpl(struct vmbus_channel *,
int vmbus_channel_recv(struct vmbus_channel *, void *, uint32_t, uint32_t *,
void vmbus_channel_cpu_set(struct vmbus_channel *, int);
void vmbus_channel_cpu_rr(struct vmbus_channel *);
bool vmbus_channel_is_revoked(struct vmbus_channel *);
bool vmbus_channel_tx_empty(struct vmbus_channel *);
bool vmbus_channel_rx_empty(struct vmbus_channel *);
void vmbus_channel_pause(struct vmbus_channel *);
uint32_t vmbus_channel_unpause(struct vmbus_channel *);
uint32_t vmbus_channel_ready(struct vmbus_channel *);
struct vmbus_channel **
vmbus_subchannel_get(struct vmbus_channel *, int);
void vmbus_subchannel_rel(struct vmbus_channel **, int);
void vmbus_subchannel_drain(struct vmbus_channel *);
struct vmbus_channel;
struct vmbus_channel *vd_chan;
TAILQ_HEAD(vmbus_channels, vmbus_channel);