Establish virtio as the standard interface between hypervisors, freeing a mobile, industrial or automotive platform to migrate between hypervisors and reuse the backend implementation.
About this project
There is a growing trend towards virtualization in areas other than the traditional server environment. The server environment is uniform in nature, but as we move towards a richer ecosystem in automotive, medical, general mobile and the IoT spaces, more device abstractions are needed, and way richer organizations are needed:
- In the automotive world, devices as different as FM radio and CAN bus need to be abstracted
- Virtual Machine Monitor (VMM) may need to become a certifiable entity with real-time capabilities
- Some deployment models are based on “stub VMs” to deal with hardware and keep the hypervisor mostly out of hardware handling
- In automotive, VMs can be as diverse as Android (IVI, Automotive Grade Linux (e-cockpit), Apertis (ADAS)
- Guaranteed performance of IO is a critical enabler in any use case
- VMM / “safeOS” on cortex-A
- VMM / “safeOS” on cortex-M
- Virtio backends
- in the hypervisor
- in a stub domain
- n “primary” VM (mobile)
The conclusions of member discussions related to the above topics are:
- Mobile and automotive share in common a need to resolve several missing abstractions such as clocks, RPMB, FM radio…
- There are gaps in interfaces between VMs and hypervisor to deal with guaranteed IO performance
- Commercial offerings will dominate the market. Yet, there is a need to define clear interfaces so that there is no coupling between VM, hypervisor, hardware, VMM architecture.
Project Stratos is working towards developing hypervisor agnostic abstract devices leveraging virtio and extending hypervisor interfaces and standards to allow all architectures.
The four key areas of interest are
- High-performance Virtio interfaces
- Virtual Machine Monitors with a safety island
- Boot Orchestration
- Written Standards for the hypercalls