Haixu Cui
6ab7b84fc2
virtio-spi: Add vhost-user-spi device support
This patch introduces support for vhost-user-spi and vhost-user-spi-pci
devices in QEMU, enabling virtio-based SPI communication via the vhost-user
protocol.
The implementation follows the virtio-spi specification and leverages
the upstream virtio-spi driver in Linux. Relevant references:
- Virtio SPI specification:
https://github.com/oasis-tcs/virtio-spec/tree/master/device-types/spi
- Linux virtio-spi driver:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/spi/spi-virtio.c?h=v6.18-rc3
- vhost-user-spi daemon:
https://github.com/rust-vmm/vhost-device/tree/main/vhost-device-spi
Example usage with rust-vmm vhost-user-spi daemon:
Start the vhost-user-spi daemon:
vhost-device-spi --socket-path=vspi.sock --socket-count=1 \
--device "/dev/spidev0.0"
Launch QEMU with:
qemu-system-aarch64 -m 1G \
-chardev socket,path=/home/root/vspi.sock0,id=vspi \
-device vhost-user-spi-device,chardev=vspi,id=spi \
-object memory-backend-file,id=mem,size=1G,mem-path=/dev/shm,share=on \
-numa node,memdev=mem
Signed-off-by: Haixu Cui <quic_haixcui@quicinc.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251216032122.1316684-3-quic_haixcui@quicinc.com>
2026-02-05 05:06:46 -05:00
..
2026-01-29 13:42:29 +00:00
2026-02-05 05:06:46 -05:00
2025-07-12 15:28:21 +02:00
2025-03-21 11:31:56 +08:00
2025-10-30 13:40:38 +05:30
2026-01-09 15:13:53 +10:00
2024-11-18 10:54:42 +01:00
2024-11-18 10:54:42 +01:00
2025-05-28 19:35:55 +02:00
2024-10-29 15:04:46 +00:00
2024-02-09 12:48:11 +00:00
2025-12-27 10:11:12 +01:00
2025-11-05 09:26:27 +01:00
2026-01-23 14:08:57 +00:00
2025-05-09 23:49:26 +03:00
2026-01-15 15:26:30 +00:00
2026-01-22 11:23:31 +00:00
2025-07-12 15:28:21 +02:00
2025-07-14 11:42:49 +01:00
2025-07-12 15:28:21 +02:00
2025-10-09 09:48:31 +02:00
2025-10-28 16:49:34 +03:00
2025-07-14 11:42:49 +01:00
2025-07-14 11:42:49 +01:00
2025-05-06 15:02:34 +01:00
2026-01-22 11:23:31 +00:00
2025-10-31 16:26:44 +00:00
2025-10-28 16:51:09 +03:00
2025-07-11 13:27:41 +01:00
2024-06-08 10:33:38 +02:00
2025-07-13 12:08:07 +03:00
2025-03-21 11:31:56 +08:00
2025-09-02 17:57:05 +02:00
2024-03-13 02:47:04 +10:00
2026-01-09 15:13:53 +10:00
2024-05-05 21:02:48 +01:00
2025-03-21 11:31:56 +08:00
2025-11-03 10:45:55 +00:00
2025-07-14 11:42:49 +01:00
2026-01-23 14:08:57 +00:00