Commit Graph

6 Commits

Author SHA1 Message Date
Benjamin Cabé
ee2b9a4e6d drivers: virtio: move virtio headers to zephyr/drivers
Virtio headers are moved to zephyr/drivers/ as they have no reason to be
top-level headers since virtio is a driver class.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-04 15:49:54 -05:00
Pieter De Gendt
bd4d65107d drivers: virtio: Place device APIs in linker sections
Use DEVICE_API macro to place driver API instances into a linker section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-27 10:09:32 -05:00
TOKITA Hiroshi
ef18ce4534 drivers: vertio: Move VIRTIO-MMIO register definitions to header
This change will allow the VIRTIO-MMIO register definitions
to be shared.

Additionally, the register names from Ver1 were being used,
even though the implementation was based on the Ver2 specification.
Also, I addressed this issue.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-18 07:40:02 +02:00
Jakub Michalski
c47cc3abda drivers: virtio: fix cleanup upon failure during virtqueues initialization
This commit fixes infinite loop reported in
https://github.com/zephyrproject-rtos/zephyr/issues/91242, not deallocating
array with virtqueues and not deactivating the virtqueues in case of
failure

Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2025-06-17 16:08:06 +02:00
TOKITA Hiroshi
3f7e8f498e drivers: virtio: add VIRTIO MMIO transport driver
Add virtio-mmio driver

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-07 15:39:06 +01:00
Jakub Michalski
c7107fc4d6 virtio: add API for VIRTIO devices and add VIRTIO PCI driver
This commit adds the API for accessing VIRTIO devices, and adds a driver
for a VIRTIO PCIE device based on the newly added API.

This commit is based on the Virtual I/O Device (VIRTIO) Version 1.3
specification:
https://docs.oasis-open.org/virtio/virtio/v1.3/csd01/virtio-v1.3-csd01.pdf

Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-06-02 17:37:07 +02:00