Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
Show First 20 Lines • Show All 305 Lines • ▼ Show 20 Lines | if (new_channel->ch_sigevt == NULL) { | ||||
device_printf(sc->vmbus_dev, "sigevt alloc failed\n"); | device_printf(sc->vmbus_dev, "sigevt alloc failed\n"); | ||||
/* XXX */ | /* XXX */ | ||||
mtx_destroy(&new_channel->sc_lock); | mtx_destroy(&new_channel->sc_lock); | ||||
free(new_channel, M_DEVBUF); | free(new_channel, M_DEVBUF); | ||||
return; | return; | ||||
} | } | ||||
new_channel->ch_sigevt->hc_connid = VMBUS_CONNID_EVENT; | new_channel->ch_sigevt->hc_connid = VMBUS_CONNID_EVENT; | ||||
if (sc->vmbus_version != VMBUS_VERSION_WS2008) { | if (sc->vmbus_version != VMBUS_VERSION_WS2008) | ||||
new_channel->is_dedicated_interrupt = | |||||
(offer->is_dedicated_interrupt != 0); | |||||
new_channel->ch_sigevt->hc_connid = offer->connection_id; | new_channel->ch_sigevt->hc_connid = offer->connection_id; | ||||
} | |||||
new_channel->monitor_group = (uint8_t) offer->monitor_id / 32; | new_channel->monitor_group = (uint8_t) offer->monitor_id / 32; | ||||
new_channel->monitor_bit = (uint8_t) offer->monitor_id % 32; | new_channel->monitor_bit = (uint8_t) offer->monitor_id % 32; | ||||
/* Select default cpu for this channel. */ | /* Select default cpu for this channel. */ | ||||
vmbus_channel_select_defcpu(new_channel); | vmbus_channel_select_defcpu(new_channel); | ||||
vmbus_channel_process_offer(new_channel); | vmbus_channel_process_offer(new_channel); | ||||
▲ Show 20 Lines • Show All 249 Lines • Show Last 20 Lines |