Xen on ARM with virtualisation extensions progress.

There’s been a lot of good progress in the Xen on ARM with virtualisation extensions port since I first blogged about it here.
Thanks to some recent work, mainly by Stefano Stabellini, we are now able to start our first guest domain, including paravirtual console disk and network devices!
The main implementation work here has been to implement support for the core pieces of infrastructure will underpins the PV drivers, primarily that is event channels and grant tables all of which Stefano has implemented recently. One of our key design goals with this port of Xen was to make good use of the hardware virtualisation extensions, and at the same time implement paravirtualisation where it offers obvious benefits. For example we wanted to use paravirtualised device drivers for I/O as they provide significant performance benefits compared to emulated devices.
Sadly this has come too late for the 4.2 release (which has been frozen for a while and is now in the release candidate stage). Therefore I have created a git branch of Xen to track the ARM patches which are destined for 4.3. You can find it on xenbits and read more in the announcement mail.
The port remains very much a work in progress, and in particular we have not yet settled on a final ABI (and therefore offer no forward or backward compatibility for guest kernels). Our aim is to target initial support for Xen on ARM systems with virtualisation extensions at the 4.3 release.
The Linux patches have been posted upstream but are also still a work in progress so at the moment there is no particular convenient place to get them all. I’ve pushed the tree which I am using to the arm-wip branch of my kernel tree on xenbits, this tree is compatible with the Xen tree published above.
I’ve also pushed the lightweight xcbuild tool which we are using to a branch on xenbits. This is a simple tool which will build a basic guest. It expects to be given a zImage format kernel with an appended DTB as the first and only argument and a guest root filesystem already available on /dev/loop0. A suitable kernel should be built using the kernel’s CONFIG_ARM_APPENDED_DTB option and the vexpress-virt.dtb present in the kernel tree by concatenating the two together. For example:

cat zImage vexpress-virt.dtb > kernel

losetup /dev/loop0 domU.img

xcbuild kernel


Obviously this is just a stop gap until we get the standard Xen toolstack up and running on ARM. A reasonable option for domU.img is the armv5t_min_VE_V7.image from the Third Party IP supplied by ARM, although any ARM root filesystem should do.
We’ve come a long way with this port in the last six months and we seem to be well on track to have a useful and functional port in time for 4.3 (I sure hope those words don’t come back to haunt me!). Obviously there is still plenty of stuff to do so if you’re interested in development of this port then be sure to try it and join us on xen-devel.

Read more

Welcome Honda to the Xen Project Board
12/09/2024

We're excited to announce our newest Advisory Board Member Honda, to Xen Project. Since its foundation, Honda has been committed to "creating a society that is useful to people" by utilizing its technologies and ideas. Honda also focuses on environmental responsiveness and traffic safety, and continue

Say hello to our new website
12/05/2024

Hello Xen Community, You may have noticed something different... We've refreshed our existing website! Why did we do this? Well, all these new changes are part of an ongoing effort to increase our visibility and make it easier to find information on pages. We know how important it

Xen Project Announces Performance and Security Advancements with Release of 4.19
08/05/2024

New release marks significant enhancements in performance, security, and versatility across various architectures.  SAN FRANCISCO – July 31st, 2024 – The Xen Project, an open source project under the Linux Foundation, is proud to announce the release of Xen Project 4.19. This release marks a significant milestone in enhancing performance, security,

Upcoming Closure of Xen Project Colo Facility
07/10/2024

Dear Xen Community, We regret to inform you that the Xen Project is currently experiencing unexpected changes due to the sudden shutdown of our colocated (colo) data center facility by Synoptek. This incident is beyond our control and will impact the continuity of OSSTest (the gating Xen Project CI loop)