OpenBSD developer Mike Larkin has revealed that he has spent the past several months working to implement a native hypervisor on OpenBSD named “vmm”. Larkin is taking a fresh approach with his implementation, and is not incorporating his work into an existing hypervisor (bhyve, KVM, etc). This has enabled him to include features that he feels are important, including “i386 support, shadow paging, nested virtualization, [and] support for legacy peripherals.” Importantly, it is not a goal to be legacy-free.

Initial client OS support will include those OSes that support virtio-based devices. When vmm is complete, OpenBSD will ship with the tools needed to run and support vmm. Larkin says that the current CPU targets to run vmm are i386 and amd64. Hardware virtualization support will require the presence of vmx extensions for Intel CPUs (VT-x) or svm extensions for AMD CPUs. Shadow paging will be used provide virtualization for those CPUs without these extensions.

The tools that currently comprise vmm are vmd(8), vmmctl(8), and vmm(4) itself. While not yet formally defined, based on other OpenBSD tools vmm would comprise the hypervisor itself, vmd would be its supporting daemon, and vmmctl would be used to control vmm’s operation.

For X86/X64 platforms, OpenBSD has lacked a native capability to host virtual machines in a manner familiar to users of Virtual Box or VMware. It has offered virtualization via QEMU and since OpenBSD 5.3 has offered sun4v (UltraSPARC-based) systems the ability to manage logical domains. (Additional methods are available that support running OpenBSD as client operating system hosted by a non-OpenBSD OS.)

In general the community response has been reacting very positively—especially OpenBSD users. While some question why existing hypervisors were not targeted to better improve OpenBSD support, Larkin wants to include legacy support (i386 & legacy peripherals) that would be difficult to add to existing projects. No formal release date has been given, but Larkin mentions that October 2015 may be the soonest his project his made public. If so, the soonest stable release of OpenBSD that this could be included with would be the May 1, 2016 release, but it would be able those following the –CURRENT branch sooner.