Purpose and Rationale
The Hypervisor Project is producing a common open licensed Automotive Standard Virtual Platform specification based on VIRTIO, and other standards.
On the more general scope, the project investigates the wide scope of open- source and commercial hypervisor technologies, and addresses challenges in their use.
Through collaboration between all vendors, experts and adopters of virtualization technology we can lower the barriers to successful product development.
The project primarily drives requirements, standardization for Hypervisor APIs, and other types of investigations to facilitate ECU consolidation, price reduction, and management of mixed-criticality in systems for improved security and functional safety.
There are three primary work streams currently in development:
Virtual Device API standardization, leading to the definition of the Automotive standard Virtual Platform
collecting and driving requirements for a standard platform based on VIRTIO, SCMI, and other existing standards.
- Multi-OS system design on Multi-Core SoCs (with/without virtualisation)
- Investigate and recommend electrical/software architecture for automotive use-cases, when deployed using virtual-machine technologies.
Every Monday, 10:00 AM CET
- Working towards V2 release including updates in Graphics, IOMMU, Media/cameras and other.
- MCU virtualization (Renesas offered to give more information)
- eAVB/TSN (consider what use cases impact HV, perhaps master control of network, and what AVB/TSN features support guest seperation) [added after discussion in 22/2/21 call)
- AVPS v2 work --> JIRA tickets
- Media & Cameras - finalize discussion?
- Follow up on IOMMU discussion from 2 weeks ago.
- A few other topics that need update
- Check progress on whitepaper
- Work on next release of platform definition
- Look at active sprint & backlog of HV tracker
- Review / check consensus on USB chapter of specification + other minor edits (Artem to come back with new info)
- AI/Tensor processing, on GPU or other dedicated hardware
- Deep-dive Memory Buffer sharing (GPU) - invite Eugen Friedrich
- Update Milestones, deliverables, and workplan.
- (started, needs input again) Use-cases, architectures and requirements workstream
- Some was added to the AGL publication on virtualization after our most recent review. Re-review, to identify useful/reusable parts. Links at the bottom.
Zoom Meeting details:
Meeting Minutes (← use link)
- Automotive World / GENIVI Webinar: Hypervisors in the vehicle: A standards-based approach to virtualization
by Tero Salminen, Senior Director Product: Virtualization, at OpenSynergy, and GENIVI Technical Lead Gunnar Andersson.
- Linux Plumbers Conference, 2020
– Android Microconference : Android Automotive OS virtualization (Cuttlefish->Trout) – and related: Memory protection in KVM for Android,
– Android BoF: Virtualization discussion
- Platform Security Summit May 23-24, 2018 - had several hypervisor related presentations – Youtube, (website)
Related publications and input
- Report (transcript) from Automotive World Webinar, 13 February 2020
- White paper from Mentor found under this link..
Samsung Resarch - Automotive Virtualization, presented at Xen Summit 2018.
- VIRTIO v1.0 specification
- VIRTIO 1.1 specification (and newer git master)
- The AGL software defined connected car architecture (a.k.a "AGL virtualization paper")
- PDF (snapshot May 2018) ^^^ NOTE that is an older snapshot of a living paper, (Google Docs edit location).
- Paper analysis/summary written by Nikola Velinov with intro paragraph by Gunnar Andersson – based on May 2018 snapshot.
- UPDATE:→ Study this latest published version (June 2018) from AGL publication page
Ward's Auto online magazine – GENIVI article: A Better Managed Approach to Virtualization in Automotive
Mailing list & Contribution
- Discussion should use the general genivi-projects mailing list. Start the subject line using: [HVWS]
- The Wiki is an open public collaboration area. Please contribute/improve it as needed. Improve text, add relate info, links, references!
To edit the Wiki, log in or request an account.
- Any other process question? - you can contact the acting project lead: Gunnar Andersson
Upcoming Events / F2F
F2F Meetings (completed)
- Dates: 24-25 September 2019 (Tuesday, Wednesday)
- Location: Opensynergy, Berlin, Germany
- Agenda: Hypervisor Project F2F meeting 20190924-25
Bangalore Technical Summit Agenda (2018 October)
Munich AMM Workshop Agenda (2018 April)
Original topic-list (possible focus areas)
- APIs for security: Mandatory Access Control features (in virtualization environments, that is)
- VM management tool
- Instrumentation & tools
- Safety compliance: ISO26262
- Security compliance: Common Criteria, EAL
- System design to optimize Boot Time,
- Boot requirements, e.g. secure boot, integrity check,
- Agree on Terms / Nomenclature
Done / skipped / no longer on backlog
Reactions to Samsung presentation
- Reference implementation: Should be based on which hypervisor(s)?
- → Answer: All are welcome. The companies that do the development will in practice affect the choice(s).
Project Pages summary
Virtual Device standardization, a.k.a. Automotive Virtual Platform definition
Define common I/O devices for hypervisor guests with standardized features and interface, such that device drivers (and as a consequences systems, virtual-machines) become more portable.
- Device drivers (for paravirtualization) for the (Linux*) kernel don't need to be maintained uniquely for different hypervisors
- Ability to move hypervisor guests between different hypervisor environments
- Definite potential for shared experience and getting the right functionality into the APIs.
- Heterogeneous cross-system testing will strengthen specs and implementation.
- Some potential for shared device driver implementation across hypervisors (dependent on licenses - open-source, closed-source)
*virtio also supported by BSD, Windows, Fuchsia, and others
Extending this: Standardizing a contract/standard between guest and hypervisor. Compare the OCI initiatives for containers. Container runtimes → can we have standardized "hypervisor runtime environment" that allows a standards compliant virtual (guest) machine to run.
- Hypervisors can fulfil the specification (with local optimizations / advantages)
- Similarly, this specification is what guests can be engineered to.
Compare: Linux Device Tree – ability to discover and configure devices.
( ^^ includes links to many topic presentations by the participants)