The idea is to pick specific virtualization topics, separately from the AVPS specification writing, and to do deep-dive investigations.
We did something similar with Graphics Virtualization a while back, where we had a series of sessions that invited experts in the graphics frameworks as well as hardware vendors speaking about their specific silicon technologies. This gave everyone involved a big boost in understanding of the area.
Brainstorm list:
(Next step is voting/prioritizing on these.)
Talk to your colleagues/experts in each area (not virtualization experts necessarily, but subject experts). Make them part of prioritization activity, have them tell us if they would like to attend a specific deep-dive on a topic.
= participant favorites so far
Blue = scheduling/planning started for these topics.
Hardware/virtual devices:
- Crypto / Security
- Trusted Execution Environments
- NXP accelerator blocks?
- Ethernet AvB / Time Sensitive Networking
- NXP accelerator blocks?
- Automotive networks, in particular CAN
- Accelerators
- Tensor-Processing Units
- Will be used for some safety critical features? Is it feasible to virtualize?
- DSPs (is that discussion done in AVPS or is there more?)
- Tensor-Processing Units
- Camera
- Next-gen PCI and future interconnects. Used for example for inter-chip communication and peripherals
- Graphics (again...)
Platforms and environments
- Google's Trout platform (likely subdivided into areas of interest)
- Virtualization for Microcontrollers / small cores, non-MMU
- Is it a misunderstood term? Simply isolating cores != traditional "full" virtualization...
- Real-time demands vs. virtualization?
- Note there are more than one CPU architecture here... different strategies?
Aspects of hypervisor implementation and software stack in general
- IPC and Inter-Chip Communication
- Communication between different guests or hardware parts. Does it affect the Virtual Platform or is it just run transparently on virtual socket?
- One specific use case is inter-cpu communication. Particularly in the case of converged SoCs, e.g. comms between app on RT and general purpose CPU.
- Are there standard choices? Are there many vendor-specific proposals, like IC-COM? (Is that an AUTOSAR standard?)
RPMSG → https://www.kernel.org/doc/html/latest/staging/rpmsg.html
NXP has some framework?
- Go through operating system kernel special needs for each popular OS choice.
- e.g. Is VIRTIO reasonably supported for RTOSes or other requirements?
- e.g. What is the impact of new RTOS initiatives, as well as migration of legacy code from dedicated hardware to a virtualized environment (because the hardware goes out of production or similar). Thread-X, AUTOSAR (OSEK), Zaphyr, FreeRTOS, Arm MBed, (and no-RTOS bare-metal VMs).
- Clock synchronization, real-time clock abstraction (probably a good topic for the AVPS)
- Discussed today for the purpose of synchronized logs... but are not there more reasons? E.g. systems that can do load-balancing, redundancy (offloading, transferring tasks), don't they need a common time?
- Timer paravirtualization
- CPU scheduling reporting HV<->VM, e.g. kernels do not get accurate information about system load. Steal time reporting. The time while a VM was not scheduled, even though it should run (= Steal time).
- A spec from Arm ("Arm para-virtualized time" DEN0057A ) covers how to report steal time.
- General topic: Needs for (easier, better) virtualization support in future SoCs.
- Still examples of how IP-block diversity and limitations causes issues (32 bit device in an otherwise 64-bit architecture)
- Is virtualization truly a top priority for SoC vendors?
- Agreed definition of virtualization. Non-MMU systems seem to use the term even if the implementation is rather hardware separation.
Analyzing virtual platform characteristics and general areas
- Real-timeish stuff
- What are the special considerations we need to work out to support real-time demands?
- Impacts from safety certification, ASIL?
- Look into Linaro presentation, Xen progress, etc. for some starting ideas. Also input from ELIZA project?
Proposals for invititations
OPTEE maintainer Renesas. OPTEE related topics - Volodomyr Babchuk
TSN - Torsten (Renesas)
IPC - Thomas (Renesas)
PCI - Stephen's Renesas colleague.
Harald (OpenSynergy) works on CAN Virtio
Someone on NXP for TEE and Networking?
Bernard (Arm) on various topics, including CCIX, CXL
Ask Linaro representatives