Donnerstag, 23. Mai 2013

Xen on ARM

by Stefano Stabellini (Citrix)

Thursday, 23.05.2013, New York III, 10:45-11:30 Uhr

During the last few months of 2011 the Xen Community started an effort to port Xen to ARMv7 with virtualization extensions, using the Cortex A15 processor as reference platform.

The new Xen port is exploiting this set of hardware capabilities to run guest VMs in the most efficient way possible while keeping the ARM specific changes to the hypervisor and the Linux kernel to a minimum. Developing the new port we took the chance to remove legacy concepts like PV or HVM guests and only support a single kind of guests that is comparable to "PVH" in the Xen X86 world.

Linux 3.7 was the first kernel release to run on Xen on ARM as Dom0 and DomU. Xen 4.3 is going to be the first hypervisor release (Q2 2013) to fully support ARMv7 with virtualization extensions.

From the start we tried to design the hypervisor interfaces in a way that would facilitate a future 64-bit ARM port. Notably all the hypercall ABIs have been created 64-bit safe. In January 2013 the first Xen 64-bit patch series was published, announcing Xen for ARMv8 to the world.

This talk will explain the reason behind the early design choices and it will evaluate whether they were proven successful or a failure. It will go through the main technical challenges that we had to solve in order to accomplish our goal and they ones that still lie ahead.


About the author Stefano Stabellini:

Stefano Stabellini is a Senior Software Engineer at Citrix, working on the Open Source Xen Platform team.
He has been working on Xen since 2007, focusing on several different projects, spanning from Qemu to Xen and the Linux kernel.
He co-created libxenlight in November 2009 and two years later started with Ian Campbell the Xen port to ARMv7 with virtualization extensions.
He currently maintains Xen support in Qemu, libxenlight, and Xen ARM in the Linux kernel.
Before joining Citrix he was a researcher at the Institute for Human and Machine Cognition, working on mobile ad hoc networks.