1 个不稳定版本
0.1.0 | 2024年7月30日 |
---|
#42 在 硬件支持
126 每月下载量
105KB
2.5K SLoC
vhost-device-spi - SPI仿真后端守护进程
描述
此程序是一个vhost-user后端,模拟VirtIO SPI总线。当客户操作系统请求SPI设备时,该程序通过/dev/spidevX.Y
接口与主机操作系统上的spi总线及其设备进行通信。
概要
vhost-device-spi [OPTIONS]
选项
-h, --help
Print help.
-s, --socket-path=PATH
Location of vhost-user Unix domain sockets, this path will be suffixed with
0,1,2..socket_count-1.
-c, --socket-count=INT
Number of guests (sockets) to attach to, default set to 1.
-l, --device=SPI-DEVICES
Spi device full path at the host OS in the format:
/dev/spidevX.Y
Here,
X: is spi controller's bus number.
Y: is chip select index.
示例
依赖项
测试设备所需的依赖项包括
- Linux
- 集成 virtio-spi 驱动程序
- 设置
CONFIG_SPI_VIRTIO=y
- QEMU
- 集成vhost-user-spi QEMU设备
测试设备
首先在主机机器上启动守护进程:
```console
vhost-device-spi --socket-path=vspi.sock --socket-count=1 --device "/dev/spidev0.0"
```
QEMU调用需要创建一个chardev套接字,该套接字用于设备spi进行通信,并通过memfd共享客户机的内存。
```console
qemu-system-aarch64 -m 1G \
-chardev socket,path=/home/root/vspi.sock0,id=vspi \
-device vhost-user-spi-pci,chardev=vspi,id=spi \
-object memory-backend-file,id=mem,size=1G,mem-path=/dev/shm,share=on \
-numa node,memdev=mem \
...
```
许可证
此项目许可以下任一许可证
- Apache许可证,版本2.0
- BSD-3-Clause许可证
依赖项
~4MB
~73K SLoC