1 个不稳定版本

0.1.0 2023年7月24日

#145模拟器

Download history 9/week @ 2024-03-11 32/week @ 2024-04-01 8/week @ 2024-04-08 10/week @ 2024-04-15 5/week @ 2024-04-22 1/week @ 2024-05-06 7/week @ 2024-05-13 16/week @ 2024-05-27 17/week @ 2024-06-03 10/week @ 2024-06-10 14/week @ 2024-06-17 16/week @ 2024-06-24

57 每月下载次数

Apache-2.0 OR BSD-3-Clause

91KB
2K SLoC

设备虚拟主机-gpio - GPIO模拟后端守护进程

描述

此程序是一个vhost-user后端,模拟了一个VirtIO GPIO设备。当客机操作系统请求GPIO设备时,此程序会通过/dev/gpiochip{X}接口与主机操作系统上的GPIO设备通信。

此程序已与QEMU的-device vhost-user-gpio-pci进行测试,但应与支持vhost-user的任何虚拟机监视器(VMM)一起工作。请参阅下面的示例部分。

概要

设备虚拟主机-gpio [选项]

选项

.. program:: 设备虚拟主机-gpio

.. 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=GPIO-DEVICES

主机操作系统中的GPIO设备列表,格式为:[:]

  Example: --device-list "2:4:7"

在此处,每个GPIO设备对应一个单独的客机实例,即设备列表中的设备数量必须与--socket-count中的套接字数量相匹配。例如,GPIO设备0将被分配给具有"0"路径的客机。

示例

首先启动守护进程

::

主机# 设备虚拟主机-gpio --socket-path=gpio.sock --socket-count=1 --device-list 0:3

QEMU 的调用需要创建一个字符设备套接字,该设备可以使用它进行通信,并通过 memfd 共享虚拟机的内存。

::

主机# qemu-system
-chardev socket,path=vgpio.sock,id=vgpio
-device vhost-user-gpio-pci,chardev=vgpio,id=gpio
-m 4096
-object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on
-numa node,memdev=mem
...

许可证

本项目许可协议为以下之一:

依赖关系

~6-8MB
~141K SLoC