Virtual machines are usually run on server or desktop PC to run several operating systems simultaneous. About 2 years ago, I wrote about an embedded hypervisor running Linux and Android on the Pandaboard develompent board, with the goal of separating home and enterprise operating systems in mobile devices so that enterprise data is safe. Since then, virtualization extensions are now part of ARM Cortex A15 / A7, and as well as the new Cortex A53 / A57 ARMv8 64-bit cores, but in my mind at least, those where mostly designed to address the server market. It turns out hypervisors are also useful in the automotive field, where for example, the dashboard and In-vehicle infotainment (IVI) systems runs in two separate virtual machines controlling two different displays from one processor.
Mentor Embedded showcased such automotive system at ARM Techcon 2013, where they showed a Freescale i.MX6 quad core board, which looks like Freescale SABRE Lite development board, running their embedded hypervisor with two virtual machines controlling the two displays (dashboard and IVI), and they showed how they could reboot the virtual machine controlling the IVI system without affecting the dashboard display.
- Type 1 (aka native, or bare metal) – Such hypervisor run directly on the host’s hardware, and have lower footprint, and better performance. Citrix XenServer and VMware ESX/ESXi are example of type 1 hypervisors.
- Type 2 (hosted) – Hypervisors that run on top of an operating-system environment such as Virtualbox or VMWare Workstation.
Kernel-based Virtual Machine (KVM) is somewhat between the two types, as it requires an OS (Linux or FreeBSD), but gives direct access to the hardware via kernel modules.
Mentor Embedded hypervisor is a small footprint Type 1 (bare metal) hypervisor, supports ARM TrustZone, and several operating systems including a Yocto based embedded Linux distribution, Android, the company’s GENIVI compliant Automotive Technology Platform, and Nucleus RTOS.
- Reduce test and debug times by consolidating multiple functions on a single multi-core compute platform
- Take advantage of symmetric and asymmetric multiprocessing, or combinations of both (AMP/SMP)
- Build secure, high-performance embedded systems at the highest privilege level in a system
- Use the ARM TrustZone secure system architecture and deliver both normal and secure operations, such as secure boot and secure PIN access, within a single embedded application
- Partition devices and memory to prevent unauthorized access to sensitive resources
I was hoping to get some numbers about data and code footprint, some estimation of the performance hit due the hypervisor, and currently supported ARM platforms, but I could not find any of that. Mentor Embedded hypervisor seems to be mainly focused on automotive applications.
If you want to find out more about applications currently using ARM hypervisors such as servers, automotive applications, and Android, you can check Xen ARM hypervisor page with links to some relevant presentations from Xen Project Developer Summit 2013.