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 and within the wider open source community. Primary activities of the team are:

  • Develop and upstream necessary changes to the Xen Project Hypervisor and Linux
  • 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.)
  • Work with industry group and projects which are important for an automotive stack, such as AGL, Genivi, OP-TEE

A significant amount of work has been completed in this area since the team has started in 2014. Most work has occurred in Linux, Xen, and OP-TEE.

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 14 years of usage within the data center. In particular, it’s isolation and security features, flexible virtualization mode and architecture, driver disaggregation and ARM support (only 47K lines of code) make it a perfect fit for embedded applications. The following two presentations give a brief introduction.

Functional Safety

In 2018, the project started to execute on a plan to progress functional safety initially for automotive markets, but not limited to it. The project has partnered with Perforce using Perforce’s Helix QAC static code analysis solution to address MISRA C compliance issues. The following presentation gives an overview of the project’s safety certification plan and a status update as of the end of 2019.

Licenses

Code will be upstreamed to projects under the license of the 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.