Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 13

...

(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...

examples

)

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


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





CANplease
Franz check here in GITHub:
https://github.com/ork/

virtio-can: VIRTIO-based CAN driver



Ethernet (AVBincl. AvB/TSN)
Nikola

Bluetooth

Sang-bum

+OpenSynergy with BT experience

Is it possible? Needed?
Memory Balloon Device

Applicable?


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 Types



Criteria:

- 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