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

Xen Project Announces Performance and Security Advancements with Release of 4.19
Aug 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
Jul 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)

Xen Summit Talks Now Live on YouTube!
Jun 18 2024

Hello Xen Community! We have some thrilling news to share with you all. The highly anticipated talks from this year’s Xen Summit are now live on YouTube! Whether you attended the summit in person or couldn’t make it this time, you can now access all the insightful presentations

Get ready for Xen Summit 2024!
May 24 2024

With less than 2 weeks to go, are you ready? The Xen Project is gearing up for a summit full of discussions, collaboration and innovation. If you haven’t already done so – get involved by submitting a design session topic. Don’t worry if you can’t attend in person,