...
View file | ||||
---|---|---|---|---|
|
Evaluation Process
For each topic:
- Discuss and write down the automotive requirements
- Read VIRTIO chapter
- Decide if VIRTIO is appropriate and complete for requirements (Gap Analysis)
- Write down what the industry needs to do to close the gap
Consider topics not yet listed (e.g. unique automotive requirements)
Virtual Device Categories
The key challenge for defining a shared virtual platform definition is to first identify the various device driver types such a platform must provide, and to evaluate if existing work so far (e.g. VIRTIO) covers what the automotive industry needs:
(Virtual) Device | Explanation | Champion | Completeness / Applicability evaluation
| Comments and discussion |
---|---|---|---|---|
Block Storage | Flash/Disk/persistent storage | Kai | ||
Network | Access to (shared) physical ethernet and guest-to-guest communication | Nikola | ||
Console | Text terminal input | Gunnar | ||
crypto | Access to cryptographic services (hardware accelerated) | |||
GPU | Graphics hardware | |||
Input | Traditionally keyboard/mouse/etc - for automotive = expanded? | |||
vsock | Communication between guest (VM) and host (hypervisor) | |||
9pfs | 9P = protocol to expose host (hypervisor) file systems to the guest. FS=filesystem. | Gunnar | ||
vIOMMU | IOMMU coordinates of DMA devices' | |||
Audio | ||||
Sensors | ...examples | |||
Media Acceleration (VPUP, IPU, CODEC) | ...explain this | |||
USB | Franz | |||
Other Serial devices? (Where does LIN, etc. fit in?) | ||||
CAN | ||||
Ethernet (AVB) | Nikola |
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.
2 Basic Facilities of a Virtio Device
2.4 Virtqueues
3.1 Device Initialization
3.2 Device Operation
3.3 Device Cleanup
4 Virtio Transport Options
4.1 Virtio Over PCI Bus
4.2 Virtio Over MMIO
4.3 Virtio Over Channel I/O
5 Device Types
5.1 Network Device
5.2 Block Device
5.3 Console Device
5.4 Entropy Device
5.5 Traditional Memory Balloon Device
5.6 SCSI Host Device
7 Conformance
7.2 Driver Conformance
7.3 Device Conformance
7.4 Legacy Interface: Transitional Device and Transitional Driver Conformance
B Creating New Device Types