Skip to content


Xen ARM in Linux!

Last weekend Linus Torvalds pulled the Xen on ARM patches in his Linux tree, so as of Saturday the 7th of October, we have Xen ARM in upstream Linux!

This makes Xen the first hypervisor supported by Linux on the ARM platform!

Working on ARM has been a very pleasant experience for me: the documentation of the hardware is well written and complete, the virtualization extensions are useful and fit our architecture very well, the ARM emulator comes with a nice debugger that helped me figure out some of the most difficult problems I had.

But beyond the hardware and the development tools, I was really impressed by how welcoming the Linux ARM Community has been to me: from the invite to the ARM session at the Kernel Summit, to the guidance through the upstreaming process and in general the feedback I received to my work. Nowadays, the Linux Community is usually perceived as not being friendly to newcomers, but it hasn’t certainly been the case for me! In particular I would like to thanks Arnd Bergmann, Marc Zyngier, and the Linaro folks. It has been great working with you. I would also like to thank Konrad Rzeszutek Wilk because he went out of his way to help me upstream my ARM work: I couldn’t have done it without him.

As the Xen on ARM patches were pulled by Linus, I was also appointed as Xen ARM maintainer in the Linux kernel. This is a new responsibility for me and I am not going to take it lightly. I am looking forward to work closely with Arnd, Russell, Konrad and the other Linux maintainers to make Linux the best operating system to run virtual machines and inside virtual machines on Xen on ARM!

What’s next

While Xen on ARM in Linux is certainly a major milestone, there are still a lot of things to do. Right now I am busy trying to run Xen on a Cortex A15 Versatile Express development platform while Ian Campbell already started the ARMv8 Xen port!
Stay tuned if you want to run Xen 64-bit on ARM.

See Also

If you are interested in the Xen on ARM project, you might want to read the slides of the presentation I gave at XenSummit 2012:


Be Sociable and Share!

Posted in Announcements.

Tagged with , , , .


10 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. AXenUser says

    Any chance of adding FreeBSD support for Xen as well? Its a shame that we have to use Linux just for xen.

  2. Stefano Stabellini says

    it is certainly possible (and probably not difficult) but it is not on our schedule at the moment

  3. jberryman says

    This sounds awesome, but do you have any links? How can I read more about it and know when it’s slated for release?

  4. Stefano Stabellini says

    We keep a page on the wiki with all the info about the project, but it is not always up to date:

    http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions

    If you are interested in the latest news, all the development and the discussions are going on the xen-devel mailing list:

    http://lists.xen.org/mailman/listinfo/xen-devel

    Just keep an eye out for emails with “arm” in the subject line. If you subscribe beware that you might receive about 50 messages per day :)

Continuing the Discussion

  1. Начало тестирования ядра Linux 3.7-rc1 | AllUNIX.ru — Всероссийский портал о UNIX-системах linked to this post on October 15, 2012

    [...] Поддержка механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15. Таким образом Xen стал первым гипервизором, поддерживаемым в Linux на платформе ARM. Представленный для интеграции в ядро код основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Особенностью реализации Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при этом всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов). [...]

  2. Релиз ядра Linux 3.7. Обзор новшеств | AllUNIX.ru — Всероссийский портал о UNIX-системах linked to this post on December 11, 2012

    [...] Поддержка механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15. Таким образом Xen стал первым гипервизором, поддерживаемым в Linux на платформе ARM. Представленный для интеграции в ядро код основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Особенностью реализации Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при этом всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов). [...]

  3. #root » Релиз ядра Linux 3.7. Обзор новшеств linked to this post on December 11, 2012

    [...] Поддержка механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15. Таким образом Xen стал первым гипервизором, поддерживаемым в Linux на платформе ARM. Представленный для интеграции в ядро код основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Особенностью реализации Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при этом всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов). [...]

  4. Релиз ядра Linux 3.7. Обзор новшеств | Интересное в сети linked to this post on December 11, 2012

    [...] Поддержка механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15. Таким образом Xen стал первым гипервизором, поддерживаемым в Linux на платформе ARM. Представленный для интеграции в ядро код основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Особенностью реализации Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при этом всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов). [...]

  5. Устанавливаем ядро Linux 3.7 в Ubuntu 12.04/12.10/Linux Mint 13/14 | PROUBUNTU linked to this post on December 12, 2012

    [...] поддержка механизмов виртуализации Xen для систем на базе [...]

  6. Релиз ядра Linux 3.7. Обзор новшеств « conon print linked to this post on December 13, 2012

    [...] Поддержка механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15. Таким образом Xen стал первым гипервизором, поддерживаемым в Linux на платформе ARM. Представленный для интеграции в ядро код основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Особенностью реализации Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при этом всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов). [...]

You must be logged in to post a comment.