Device Virtualization

Device Virtualization

 

Purpose of the Activity

The ultimate goal is to define common device driver I/F for AGL so as to keep common SW stack above driver across different HWs, SoCs, Devices.
With ongoing standardization in the server and cloud industry around VirtIO, the de-facto standard VirtIO is considered to be the best candidate for a kernel-user space API (common device driver I/F) standardization in AGL.
This spreadsheet is to be used to prioritize selected device drivers for AGL.

Priority for AGL

https://docs.google.com/spreadsheets/d/1jpLNUBKz19LOdtGyqan5Wk4OgZFFxUNcSpMrFMPFCKI/edit#gid=1231808174

Device

VirtIO Device

Linux Kernel Version

OASIS Specification

Linux Kernel Device Subsystem

IC-EG Priority

IVI-EG Priority

Virt-EG Priority

V2C-EG Priority

RHSA-EG Priority

Total Score

AGL Overall Priority

Input Device (e.g. touch)

virtio-input

v4.0-rc4

v1.1

evdev (Input Subsystem)

9

1

2

8

3

32

1

Display (Video Display Controller)

virtio-gpu(2d)

v4.1-rc4 (2d)

v1.1

DRM & KMS -> opengl/vulkan

1



4



1

27

2

GPU

virtio-gpu(3d)

v4.3-rc5 (3d)

v1.2

DRM & KMS -> opengl/vulkan

1



4



2

26

3

CAN bus

virtio-can

-

Spec RFC in virtio-comment ML

socket CAN

9



6

1

8

20

4

Block Device

virtio-blk

v2.6.23

v1.0

block subsystem (/dev/block)

1

2







19

5

Audio (microphone & speaker)

virtio-snd

v5.13

v1.2

ALSA

4



1



10

18

6

Ethernet

virtio-net

v2.6.23

v1.0

network subsystem

9

6



5

7

17

7

Bluetooth

virtio-bluetooth

-

-

Bluetooth subsystem (vitrio-bt has HCI IF)





7



6

9

8

SPI

virtio-console

v.2.6.23

v1.0

SPI subsystem

9

5







8

9

Serial console

virtio-console

v.2.6.23

v1.0

tty/serial interface



3







8

9

SCMI (Sensors, Clocks/Regulators, Performace ...)

virtio-scmi

Upstreamed but under review (RFC v2)

v1.2

no specific interface to userspace at the moment (maybe can linked to industrial IO)





3

4



15

9

Reference Doc

Device Specific Page