What is Xvisor?
Xvisor® is an open-source type-1 hypervisor, which aims at providing a monolithic, light-weight, portable, and flexible virtualization solution.
It provides a high performance and low memory foot print virtualization solution for ARMv5, ARMv6, ARMv7a, ARMv7a-ve, ARMv8a, x86_64, and other CPU architectures.
The Xvisor source code is highly portable and can be easily ported to most general-purpose 32-bit or 64-bit architectures as long as they have a paged memory management unit (PMMU) and a port of the GNU C compiler (GCC).
Xvisor primarily supports Full virtualization hence, supports a wide range of unmodified Guest operating systems. Paravirtualization is optional for Xvisor and will be supported in an architecture independent manner (such as VirtIO PCI/MMIO devices) to ensure no-change in Guest OS for using paravirtualization.
It has most features expected from a modern hypervisor, such as: Device tree based configuration, Tickless and high resolution timekeeping, Threading framework, Host device driver framework, IO device emulation framework, Runtime loadable modules, Pass through hardware access, Dynamic guest creation/destruction, Managment terminal, Network virtualization, and many more.
Hypervisors can be categorized into three categories based on Host hardware access, CPU virtualization, and Guest IO emulation, as follows:
- Complete Monolithic: Complete monolithic hypervisors (e.g. Xvisor) have one common software for Host hardware access, CPU virtualization, and Guest IO emulation.
- Partially Monolithic: Partially monolithic hypervisors (e.g. KVM) are usually an extension of general purpose monolithic OS (e.g. Linux®, FreeBSD®, NetBSD®, etc.) to support Host hardware access + CPU virtualization in kernel and support Guest IO emulation from software running in user-space (e.g. QEMU®).
- Micro-kernelized: Micro-kernelized hypervisors (e.g. Xen®) are usually light-weight micro-kernels providing basic Host hardware access + CPU virtualization in kernel and for rest it depends on a Managment Guest (e.g. Dom0 of Xen) which provides complete Host hardware access, Management interface, and Guest IO emulation.
Xvisor is a complete monolithic hypervisor whereas most open-source hypervisors are either partially monolithic or micro-kernelized.
The following points clarify Xvisor licensing: