Microsoft announced the opening of the initial texts of the layer to ensure paravirtualization with the introduction of OpenHCl and the virtual machine monitor OpenVMM , specially designed for organizing the work of OpenHCl. The code for OpenVMM and OpenHCl is written in Rust and distributed under the MIT license. OpenVMM functions as a second-level hypervisor, operating within the same ring of the operating system as products like VirtualBox and VMware Workstation. It supports Linux (X86_64), Windows (X86_64, Aarch64), and MacOS (X86_64, AARCH64), utilizing KVM API, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform), and Hypervisor Framework.
Among the features supported in OpenVMM are:
- UEFI and BIOS mode loading, direct loading of the Linux kernel;
- PARARAROWAROMENCE support based on virtio drivers (virtio-fs, virtio-9p, virtio-NET, Virtio-PMEM);
- Paravirtualization support based on vombus (storvsp, netvsp, vpci, framebuffer);
- Emulation of VTPM, NVME, UART, chipset i440BX + PIIX4, IDE HDD, PCI, and VGA;
- Backend support for graphics rendering, input devices, consoles, storage, and network access;
- Control through command line interface, interactive console, GRPC, and TTRPC.
OpenHCl is presented as an environment with paravirtualization components (paravisor) that operate on top of the OpenVMM hypervisor. The key distinction of virtualization systems based on OpenVMM and OpenHCl is that the paravirtualization components are executed within a virtual machine with the guest system