1 个不稳定版本
0.1.0 | 2023年7月24日 |
---|
1134 在 硬件支持
55 每月下载量
80KB
2K SLoC
vhost-device-i2c - I2C仿真后端守护进程
描述
此程序是一个vhost-user后端,用于仿真VirtIO I2C总线。当虚拟机操作系统请求I2C或SMBUS设备时,程序将使用/dev/i2c-X接口与主机操作系统上的i2c总线及其设备的布局进行通信。
此程序已与QEMU的-device vhost-user-i2c-pci
进行测试,但应与支持vhost-user的任何虚拟机监控程序(VMM)兼容。请参阅下面的示例部分。
概要
vhost-device-i2c [选项]
选项
.. program:: vhost-device-i2c
.. option:: -h, --help
显示帮助。
.. option:: -s, --socket-path=PATH
vhost-user Unix域套接字的位置,此路径将附加0,1,2..socket_count-1。
.. option:: -c, --socket-count=INT
要附加的虚拟机(套接字)数量,默认设置为1。
.. option:: -l, --device-list=I2C-DEVICES
主机操作系统中的i2c设备列表,格式为:: <client_addr>[:<client_addr>],[:<client_addr>[:<client_addr>]]
Example: --device-list "i915 gmbus dpd:32:21,DPDDC-D:10:23"
在此处,bus-name: 是适配器的名称。例如,/sys/bus/i2c/devices/i2c-0/name的值。client_addr (十进制):客户端设备的地址,32 == 0x20。
示例
首先启动守护进程
::
主机# vhost-device-i2c --socket-path=vi2c.sock --socket-count=1 --device-list "i915 gmbus dpd:32"
QEMU调用需要创建一个chardev套接字,设备可以使用它进行通信,并通过memfd共享虚拟机内存。
::
主机# qemu-system
字符设备套接字,路径=vi2c.sock,id=vi2c
设备 vhost-user-i2c-pci,chardev=vi2c,id=i2c
-m 4096
-对象内存后端文件,id=mem,大小=4G,mem-path=/dev/shm,共享=开启
-numa 节点,memdev=mem
...
许可协议
本项目许可协议为以下之一
依赖
~6–8MB
~138K SLoC