HYPER-V(4) FreeBSD Kernel Interfaces Manual HYPER-V(4)


hv_vmbusHyper-V Virtual Machine Bus (VMBus) Driver


To compile this driver into the kernel, place the following lines in the system kernel configuration file:

device hyperv


The hv_vmbus provides a high performance communication interface between guest and root partitions in Hyper-V. Hyper-V is a hypervisor-based virtualization technology from Microsoft. Hyper-V supports isolation in terms of a partition. A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute.

The Microsoft hypervisor must have at least one parent, or root, partition, running Windows Server operating system. The virtualization stack runs in the parent partition and has direct access to the hardware devices. The root partition then creates the child partitions which host the guest operating systems.

Child partitions do not have direct access to other hardware resources and are presented a virtual view of the resources, as virtual devices (VDevs). Requests to the virtual devices are redirected either via the VMBus or the hypervisor to the devices in the parent partition, which handles the requests.

The VMBus is a logical inter-partition communication channel. The parent partition hosts Virtualization Service Providers (VSPs) which communicate over the VMBus to handle device access requests from child partitions. Child partitions host Virtualization Service Consumers (VSCs) which redirect device requests to VSPs in the parent partition via the VMBus. The Hyper-V VMBus driver defines and implements the interface that facilitate high performance bi-directional communication between the VSCs and VSPs. All VSCs utilize the VMBus driver.


Support for hv_vmbus first appeared in FreeBSD 10.0. The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated.


FreeBSD support for hv_vmbus was first added by Microsoft BSD Integration Services Team <bsdic@microsoft.com>.
September 10, 2013 FreeBSD