Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(Virtual) DeviceExplanation

Champion
+ interested people

Completeness / Applicability evaluation

(tick) (warning) (error)

Comments and discussion
Block StorageFlash/Disk/persistent storage

Kai



Network

Access to (shared) physical ethernet

and guest-to-guest communication

Nikola

ConsoleText terminal inputGunnar

cryptoAccess to cryptographic services
(hardware accelerated)
Sang-bum

GPUGraphics hardwareMatti/Dmitry

InputTraditionally keyboard/mouse/etc
- for automotive = expanded?
Matti

vsockCommunication between guest (VM)
and host (hypervisor)



9pfs9P = protocol to expose host (hypervisor)
file systems to the guest. FS=filesystem.
Gunnar

vIOMMU

IOMMU coordinates of DMA devices'
connection to memory.




Audio
Matti

Sensors

Automotive sensors:

Automotive sensors? Radar/LiDAR/? (or are they separate ECUs?)

Standard embedded sensor (ambient light...)

Some OS have requirements - eg. Android requires orientation sensor.

examples



Media Acceleration (VPUP, IPU, CODEC)Hardware support for codec/processing
Abstraction of SoC specifics
DSPs
Tensor processors
VPU = "AI" CPU optimized for visual recognition...explain this


USB
Franz

Other Serial devices?

(Where does LIN, etc. fit in?)





CANFranz

please check here in GITHub:
https://github.com/ork/virtio-can: VIRTIO-based CAN driver

Ethernet (incl. AvB/TSNAVB)
NikolaBluetooth

Sang-bum

+OpenSynergy with BT experience
Is it possible? Needed?Memory Balloon DeviceApplicable?


VIRTIO-defined devices

The VIRTIO 1.0 specification is organized a bit differently, and more generic than our detailed list above.  Here is a much abbreviated table of contents for VIRTIO 1.0, just to give an overview on the most important parts.  Consider, especially, the limited types of devices.  All defined devices are under these categories only for the 1.0 version.

...

B Creating New Device TypesCriteria:

- Availability?
- Is it accepted in VIRTIO?
- Is there a proposal for standard (specification)?
- Is it a de-facto standard?
- Implementation status
- In QEMU/Linux kernel?
- FOSSS in a GitHub Repo
- Commercial/closed-source implementation
- Number of implementations?
-
- Complexity estimation?
-- e.g. CAN Device class, vs GPU (need to consider large User-space
library, complex HALs,
-
- Performance?
-- mostly implementation dependent
- Code Maturity?
-- implementation dependent

Importance for automotive use-case
- n
- Mainly applicable for all-use cases or for a specialized use-case