Page MenuHomeFreeBSD

D7176.id18259.diff
No OneTemporary

D7176.id18259.diff

Index: sys/dev/hyperv/include/hyperv.h
===================================================================
--- sys/dev/hyperv/include/hyperv.h
+++ sys/dev/hyperv/include/hyperv.h
@@ -129,8 +129,6 @@
HV_VMBUS_PACKET_TYPE_ADDITIONAL_DATA = 0xd
} hv_vmbus_packet_type;
-#define HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED 1
-
#define HW_MACADDR_LEN 6
/*
Index: sys/dev/hyperv/include/vmbus.h
===================================================================
--- sys/dev/hyperv/include/vmbus.h
+++ sys/dev/hyperv/include/vmbus.h
@@ -47,6 +47,8 @@
uint64_t gpa_page;
} __packed;
+#define VMBUS_CHANPKT_FLAG_RC 0x0001 /* report completion */
+
#define VMBUS_CHAN_SGLIST_MAX 32
#define VMBUS_CHAN_PRPLIST_MAX 32
Index: sys/dev/hyperv/netvsc/hv_net_vsc.c
===================================================================
--- sys/dev/hyperv/netvsc/hv_net_vsc.c
+++ sys/dev/hyperv/netvsc/hv_net_vsc.c
@@ -185,8 +185,7 @@
ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
}
@@ -279,8 +278,7 @@
ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
sizeof(nvsp_msg), (uint64_t)init_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
}
@@ -474,8 +472,7 @@
/* Send the init request */
ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
return (-1);
@@ -604,8 +601,7 @@
/*
* TODO: BUGBUG - We have to wait for the above msg since the netvsp
* uses KMCL which acknowledges packet (completion packet)
- * since our Vmbus always set the
- * HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED flag
+ * since our Vmbus always set the VMBUS_CHANPKT_FLAG_RC flag
*/
/* sema_wait(&NetVscChannel->channel_init_sema); */
@@ -822,8 +818,7 @@
} else {
ret = hv_vmbus_channel_send_packet(chan,
&send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, VMBUS_CHANPKT_FLAG_RC);
}
return (ret);
Index: sys/dev/hyperv/netvsc/hv_rndis_filter.c
===================================================================
--- sys/dev/hyperv/netvsc/hv_rndis_filter.c
+++ sys/dev/hyperv/netvsc/hv_rndis_filter.c
@@ -1168,8 +1168,7 @@
ret = hv_vmbus_channel_send_packet(sc->hn_prichan, init_pkt,
sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
device_printf(dev, "Fail to allocate subchannel\n");
goto out;
Index: sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
===================================================================
--- sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
+++ sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -362,7 +362,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
/* wait for 5 seconds */
ret = sema_timedwait(&request->synch_sema, 5 * hz);
@@ -433,7 +433,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
goto cleanup;
@@ -467,7 +467,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
goto cleanup;
@@ -510,7 +510,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
if ( ret != 0)
goto cleanup;
@@ -546,7 +546,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
@@ -636,7 +636,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)&sc->hs_reset_req,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
@@ -700,7 +700,7 @@
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
- HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ VMBUS_CHANPKT_FLAG_RC);
}
mtx_lock(&request->softc->hs_lock);
Index: sys/dev/hyperv/vmbus/hv_channel.c
===================================================================
--- sys/dev/hyperv/vmbus/hv_channel.c
+++ sys/dev/hyperv/vmbus/hv_channel.c
@@ -690,7 +690,7 @@
pad_pktlen = roundup2(pktlen, VMBUS_CHANPKT_SIZE_ALIGN);
pkt.cp_hdr.cph_type = HV_VMBUS_PACKET_TYPE_DATA_USING_GPA_DIRECT;
- pkt.cp_hdr.cph_flags = HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED;
+ pkt.cp_hdr.cph_flags = VMBUS_CHANPKT_FLAG_RC;
pkt.cp_hdr.cph_data_ofs = hlen >> VMBUS_CHANPKT_SIZE_SHIFT;
pkt.cp_hdr.cph_len = pad_pktlen >> VMBUS_CHANPKT_SIZE_SHIFT;
pkt.cp_hdr.cph_xactid = xactid;
@@ -732,7 +732,7 @@
pad_pktlen = roundup2(pktlen, VMBUS_CHANPKT_SIZE_ALIGN);
pkt.cp_hdr.cph_type = HV_VMBUS_PACKET_TYPE_DATA_USING_GPA_DIRECT;
- pkt.cp_hdr.cph_flags = HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED;
+ pkt.cp_hdr.cph_flags = VMBUS_CHANPKT_FLAG_RC;
pkt.cp_hdr.cph_data_ofs = hlen >> VMBUS_CHANPKT_SIZE_SHIFT;
pkt.cp_hdr.cph_len = pad_pktlen >> VMBUS_CHANPKT_SIZE_SHIFT;
pkt.cp_hdr.cph_xactid = xactid;

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 26, 10:04 PM (12 h, 15 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15608212
Default Alt Text
D7176.id18259.diff (6 KB)

Event Timeline