Hypervisors are becoming more and more widespread in embedded environments, from automotive to medical and avionics. Their use case is different from traditional server and desktop virtualization, and so are their requirements. This talk will explain why hypervisors are used in embedded, and the unique challenges posed by these environments to virtualization technologies.
Xen, a popular open source hypervisor, was born to virtualize x86 Linux systems for the data center. It is now the leading open source hypervisor for ARM embedded platforms. The presentation will show how the ARM port of Xen differs from its x86 counterpart. It will go through the fundamental design decisions that made Xen a good choice for ARM embedded virtualization. The talk will explain the implementation of key features such as device assignment and interrupt virtualization.
10. Embedded != Cloud
Different requirements:
• short boot times
• small footprint
• small codebase (certifications)
• non-PCI device assignment
• driver domains
• low, deterministic irq latency
• real time schedulers
• co-processor virtualization
11. Xen on ARM
• A lean and simple architecture
– No cruft
– No emulation, No QEMU
– Small attack surface
– One type of guest
• Exploit the hardware as much as possible
• A very good match for the hardware
• Clean architecture = a very small code base
– Xen, ARM and ARM64 =~ 30K LOC
28. Xen: best security process in the industry
• A very transparent process
• Responsible disclosure
• Few security issues for Xen on ARM
• Xen stable trees maintained for security for 3 years
29. Release process
• 6 month release
– December
– June
• Xen 4.8 released on the 5th of December 2016
• Xen 4.9 planned for the 2nd of June 2017
30. Xen on ARM: what’s next
● Guest creation directly from Xen at boot via Device Tree
● Dynamic Memory Map
● Setup VM-to-VM communication channels from VM
config
31. More resources
• Port Xen to a new SOC: https://goo.gl/384aD8
• Add Xen support Xen to your OS: https://goo.gl/3qgqcM
• Xen on ARM whitepaper: https://goo.gl/TcuqXd
• Xen on ARM wiki: https://goo.gl/9qsfMf
• Device Passthrough presentation: https://goo.gl/KM0f8c
• OE meta-virtualization Xen recipe:
https://goo.gl/m7GuXR
• OpenXT (Xen + OpenEmbedded): http://openxt.org
• Biweekly ARM Community Call: https://goo.gl/8ULYRn
32. Please engage!
• Xen devel ML: xen-devel@lists.xenproject.org
• Xen user ML: xen-users@lists.xenproject.org
• IRC on freenode: #xenarm or #xen-devel