aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv/include/vmbus.h
diff options
context:
space:
mode:
authorSepherosa Ziehau <sephe@FreeBSD.org>2016-07-15 06:40:59 +0000
committerSepherosa Ziehau <sephe@FreeBSD.org>2016-07-15 06:40:59 +0000
commit66e132bd0f8262f9a5ef2172d4eee244313e077d (patch)
tree7ee7542e4fc94ee5652ae83f6555c15ef944f1ac /sys/dev/hyperv/include/vmbus.h
parent7ff1939db0436c79d58549fd5bfc69b9ab233413 (diff)
downloadsrc-66e132bd0f8262f9a5ef2172d4eee244313e077d.tar.gz
src-66e132bd0f8262f9a5ef2172d4eee244313e077d.zip
hyeprv/vmbus: Rework prplist sending.
MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D7175
Notes
Notes: svn path=/head/; revision=302878
Diffstat (limited to 'sys/dev/hyperv/include/vmbus.h')
-rw-r--r--sys/dev/hyperv/include/vmbus.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/hyperv/include/vmbus.h b/sys/dev/hyperv/include/vmbus.h
index 19b2c86b9705..3931fc72d690 100644
--- a/sys/dev/hyperv/include/vmbus.h
+++ b/sys/dev/hyperv/include/vmbus.h
@@ -31,6 +31,15 @@
#include <sys/param.h>
+/*
+ * GPA stuffs.
+ */
+struct vmbus_gpa_range {
+ uint32_t gpa_len;
+ uint32_t gpa_ofs;
+ uint64_t gpa_page[0];
+} __packed;
+
/* This is actually vmbus_gpa_range.gpa_page[1] */
struct vmbus_gpa {
uint32_t gpa_len;
@@ -39,11 +48,15 @@ struct vmbus_gpa {
} __packed;
#define VMBUS_CHAN_SGLIST_MAX 32
+#define VMBUS_CHAN_PRPLIST_MAX 32
struct hv_vmbus_channel;
int vmbus_chan_send_sglist(struct hv_vmbus_channel *chan,
struct vmbus_gpa sg[], int sglen, void *data, int dlen,
uint64_t xactid);
+int vmbus_chan_send_prplist(struct hv_vmbus_channel *chan,
+ struct vmbus_gpa_range *prp, int prp_cnt, void *data, int dlen,
+ uint64_t xactid);
#endif /* !_VMBUS_H_ */