One of the biggest surprises of last year was finding out that VMware has been working on shifting VMware Workstation from proprietary code to building atop the upstream KVM code within the Linux kernel. Following the initial patches from last October, an updated patch series was sent out on the Linux kernel mailing list yesterday for working on this transition.
Zack Rusin of VMware/Broadcom sent out the second version of the Linux kernel patches that enable running VMware Workstation on Linux using the Kernel-based Virtual Machine (KVM).
Rusin sums up the ongoing work with the v2 patch series cover letter:
“This is the second version of a series that lets us run VMware Workstation on Linux on top of KVM.
The most significant change in this series is the introduction of CONFIG_KVM_VMWARE which is, in general, a nice cleanup for various bits of VMware compatibility code that have been scattered around KVM.
The rest of the series builds upon the VMware platform to implement features that are needed to run VMware guests without any modifications on top of KVM:
– ability to turn on the VMware backdoor at runtime on a per-vm basis (used to be a kernel boot argument only)
– support for VMware hypercalls – VMware products have a huge collection of hypercalls, all of which are handled in userspace,
– support for handling legacy VMware backdoor in L0 in nested configs
– in cases where we have WS running a Windows VBS guest, the L0 would be KVM, L1 Hyper-V so by default VMware Tools backdoor calls endup in Hyper-V which can not handle them, so introduce a cap to let L0 handle those.
The final change in the series is a kselftest of the VMware hypercall functionality.”
In current form the v2 patch series is introducing just a few hundred lines of new code to the KVM area of the kernel.