summaryrefslogtreecommitdiffstats
path: root/hw/hyperv/Kconfig
diff options
context:
space:
mode:
authorJon Doron2020-04-24 14:34:41 +0200
committerPaolo Bonzini2020-06-10 18:09:40 +0200
commit0d71f7082d7aeec8d9767e32dbf7dd86b94b8260 (patch)
treeac154d25d79e082e6143f457006c39211a77efeb /hw/hyperv/Kconfig
parentvmbus: add vmbus protocol definitions (diff)
downloadqemu-0d71f7082d7aeec8d9767e32dbf7dd86b94b8260.tar.gz
qemu-0d71f7082d7aeec8d9767e32dbf7dd86b94b8260.tar.xz
qemu-0d71f7082d7aeec8d9767e32dbf7dd86b94b8260.zip
vmbus: vmbus implementation
Add the VMBus infrastructure -- bus, devices, root bridge, vmbus state machine, vmbus channel interactions, etc. VMBus is a collection of technologies. At its lowest layer, it's a message passing and signaling mechanism, allowing efficient passing of messages to and from guest VMs. A layer higher, it's a mechanism for defining channels of communication, where each channel is tagged with a type (which implies a protocol) and a instance ID. A layer higher than that, it's a bus driver, serving as the basis of device enumeration within a VM, where a channel can optionally be exposed as a paravirtual device. When a server-side (paravirtual back-end) component wishes to offer a channel to a guest VM, it does so by specifying a channel type, a mode, and an instance ID. VMBus then exposes this in the guest. More information about VMBus can be found in the file vmbuskernelmodeclientlibapi.h in Microsoft's WDK. TODO: - split into smaller palatable pieces - more comments - check and handle corner cases Kudos to Evgeny Yakovlev (formerly eyakovlev@virtuozzo.com) and Andrey Smetatin (formerly asmetanin@virtuozzo.com) for research and prototyping. Signed-off-by: Roman Kagan <rkagan@virtuozzo.com> Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Signed-off-by: Jon Doron <arilou@gmail.com> Message-Id: <20200424123444.3481728-4-arilou@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/hyperv/Kconfig')
-rw-r--r--hw/hyperv/Kconfig5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/hyperv/Kconfig b/hw/hyperv/Kconfig
index a1fa8ff9be..3fbfe41c9e 100644
--- a/hw/hyperv/Kconfig
+++ b/hw/hyperv/Kconfig
@@ -6,3 +6,8 @@ config HYPERV_TESTDEV
bool
default y if TEST_DEVICES
depends on HYPERV
+
+config VMBUS
+ bool
+ default y
+ depends on HYPERV