rootlinux17: challenges with xen virtualization for automotive (on arm platform) - iurii mykhalskyi,...

Post on 12-Apr-2017

25 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Iurii Mykhalskyi @ GlobalLogic

● Virtualization in Automotive● Why Xen?● Dom0, DomU and other strange words● Xen vs Bootloaders● Xen vs Memory● Xen vs GPU● Xen vs PV Drivers● Xen vs Realtime OS● Useful Links

● Built-in car computers● For Entertainment

● Android based● Multicore CPU with 3-4 GB RAM● Multiple monitor

● For Cluster● Linux based● Weston with 60 fps rendering

● For Critical functions● Realtime OS● Very critical to stability & responsibility

● Why do we need virtualization there?● Platform A specs:

● 4 cores Cortex A57● 8 GB of RAM● Can/SPI/I2C/… buses● And this used just to show kitty in Android….

● Pros● Security and fault-confinement● Cheaper HW● Part-to-part system updating

● Cons● Complexity● Basic development cost

● Future

● Type 1 – bare metal hypervisor ● Opensourse● ARM support● Scalability● Various of OS supported● In active development● Stable● Good community● Relatively small codebase

● Dom0 – privileged domain, which can create/modify/etc other domains

● DomU – non-privileged domain

● DomD – privileged domain for hardware disaggregation and stability

● On ARM Xen runs in EL2 mode● Guests – EL1● How to leave secondary bootloader/U-boot in EL2

mode?

● Domain physical address != machine address● What about DMA in Domain D?● DMA in Domain U?

● No HW in any domain except Dom0● Map memory 1:1 for each gained chunk● Specify rambase in domain config● SMMU (IOMMU)

• Complexity• Proprietary + Documentation• Lack of virtualization support

● Software context switch ● HW assisted virtualization

● Full HW accelerated virtualization

● PV Drivers – special case of drivers that used to “share” real HW among few domains● Each domain has virtual GIC, virtual timer● Out of box – pvBLOCK, pvNET, pvPCI (x86), pvfb, pvSCSI, pvUSB● What about DRM?, sound?, touchscreen? remoteproc (codecs, etc) ?

● Default scheduler - Credit/Credit2 ● RTDS scheduler (soft realtime)● ARINC653 scheduler (Hard realtime, no multicore

CPU support)● No RT OS support as Domain 0 (except Linux with RT

patches)● Partial QNX support as Domain U

● Xen - https://www.xenproject.org/● Xen git - http://xenbits.xen.org/● Xen ARM wiki - https://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions

● Maillists - xen-devel@lists.xen.org

top related