Bumps the vhost-device group with 6 updates: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.4.14` | `4.4.16` | | [vhost-user-backend](https://github.com/rust-vmm/vhost) | `0.12.0` | `0.13.0` | | [rustix](https://github.com/bytecodealliance/rustix) | `0.38.28` | `0.38.30` | | [smallvec](https://github.com/servo/rust-smallvec) | `1.11.2` | `1.12.0` | | [termcolor](https://github.com/BurntSushi/termcolor) | `1.4.0` | `1.4.1` | | [winnow](https://github.com/winnow-rs/winnow) | `0.5.33` | `0.5.34` | Updates `clap` from 4.4.14 to 4.4.16 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.16) Updates `vhost-user-backend` from 0.12.0 to 0.13.0 - [Release notes](https://github.com/rust-vmm/vhost/releases) - [Commits](https://github.com/rust-vmm/vhost/compare/vhost-user-backend-v0.12.0...vhost-user-backend-v0.13.0) Updates `rustix` from 0.38.28 to 0.38.30 - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.28...v0.38.30) Updates `smallvec` from 1.11.2 to 1.12.0 - [Release notes](https://github.com/servo/rust-smallvec/releases) - [Commits](https://github.com/servo/rust-smallvec/compare/v1.11.2...v1.12.0) Updates `termcolor` from 1.4.0 to 1.4.1 - [Commits](https://github.com/BurntSushi/termcolor/compare/1.4.0...1.4.1) Updates `winnow` from 0.5.33 to 0.5.34 - [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md) - [Commits](https://github.com/winnow-rs/winnow/compare/v0.5.33...v0.5.34) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch dependency-group: vhost-device - dependency-name: vhost-user-backend dependency-type: direct:production update-type: version-update:semver-minor dependency-group: vhost-device - dependency-name: rustix dependency-type: indirect update-type: version-update:semver-patch dependency-group: vhost-device - dependency-name: smallvec dependency-type: indirect update-type: version-update:semver-minor dependency-group: vhost-device - dependency-name: termcolor dependency-type: indirect update-type: version-update:semver-patch dependency-group: vhost-device - dependency-name: winnow dependency-type: indirect update-type: version-update:semver-patch dependency-group: vhost-device ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-BSD-3-Clause | ||
| README.md | ||
vhost-device-i2c - I2C emulation backend daemon
Description
This program is a vhost-user backend that emulates a VirtIO I2C bus. This program takes the layout of the i2c bus and its devices on the host OS and then talks to them via the /dev/i2c-X interface when a request comes from the guest OS for an I2C or SMBUS device.
This program is tested with QEMU's -device vhost-user-i2c-pci but should
work with any virtual machine monitor (VMM) that supports vhost-user. See the
Examples section below.
Synopsis
vhost-device-i2c [OPTIONS]
Options
.. program:: vhost-device-i2c
.. option:: -h, --help
Print help.
.. option:: -s, --socket-path=PATH
Location of vhost-user Unix domain sockets, this path will be suffixed with 0,1,2..socket_count-1.
.. option:: -c, --socket-count=INT
Number of guests (sockets) to attach to, default set to 1.
.. option:: -l, --device-list=I2C-DEVICES
I2c device list at the host OS in the format: :<client_addr>[:<client_addr>],[:<client_addr>[:<client_addr>]]
Example: --device-list "i915 gmbus dpd:32:21,DPDDC-D:10:23"
Here, bus-name: is adatper's name. e.g. value of /sys/bus/i2c/devices/i2c-0/name. client_addr (decimal): address for client device, 32 == 0x20.
Examples
The daemon should be started first:
::
host# vhost-device-i2c --socket-path=vi2c.sock --socket-count=1 --device-list "i915 gmbus dpd:32"
The QEMU invocation needs to create a chardev socket the device can use to communicate as well as share the guests memory over a memfd.
::
host# qemu-system
-chardev socket,path=vi2c.sock,id=vi2c
-device vhost-user-i2c-pci,chardev=vi2c,id=i2c
-m 4096
-object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on
-numa node,memdev=mem
...
License
This project is licensed under either of
- Apache License, Version 2.0
- BSD-3-Clause License