summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/include
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2014-09-30 17:54:57 +0000
committerdelphij <delphij@FreeBSD.org>2014-09-30 17:54:57 +0000
commitee5d2040514496e028c74f870e0fe37ff731eea6 (patch)
tree3d5fc0f492a59bc673ae0bd7830fcb5f3be62b51 /sys/dev/hyperv/include
parentd2b170eeddec67d497373ad60908e5094d294fe1 (diff)
downloadFreeBSD-src-ee5d2040514496e028c74f870e0fe37ff731eea6.zip
FreeBSD-src-ee5d2040514496e028c74f870e0fe37ff731eea6.tar.gz
MFC r271493,271688-271689,271696,271854,272139-272143:
Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, many thanks for their continued support of FreeBSD. While I'm there, also implement a new build knob, WITHOUT_HYPERV to disable building and installing of the HyperV utilities when necessary. The HyperV utilities are only built for i386 and amd64 targets. Approved by: re (gjb)
Diffstat (limited to 'sys/dev/hyperv/include')
-rw-r--r--sys/dev/hyperv/include/hyperv.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/dev/hyperv/include/hyperv.h b/sys/dev/hyperv/include/hyperv.h
index 4257b37..8a45d89 100644
--- a/sys/dev/hyperv/include/hyperv.h
+++ b/sys/dev/hyperv/include/hyperv.h
@@ -795,5 +795,34 @@ hv_get_phys_addr(void *virt)
return (ret);
}
+
+/**
+ * KVP related structures
+ *
+ */
+typedef struct hv_vmbus_service {
+ hv_guid guid; /* Hyper-V GUID */
+ char *name; /* name of service */
+ boolean_t enabled; /* service enabled */
+ hv_work_queue *work_queue; /* background work queue */
+
+ /*
+ * function to initialize service
+ */
+ int (*init)(struct hv_vmbus_service *);
+
+ /*
+ * function to process Hyper-V messages
+ */
+ void (*callback)(void *);
+} hv_vmbus_service;
+
+extern uint8_t* receive_buffer[];
+extern hv_vmbus_service service_table[];
+
+void hv_kvp_callback(void *context);
+int hv_kvp_init(hv_vmbus_service *serv);
+void hv_kvp_deinit(void);
+
#endif /* __HYPERV_H__ */
OpenPOWER on IntegriCloud