Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151007925
D7191.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
12 KB
Referenced Files
None
Subscribers
None
D7191.diff
View Options
Index: head/sys/dev/hyperv/include/hyperv.h
===================================================================
--- head/sys/dev/hyperv/include/hyperv.h
+++ head/sys/dev/hyperv/include/hyperv.h
@@ -323,14 +323,6 @@
void hv_vmbus_channel_close(hv_vmbus_channel *channel);
-int hv_vmbus_channel_send_packet(
- hv_vmbus_channel* channel,
- void* buffer,
- uint32_t buffer_len,
- uint64_t request_id,
- uint16_t type,
- uint16_t flags);
-
int hv_vmbus_channel_establish_gpadl(
hv_vmbus_channel* channel,
/* must be phys and virt contiguous */
Index: head/sys/dev/hyperv/include/vmbus.h
===================================================================
--- head/sys/dev/hyperv/include/vmbus.h
+++ head/sys/dev/hyperv/include/vmbus.h
@@ -59,6 +59,8 @@
struct hv_vmbus_channel;
+int vmbus_chan_send(struct hv_vmbus_channel *chan, uint16_t type,
+ uint16_t flags, void *data, int dlen, uint64_t xactid);
int vmbus_chan_send_sglist(struct hv_vmbus_channel *chan,
struct vmbus_gpa sg[], int sglen, void *data, int dlen,
uint64_t xactid);
Index: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
===================================================================
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c
@@ -183,9 +183,9 @@
/* Send the gpadl notification request */
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt);
if (ret != 0) {
goto cleanup;
}
@@ -276,9 +276,9 @@
/* Send the gpadl notification request */
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)init_pkt);
if (ret != 0) {
goto cleanup;
}
@@ -335,10 +335,9 @@
revoke_pkt->msgs.vers_1_msgs.revoke_rx_buf.id =
NETVSC_RECEIVE_BUFFER_ID;
- ret = hv_vmbus_channel_send_packet(net_dev->sc->hn_prichan,
- revoke_pkt, sizeof(nvsp_msg),
- (uint64_t)(uintptr_t)revoke_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ ret = vmbus_chan_send(net_dev->sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, 0, revoke_pkt, sizeof(nvsp_msg),
+ (uint64_t)(uintptr_t)revoke_pkt);
/*
* If we failed here, we might as well return and have a leak
@@ -403,10 +402,10 @@
revoke_pkt->msgs.vers_1_msgs.revoke_send_buf.id =
NETVSC_SEND_BUFFER_ID;
- ret = hv_vmbus_channel_send_packet(net_dev->sc->hn_prichan,
+ ret = vmbus_chan_send(net_dev->sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, 0,
revoke_pkt, sizeof(nvsp_msg),
- (uint64_t)(uintptr_t)revoke_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ (uint64_t)(uintptr_t)revoke_pkt);
/*
* If we failed here, we might as well return and have a leak
* rather than continue and a bugchk
@@ -470,9 +469,9 @@
init_pkt->msgs.init_msgs.init.protocol_version_2 = nvsp_ver;
/* Send the init request */
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt);
if (ret != 0)
return (-1);
@@ -513,9 +512,8 @@
= 1;
/* Send the configuration packet */
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ ret = vmbus_chan_send(sc->hn_prichan, VMBUS_CHANPKT_TYPE_INBAND, 0,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt);
if (ret != 0)
return (-EINVAL);
@@ -592,9 +590,8 @@
/* Send the init request */
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ ret = vmbus_chan_send(sc->hn_prichan, VMBUS_CHANPKT_TYPE_INBAND, 0,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt);
if (ret != 0) {
goto cleanup;
}
@@ -816,9 +813,9 @@
ret = vmbus_chan_send_sglist(chan, pkt->gpa, pkt->gpa_cnt,
&send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt);
} else {
- ret = hv_vmbus_channel_send_packet(chan,
- &send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt,
- VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ &send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt);
}
return (ret);
@@ -917,8 +914,8 @@
retry_send_cmplt:
/* Send the completion */
- ret = hv_vmbus_channel_send_packet(chan, &rx_comp_msg,
- sizeof(nvsp_msg), tid, VMBUS_CHANPKT_TYPE_COMP, 0);
+ ret = vmbus_chan_send(chan, VMBUS_CHANPKT_TYPE_COMP, 0,
+ &rx_comp_msg, sizeof(nvsp_msg), tid);
if (ret == 0) {
/* success */
/* no-op */
Index: head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
===================================================================
--- head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
+++ head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
@@ -1166,9 +1166,9 @@
init_pkt->msgs.vers_5_msgs.subchannel_request.num_subchannels =
net_dev->num_channel - 1;
- ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
- sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hn_prichan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ init_pkt, sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt);
if (ret != 0) {
device_printf(dev, "Fail to allocate subchannel\n");
goto out;
Index: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
===================================================================
--- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
+++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -356,13 +356,9 @@
vstor_packet->flags = REQUEST_COMPLETION_FLAG;
vstor_packet->u.multi_channels_cnt = request_channels_cnt;
- ret = hv_vmbus_channel_send_packet(
- sc->hs_chan,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hs_chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
/* wait for 5 seconds */
ret = sema_timedwait(&request->synch_sema, 5 * hz);
@@ -427,13 +423,9 @@
vstor_packet->flags = REQUEST_COMPLETION_FLAG;
- ret = hv_vmbus_channel_send_packet(
- sc->hs_chan,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hs_chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
if (ret != 0)
goto cleanup;
@@ -461,13 +453,9 @@
/* revision is only significant for Windows guests */
vstor_packet->u.version.revision = 0;
- ret = hv_vmbus_channel_send_packet(
- sc->hs_chan,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hs_chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
if (ret != 0)
goto cleanup;
@@ -504,13 +492,9 @@
vstor_packet->operation = VSTOR_OPERATION_QUERYPROPERTIES;
vstor_packet->flags = REQUEST_COMPLETION_FLAG;
- ret = hv_vmbus_channel_send_packet(
- sc->hs_chan,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hs_chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
if ( ret != 0)
goto cleanup;
@@ -540,13 +524,9 @@
vstor_packet->operation = VSTOR_OPERATION_ENDINITIALIZATION;
vstor_packet->flags = REQUEST_COMPLETION_FLAG;
- ret = hv_vmbus_channel_send_packet(
- sc->hs_chan,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(sc->hs_chan,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
if (ret != 0) {
goto cleanup;
@@ -631,12 +611,10 @@
vstor_packet->operation = VSTOR_OPERATION_RESETBUS;
vstor_packet->flags = REQUEST_COMPLETION_FLAG;
- ret = hv_vmbus_channel_send_packet(dev->channel,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)&sc->hs_reset_req,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(dev->channel,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE,
+ (uint64_t)(uintptr_t)&sc->hs_reset_req);
if (ret != 0) {
goto cleanup;
@@ -694,13 +672,9 @@
&request->prp_list.gpa_range, request->prp_cnt,
vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
} else {
- ret = hv_vmbus_channel_send_packet(
- outgoing_channel,
- vstor_packet,
- VSTOR_PKT_SIZE,
- (uint64_t)(uintptr_t)request,
- VMBUS_CHANPKT_TYPE_INBAND,
- VMBUS_CHANPKT_FLAG_RC);
+ ret = vmbus_chan_send(outgoing_channel,
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC,
+ vstor_packet, VSTOR_PKT_SIZE, (uint64_t)(uintptr_t)request);
}
mtx_lock(&request->softc->hs_lock);
Index: head/sys/dev/hyperv/utilities/hv_heartbeat.c
===================================================================
--- head/sys/dev/hyperv/utilities/hv_heartbeat.c
+++ head/sys/dev/hyperv/utilities/hv_heartbeat.c
@@ -87,8 +87,8 @@
icmsghdrp->icflags = HV_ICMSGHDRFLAG_TRANSACTION |
HV_ICMSGHDRFLAG_RESPONSE;
- hv_vmbus_channel_send_packet(channel, buf, recvlen, requestid,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ vmbus_chan_send(channel, VMBUS_CHANPKT_TYPE_INBAND, 0,
+ buf, recvlen, requestid);
}
}
Index: head/sys/dev/hyperv/utilities/hv_kvp.c
===================================================================
--- head/sys/dev/hyperv/utilities/hv_kvp.c
+++ head/sys/dev/hyperv/utilities/hv_kvp.c
@@ -575,11 +575,9 @@
hv_icmsg_hdrp->status = error;
hv_icmsg_hdrp->icflags = HV_ICMSGHDRFLAG_TRANSACTION | HV_ICMSGHDRFLAG_RESPONSE;
- error = hv_vmbus_channel_send_packet(sc->util_sc.channel,
- sc->rcv_buf,
- sc->host_msg_len, sc->host_msg_id,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
-
+ error = vmbus_chan_send(sc->util_sc.channel,
+ VMBUS_CHANPKT_TYPE_INBAND, 0, sc->rcv_buf, sc->host_msg_len,
+ sc->host_msg_id);
if (error)
hv_kvp_log_info("%s: hv_kvp_respond_host: sendpacket error:%d\n",
__func__, error);
Index: head/sys/dev/hyperv/utilities/hv_shutdown.c
===================================================================
--- head/sys/dev/hyperv/utilities/hv_shutdown.c
+++ head/sys/dev/hyperv/utilities/hv_shutdown.c
@@ -105,9 +105,8 @@
icmsghdrp->icflags = HV_ICMSGHDRFLAG_TRANSACTION |
HV_ICMSGHDRFLAG_RESPONSE;
- hv_vmbus_channel_send_packet(channel, buf,
- recv_len, request_id,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ vmbus_chan_send(channel, VMBUS_CHANPKT_TYPE_INBAND, 0,
+ buf, recv_len, request_id);
}
if (execute_shutdown)
Index: head/sys/dev/hyperv/utilities/hv_timesync.c
===================================================================
--- head/sys/dev/hyperv/utilities/hv_timesync.c
+++ head/sys/dev/hyperv/utilities/hv_timesync.c
@@ -163,9 +163,8 @@
icmsghdrp->icflags = HV_ICMSGHDRFLAG_TRANSACTION
| HV_ICMSGHDRFLAG_RESPONSE;
- hv_vmbus_channel_send_packet(channel, time_buf,
- recvlen, requestId,
- VMBUS_CHANPKT_TYPE_INBAND, 0);
+ vmbus_chan_send(channel, VMBUS_CHANPKT_TYPE_INBAND, 0,
+ time_buf, recvlen, requestId);
}
}
Index: head/sys/dev/hyperv/vmbus/hv_channel.c
===================================================================
--- head/sys/dev/hyperv/vmbus/hv_channel.c
+++ head/sys/dev/hyperv/vmbus/hv_channel.c
@@ -622,8 +622,8 @@
}
int
-hv_vmbus_channel_send_packet(struct hv_vmbus_channel *chan,
- void *data, uint32_t dlen, uint64_t xactid, uint16_t type, uint16_t flags)
+vmbus_chan_send(struct hv_vmbus_channel *chan, uint16_t type, uint16_t flags,
+ void *data, int dlen, uint64_t xactid)
{
struct vmbus_chanpkt pkt;
int pktlen, pad_pktlen, hlen, error;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Apr 6, 10:41 AM (13 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30960565
Default Alt Text
D7191.diff (12 KB)
Attached To
Mode
D7191: hyperv/vmbus: Function renaming.
Attached
Detach File
Event Timeline
Log In to Comment