This article is more than 1 year old
Xen hypervisor ported to ARM chips
Twice, in fact, and KVM in the works, too
The Mobile Virtual Platform (MVP) hypervisor that VMware sells for smartphones and fondleslabs running the Android variant of Linux on ARM RISC processors is getting some competition.
Intrepid techies are working away on two different implementations of the open source Xen hypervisor for ARM chips, and another group is putting together a KVM hypervisor port as well.
Unlike the MVP hypervisor, which is a type two or hosted virtualizer, these Xen and KVM hypervisors are type one or bare-metal hypervisors that will be appealing to server makers pondering the possibilities of ARM-based machines. VMware rebranded MVP, which it got through its acquisition of Trango three years ago, VMware Horizon Mobile back in August, but everyone still calls it MVP.
The software is being demonstrated on schizophones that have a primary personality running in the host Android environment and a guest phone personality in the guest Android image running inside MVP.
MVP is not open source, and while Trango started out creating a bare-metal hypervisor for ARM devices, VMware backed off to type two because it was too difficult to keep up with the rapid pace of change in the mobile chip market - in terms of certifying for new chips and other peripherals as they become available from the legions of phone makers. Such certifications would slow down product introductions and eat into profits; it is much easier to let Android itself talk to these new chips and devices and have MVP present the same old virtual machine to the hosted Android apps.
A few weeks ago, Stefano Stabellini, a senior software engineer from Citrix Systems, and compatriots Tim Deegan and Ian Campbell, started hacking together a proof-of-concept Xen hypervisor for ARM machines, and on Tuersday Stabellini announced on the Linux Kernel Mailing List that they have put together a Xen hypervisor port to ARM's Cortex-A15 reference chip. ARM Holdings, the company behind the ARM architecture, gave the Xen-on-ARM project an emulation board to do their development and testing.
"We started the work less than three months ago, but the port is already capable of booting a Linux 3.0 based virtual machine (dom0) up to a shell prompt on an ARM Architecture Envelope Model, configured to emulate an A15-based Versatile Express," Stabellini wrote. "Now we are looking forward to porting the tools and running multiple guests. The code requires virtualization, LPAE and GIC support and therefore it won't be able to run on anything older than a Cortex-A15."
Stabellini says that the plan is to support other chips that are compliant with the ARMv7 architecture and that the project is looking ahead to support Xen on the 64-bit ARMv8 architecture, the initial specs of which were announced last month.
He gave a shout out to the Xen ARM Project being championed by Samsung Electronics, which is led by Sang-bum Suh from the chip and electronics maker. The Samsung version of Xen for ARM supports ARMv5, ARMv6, and ARMv7 processors – the earlier ones not sporting the virtualization extensions in the ARMv7 chips.
The Samsung approach uses paravirtualization – operating systems know they are running atop fake hardware and they stop acting like pigs and let the hypervisor manage their requests – and that means the operating systems have to be tweaked to allow for the lying that goes on between the guests and the hypervisor in such approaches. Sometimes, you can just paravirtualize device drivers instead of a whole guest operating system, and this is exactly what the Xen on Linux project started by Stabellini has done, thus limiting the number of changes to the Linux operating system to run atop this Xen implementation.
MVP and Xen are not the only hypervisors coming to ARM. Techies at Columbia University have put together the KVM/ARM project. While the Columbia project is working on propping up KVM on ARM Cortex-A15 processors and making use of the virtualization extensions in the chip, they have slightly modified Linux 2.6.27 and Linux 2.6.29 kernels running KVM atop ARMv6 and ARMv7 chips. The work on the virtualization extensions and on supporting multicore ARM chips still has yet to be done, according to the projects page.
You can bet that if ARM servers suddenly look like they will be taking off that Red Hat and Canonical will kick in some help and move these Xen and KVM projects along. Server maker HP, which has launched the "Redstone" experimental server line using Calxeda's new quad-core EnergyCore ARM chips, might also help out. Dell has been playing around with ARM servers, too, and might help with the hypervisor efforts as well. ®