Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F106099658
D7177.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D7177.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
@@ -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
Details
Attached
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)
Attached To
Mode
D7177: hyperv/vmbus: Move channel packet types definition to vmbus.h
Attached
Detach File
Event Timeline
Log In to Comment