Page MenuHomeFreeBSD

D7177.diff
No OneTemporary

D7177.diff

Index: head/sys/dev/hyperv/include/hyperv.h
===================================================================
--- head/sys/dev/hyperv/include/hyperv.h
+++ head/sys/dev/hyperv/include/hyperv.h
@@ -112,23 +112,6 @@
hv_vm_transfer_page ranges[1];
} __packed hv_vm_transfer_page_packet_header;
-typedef enum {
- HV_VMBUS_PACKET_TYPE_INVALID = 0x0,
- HV_VMBUS_PACKET_TYPES_SYNCH = 0x1,
- HV_VMBUS_PACKET_TYPE_ADD_TRANSFER_PAGE_SET = 0x2,
- HV_VMBUS_PACKET_TYPE_REMOVE_TRANSFER_PAGE_SET = 0x3,
- HV_VMBUS_PACKET_TYPE_ESTABLISH_GPADL = 0x4,
- HV_VMBUS_PACKET_TYPE_TEAR_DOWN_GPADL = 0x5,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND = 0x6,
- HV_VMBUS_PACKET_TYPE_DATA_USING_TRANSFER_PAGES = 0x7,
- HV_VMBUS_PACKET_TYPE_DATA_USING_GPADL = 0x8,
- HV_VMBUS_PACKET_TYPE_DATA_USING_GPA_DIRECT = 0x9,
- HV_VMBUS_PACKET_TYPE_CANCEL_REQUEST = 0xa,
- HV_VMBUS_PACKET_TYPE_COMPLETION = 0xb,
- HV_VMBUS_PACKET_TYPE_DATA_USING_ADDITIONAL_PACKETS = 0xc,
- HV_VMBUS_PACKET_TYPE_ADDITIONAL_DATA = 0xd
-} hv_vmbus_packet_type;
-
#define HW_MACADDR_LEN 6
/*
@@ -345,8 +328,8 @@
void* buffer,
uint32_t buffer_len,
uint64_t request_id,
- hv_vmbus_packet_type type,
- uint32_t flags);
+ uint16_t type,
+ uint16_t flags);
int hv_vmbus_channel_establish_gpadl(
hv_vmbus_channel* channel,
Index: head/sys/dev/hyperv/include/vmbus.h
===================================================================
--- head/sys/dev/hyperv/include/vmbus.h
+++ head/sys/dev/hyperv/include/vmbus.h
@@ -47,10 +47,15 @@
uint64_t gpa_page;
} __packed;
-#define VMBUS_CHANPKT_FLAG_RC 0x0001 /* report completion */
+#define VMBUS_CHANPKT_TYPE_INBAND 0x0006
+#define VMBUS_CHANPKT_TYPE_RXBUF 0x0007
+#define VMBUS_CHANPKT_TYPE_GPA 0x0009
+#define VMBUS_CHANPKT_TYPE_COMP 0x000b
-#define VMBUS_CHAN_SGLIST_MAX 32
-#define VMBUS_CHAN_PRPLIST_MAX 32
+#define VMBUS_CHANPKT_FLAG_RC 0x0001 /* report completion */
+
+#define VMBUS_CHAN_SGLIST_MAX 32
+#define VMBUS_CHAN_PRPLIST_MAX 32
struct hv_vmbus_channel;
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
@@ -185,7 +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, VMBUS_CHANPKT_FLAG_RC);
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
}
@@ -278,7 +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, VMBUS_CHANPKT_FLAG_RC);
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
goto cleanup;
}
@@ -338,7 +338,7 @@
ret = hv_vmbus_channel_send_packet(net_dev->sc->hn_prichan,
revoke_pkt, sizeof(nvsp_msg),
(uint64_t)(uintptr_t)revoke_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
/*
* If we failed here, we might as well return and have a leak
@@ -406,7 +406,7 @@
ret = hv_vmbus_channel_send_packet(net_dev->sc->hn_prichan,
revoke_pkt, sizeof(nvsp_msg),
(uint64_t)(uintptr_t)revoke_pkt,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
/*
* If we failed here, we might as well return and have a leak
* rather than continue and a bugchk
@@ -472,7 +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, VMBUS_CHANPKT_FLAG_RC);
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
return (-1);
@@ -515,7 +515,7 @@
/* Send the configuration packet */
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, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
if (ret != 0)
return (-EINVAL);
@@ -594,7 +594,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, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
if (ret != 0) {
goto cleanup;
}
@@ -818,7 +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, VMBUS_CHANPKT_FLAG_RC);
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
}
return (ret);
@@ -847,7 +847,7 @@
* All inbound packets other than send completion should be
* xfer page packet.
*/
- if (pkt->type != HV_VMBUS_PACKET_TYPE_DATA_USING_TRANSFER_PAGES) {
+ if (pkt->type != VMBUS_CHANPKT_TYPE_RXBUF) {
device_printf(dev, "packet type %d is invalid!\n", pkt->type);
return;
}
@@ -918,7 +918,7 @@
retry_send_cmplt:
/* Send the completion */
ret = hv_vmbus_channel_send_packet(chan, &rx_comp_msg,
- sizeof(nvsp_msg), tid, HV_VMBUS_PACKET_TYPE_COMPLETION, 0);
+ sizeof(nvsp_msg), tid, VMBUS_CHANPKT_TYPE_COMP, 0);
if (ret == 0) {
/* success */
/* no-op */
@@ -1003,14 +1003,14 @@
if (bytes_rxed > 0) {
desc = (hv_vm_packet_descriptor *)buffer;
switch (desc->type) {
- case HV_VMBUS_PACKET_TYPE_COMPLETION:
+ case VMBUS_CHANPKT_TYPE_COMP:
hv_nv_on_send_completion(net_dev, chan,
desc);
break;
- case HV_VMBUS_PACKET_TYPE_DATA_USING_TRANSFER_PAGES:
+ case VMBUS_CHANPKT_TYPE_RXBUF:
hv_nv_on_receive(net_dev, sc, chan, desc);
break;
- case HV_VMBUS_PACKET_TYPE_DATA_IN_BAND:
+ case VMBUS_CHANPKT_TYPE_INBAND:
hv_nv_send_table(sc, desc);
break;
default:
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
@@ -1168,7 +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, VMBUS_CHANPKT_FLAG_RC);
+ VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC);
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
@@ -361,7 +361,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
/* wait for 5 seconds */
@@ -432,7 +432,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
@@ -466,7 +466,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
if (ret != 0)
@@ -509,7 +509,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
if ( ret != 0)
@@ -545,7 +545,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
@@ -635,7 +635,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)&sc->hs_reset_req,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
if (ret != 0) {
@@ -699,7 +699,7 @@
vstor_packet,
VSTOR_PKT_SIZE,
(uint64_t)(uintptr_t)request,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
+ VMBUS_CHANPKT_TYPE_INBAND,
VMBUS_CHANPKT_FLAG_RC);
}
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
@@ -35,6 +35,7 @@
#include <sys/syscallsubr.h>
#include <dev/hyperv/include/hyperv.h>
+#include <dev/hyperv/include/vmbus.h>
#include "hv_util.h"
#include "vmbus_if.h"
@@ -87,7 +88,7 @@
HV_ICMSGHDRFLAG_RESPONSE;
hv_vmbus_channel_send_packet(channel, buf, recvlen, requestid,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
}
}
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
@@ -578,7 +578,7 @@
error = hv_vmbus_channel_send_packet(sc->util_sc.channel,
sc->rcv_buf,
sc->host_msg_len, sc->host_msg_id,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
if (error)
hv_kvp_log_info("%s: hv_kvp_respond_host: sendpacket error:%d\n",
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
@@ -40,6 +40,7 @@
#include <sys/syscallsubr.h>
#include <dev/hyperv/include/hyperv.h>
+#include <dev/hyperv/include/vmbus.h>
#include "hv_util.h"
#include "vmbus_if.h"
@@ -106,7 +107,7 @@
hv_vmbus_channel_send_packet(channel, buf,
recv_len, request_id,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
}
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
@@ -40,6 +40,7 @@
#include <sys/syscallsubr.h>
#include <dev/hyperv/include/hyperv.h>
+#include <dev/hyperv/include/vmbus.h>
#include "hv_util.h"
#include "vmbus_if.h"
@@ -164,7 +165,7 @@
hv_vmbus_channel_send_packet(channel, time_buf,
recvlen, requestId,
- HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
+ VMBUS_CHANPKT_TYPE_INBAND, 0);
}
}
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
@@ -630,8 +630,8 @@
void* buffer,
uint32_t buffer_len,
uint64_t request_id,
- hv_vmbus_packet_type type,
- uint32_t flags)
+ uint16_t type,
+ uint16_t flags)
{
int ret = 0;
struct vmbus_chanpkt pkt;
@@ -689,7 +689,7 @@
pktlen = hlen + dlen;
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_type = VMBUS_CHANPKT_TYPE_GPA;
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;
@@ -731,7 +731,7 @@
pktlen = hlen + dlen;
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_type = VMBUS_CHANPKT_TYPE_GPA;
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;

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 26, 9:43 AM (11 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15603468
Default Alt Text
D7177.diff (11 KB)

Event Timeline