Upload
the-linux-foundation
View
20
Download
2
Embed Size (px)
Citation preview
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 - [email protected]