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

17
Iurii Mykhalskyi @ GlobalLogic

Upload: the-linux-foundation

Post on 12-Apr-2017

24 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

Iurii Mykhalskyi @ GlobalLogic

Page 2: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - 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

Page 3: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● 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

Page 4: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● 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….

Page 5: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

● Cons● Complexity● Basic development cost

● Future

Page 6: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

Page 7: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

● DomU – non-privileged domain

Page 8: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● DomD – privileged domain for hardware disaggregation and stability

Page 9: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

mode?

Page 10: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

Page 11: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

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

Page 12: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

• Complexity• Proprietary + Documentation• Lack of virtualization support

Page 13: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● Software context switch ● HW assisted virtualization

● Full HW accelerated virtualization

Page 14: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● 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) ?

Page 15: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● 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

Page 16: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic

● 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]

Page 17: Rootlinux17: Challenges with Xen Virtualization for Automotive (on arm platform) - Iurii mykhalskyi, GlobalLogic