- 21/01/2015: Smart Cars are the New Smart Phone
- 16/01/2015: Xen Hypervisor v4.5 is slimmer and timlier
- 14/01/205: published first automotive whitepaper
- 17/10/2014: Relevant LinuxCon EU Presentations - Integrating Linux and the Real-Time ERIKA OS Through the Xen Hypervisor
- 16/10/2014: Relevant Xen Project Developer Summit Videos - Porting FreeRTOS to Xen on the ARM Cortex A15, RT-Xen: Real-Time Virtualization in Xen, Xen and the Art of Certification and Xen on ARM: Status and Performance
- 07/10/2014: Created embedded-pv-devel@ mailing list
- 10/09/2014: EmbeddedComputing.com: Why your car should act more like your phone
- 18/08/2014: Linux.com: Xen Virtualization Takes On Automotive
- 18/08/2014, XenProject.org: Xen Project launches Embedded and Automotive Initiative
- 29/07/2014, XenProject.org: The community votes in favour of the sub-project
- 1/07/2014, XenProject.org: The first draft of the embedded and automotive PV Driver project was opened for community review, centred around an initial contribution by GlobalLogic for a QNX and Android base-port for automotive use-cases
- 25/10/2013, Xen Project Developer Summit: The idea of an initiative to foster the creation of an embedded/automotive/mobile initiative within the Xen Project was first discussed
What are we trying to achieve?
The Embedded and Automotive team within the Xen Project intends to build a platform around the Xen Project Hypervisor that enables the use of the Xen Project Hypervisor for non-data center use cases (automotive, internet TV, mobile and other embedded use cases) by providing a community focal-point within the Xen Project community as well as within the wider open source community. The team plans to
- develop and upstream necessary changes to the Xen Project Hypervisor and Linux
- to implement new drivers (such as GPU, HID, and other drivers needed for non-data center use cases), protocols, capabilities and functionality that are needed for a complete automotive/embedded/mobile virtualization stack
- upstream all necessary changes to support such functionality in operating systems that are needed for these use-cases (e.g. Android, Linux, etc.)
However, the team recognises that there may not always be a natural upstream for some of the code developed (e.g. for a QNX base-port for the Xen Project Hypervisor). The project team will own and maintain additional code repositories to develop and host a complete platform. The project may also maintain development repositories for experimental code, where it is too early to upstream.
Why Xen Project in Embedded and Automotive?
The Xen Project Hypervisor is uniquely placed to support a new range of use-cases, building on top of 11 years of usage within the data centre. In particular, it's isolation and security features, flexible virtualization mode and architecture, driver disaggregation and ARM support (only 90K lines of code) make it a perfect fit for embedded applications.
In 2013 and 2014, significant progress has been made in areas that are important for embedded use-cases. For example:
- Experimental PV ARM support on Nvidia by Samsung (2013)
- Interrupts and IOMEM mapping to DomU to support driver domains by GlobalLogic (2014)
- Development of rich PV drivers for HID, Audio, GPU, framebuffer, etc. by GlobalLogic (2013-14)
- Ongoing improvements to realtime scheduling by DornerWorks and the University of Washington (ongoing, see RTDS scheduler in Xen 4.5)
- Ongoing developments of a QNX baseport by GlobalLogic and a FreeRTOS baseport by Galois (ongoing, see FreeRTOS 6.6.0 for Xen on ARM)
The following presentation and demo gives an overview of what can be expected in the relatively near future. It also covers some of the challenges that still need to be resolved:
Code will be upstreamed to projects under the license of respective upstream project. For code that is hosted by the subproject, e.g. for a QNX base-ports, an appropriate OSI approved license will be used. For PV drivers contributed to the Linux kernel or for Linux user space drivers hosted by the subproject a dual-use license will be used to enable easy sharing of driver code with FreeBSD and other open source operating systems.