Date post: | 20-Aug-2015 |
Category: |
Automotive |
Upload: | the-linux-foundation |
View: | 2,241 times |
Download: | 3 times |
©2013 GlobalLogic Inc.
Xen in OSS based In-Vehicle
Infotainment Systems
Xen Project Developer Summit
October 25, 2013
2 CONFIDENTIAL
Artem Mygaiev
Leading of Embedded Practice in GlobalLogic-Ukraine
Embedded SW
Linux kernel
Wireless networking
E-mail: [email protected]
Skype: rosenkrantzguildenstern
3 CONFIDENTIAL
About GlobalLogic
− Technology services company
− Headquartered in Silicon Valley
− Design studios in the US and UK
− Engineering centers in the US, Ukraine,
India, Argentina, China
− 1000+ product releases
− 200 active clients
− 6,600 people
www.globallogic.com
4 CONFIDENTIAL
Case Study
Creating a single platform that would leverage AGA , GENIVI Linux, and Xen to allow quick implementation of end-to-end IVI products.
Creating and maintaining Automotive-Grade Android (AGA) distribution.
Nautilus Platform Goals
Xen is key component of the solution
6
Why virtualize?
“Ford Sync software today contains 10,000,000+ lines of code”
- John Ellis, Ford @ GENIVI All members meeting
New business models: overcome disconnect
between mobile and automotive industry
• Short time to market cycle
• Connected car concept
• 3rd party applications
• Cost reduction
D’OH, REBOOT!
When my phone software freezes
When my car software freezes
So what is critical, what is not?
Vehicle software
• Powered by highly reliable OS like QNX or Autosar (or Automotive Grade Linux?)
• Mission critical tasks – Interface to the vehicle systems
(CAN/MOST)
– Climate control, vehicle services, sensors
– Diagnostic, calibration, configuration
– Emergency services
– Driver assistance
– Cameras (driver, rear view, front view, etc.)
Infotainment software
• May be powered by not so reliable OS like Android or Windows
• User interface including speech recognition and TTS
• Connectivity services – Phone connection, Bluetooth
– Wireless display sink (Miracast, AirPlay, MirrorLink)
– Wireless hotspot
• Navigation
• Cloud applications
• Multimedia services – uPnP/DLNA
– A/V playback
– Radio (SXM, DAB, FM/AM)
11
Virtualization on ARM
User Mode
(Non-privileged)
Supervisor Mode
(Privileged)
Hyp Mode
(More Privileged)
Guest Operating System1
App2 App1
Guest Operating System2
App2 App1
Virtual Machine Monitor / Hypervisor
TrustZone Secure Monitor (Highest Privilege)
Secure Apps
Secure OS
Non-secure State Secure State
• Guest OS same kernel/user privilege structure
• HYP mode higher privilege than OS kernel level
• VMM controls wide range of OS accesses • 2 stage VMM
• Virtual Interrupt Controller
• System MMU
• Hardware maintains TZ security (4th privilege)
Why Xen?
• Type 1 Hypervisor
• Flexible Virtualization Modes
• Driver disaggregation
• ARM support
• Open Source
Why TI OMAP5/Jacinto6?
• Dual Cortex A15 SoC
• Rich interfaces and peripherals
• Mobile-world multimedia capabilities
• Ability to re-use Android solution from mobile
• GlobalLogic is a TI Platinum Partner
15
Made in GlobalLogic
Dual-domain System
(Android + Linux)
HVM with
SMMU-enabled
driver domain
SMC-firewalled
SoC controls
(MMUs, PM, …)
Xen in Nautilus: Key Principles
DOMU
IPC
System Services
UI with TTS and speech recognition
Phone BT NAV Cloud
Apps
Wireless
Display
sync
DLNA Multi
media Radio
DOM0
IPC
System Services
Vehicle Service
Climate Control,
Sensors, etc.
Diagnostics/
Calibration/
Configuration
Emergency
Services
Android
Xen
Linux
Infotainment Software Vehicle Software
18
.
− Dual M4 cores run SW accelerators
(boot animation, camera, AV codecs,
etc.)
− Most of interfaces (UART, I2C) can be
DMAed trough EDMA though
accessible trough SMMU
− PCI express is accessible trough
SMMU
− Some interfaces (USB, SATA, etc.)
have internal DMAs and must be
paravirtualized
− MPU, GFX, BB2D, IPUs, DSPs, EVEs
have own MMUs and can be
configured to work with driver domain
19
.
Xen tools
Vehicle SW
HMI
Android FWs
PM/TM logic
MMU controls GIC/GT/Mem
SMC SW
TrustZone DomU Dom0
Hyp
Peripherals
20
.
− Forked hypervisor from Xen 4.3 release
− OMAP5 is taken as a reference − Dom0 - OMAP LK 3.8 (stable)
− DomU - OMAP Android LK 3.4 (stable), Xen parameters delivered with
custom ATAGs, backported number of Xen support patches
− Peripherals are directly-accessed by DomU trough memory
mapping, which is completely insecure
− OMAP runtime pm disabled
− SMP is works for Dom0
− No kernel changes needed on Android side so far
− Full system integrated (IPU+Uboot+Xen+Linux+Android)
Implementation highlights
21
.
− Switch to the latest Xen 4.4-unstable − SWIOTLB
− SMMU (and other MMUs)
− Port to DRA7xx (Jacinto6) on HW availability − Switch Dom0 to OMAP LK 3.11
− Switch DomU to OMAP Android LK 3.8 (and enable SMP)
− Virtualize OMAP runtime pm − Probably move OMAP cpufreq to hypervisor?
− Drop 1:1 memory mapping for DomU − Fix virtual block device and implement other virtual devices (USB)
− Configure MMUs from hypervisor
− Configure SMC firewalls
Further steps
22
.
− Continue work on PM/TM making it more “generic”
− Review hypervisor and tools addressing boot time
− Use hard real-time scheduler (sEDF?)
− Test performance impact on Jacinto6
− Upstream…
− Certification
Open issues
23
Nautilus Case Study
24
Boot Timeline
display off static
image
time in
seconds
animation UI
transition
main UI view
Apps
start RVC ready IVI ready event
display
state
0.0 0.5 1.5 7.0
Rear View Camera
reverse gear foward gear selection
8.0
Roadmap
• Nautilus demo will be shown on CES 2014
running on TI J6
• Upstream Xen changes – until end of 2013
• Invite community to contribute Nautilus
plaform – next year
Bottomline
©2013 GlobalLogic Inc.
Artem Mygaiev
AVP – Delivery Management
www.globallogic.com
Thank you