Commit Graph

1188 Commits

Author SHA1 Message Date
Ruoqing He
d43fd79bb7 clippy: Fix clippy::precedence
Fix `clippy::precedence` warnings reported by clippy 0.1.85 (4d91de4e48
2025-02-17).

```console
error: operator precedence can trip the unwary
   --> vhost-device-template/src/vhu_foo.rs:152:9
    |
152 | /         1 << VIRTIO_F_VERSION_1
153 | |             | 1 << VIRTIO_F_NOTIFY_ON_EMPTY
154 | |             | 1 << VIRTIO_RING_F_INDIRECT_DESC
155 | |             | 1 << VIRTIO_RING_F_EVENT_IDX
    | |__________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence
    = note: `-D clippy::precedence` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::precedence)]`
help: consider parenthesizing your expression
    |
152 ~         1 << VIRTIO_F_VERSION_1
153 +             | 1 << VIRTIO_F_NOTIFY_ON_EMPTY
154 +             | 1 << VIRTIO_RING_F_INDIRECT_DESC | (1 << VIRTIO_RING_F_EVENT_IDX)
    |
```

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
2025-03-31 13:45:27 +02:00
dependabot[bot]
4f2003c7a0 build(deps): bump rust-vmm-ci from 8ae03e5 to 3ea2d3f
Bumps [rust-vmm-ci](https://github.com/rust-vmm/rust-vmm-ci) from `8ae03e5` to `3ea2d3f`.
- [Commits](8ae03e5c36...3ea2d3fb2e)

---
updated-dependencies:
- dependency-name: rust-vmm-ci
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 09:47:08 +01:00
dependabot[bot]
d7a67c1a4f build(deps): bump rust-vmm-ci from 09aef99 to 8ae03e5
Bumps [rust-vmm-ci](https://github.com/rust-vmm/rust-vmm-ci) from `09aef99` to `8ae03e5`.
- [Commits](09aef997d8...8ae03e5c36)

---
updated-dependencies:
- dependency-name: rust-vmm-ci
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-07 09:20:50 +01:00
dependabot[bot]
a7978d36b5 build(deps): bump the non-rust-vmm group across 2 directories with 19 updates
Bumps the non-rust-vmm group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.29` | `4.5.31` |
| [log](https://github.com/rust-lang/log) | `0.4.25` | `0.4.26` |
| [libc](https://github.com/rust-lang/libc) | `0.2.169` | `0.2.170` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.16.0` | `3.17.1` |
| [serde](https://github.com/serde-rs/serde) | `1.0.217` | `1.0.218` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.95` | `1.0.96` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.13` | `1.2.16` |
| [either](https://github.com/rayon-rs/either) | `1.13.0` | `1.14.0` |
| [equivalent](https://github.com/indexmap-rs/equivalent) | `1.0.1` | `1.0.2` |
| [rand_core](https://github.com/rust-random/rand) | `0.9.0` | `0.9.2` |
| redox_syscall | `0.5.8` | `0.5.9` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.138` | `1.0.139` |
| [smallvec](https://github.com/servo/rust-smallvec) | `1.13.2` | `1.14.0` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.16` | `1.0.17` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.13.1` | `1.15.1` |
| [winnow](https://github.com/winnow-rs/winnow) | `0.7.2` | `0.7.3` |

Bumps the non-rust-vmm group with 11 updates in the /staging directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.29` | `4.5.31` |
| [log](https://github.com/rust-lang/log) | `0.4.25` | `0.4.26` |
| [libc](https://github.com/rust-lang/libc) | `0.2.169` | `0.2.170` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.16.0` | `3.17.1` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.95` | `1.0.96` |
| [either](https://github.com/rayon-rs/either) | `1.13.0` | `1.14.0` |
| [equivalent](https://github.com/indexmap-rs/equivalent) | `1.0.1` | `1.0.2` |
| [rand_core](https://github.com/rust-random/rand) | `0.9.0` | `0.9.2` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.16` | `1.0.17` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.13.1` | `1.15.1` |
| [winnow](https://github.com/winnow-rs/winnow) | `0.7.2` | `0.7.3` |



Updates `clap` from 4.5.29 to 4.5.31
- [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/clap_complete-v4.5.29...v4.5.31)

Updates `log` from 0.4.25 to 0.4.26
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.25...0.4.26)

Updates `libc` from 0.2.169 to 0.2.170
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.170/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.169...0.2.170)

Updates `tempfile` from 3.16.0 to 3.17.1
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.16.0...v3.17.1)

Updates `serde` from 1.0.217 to 1.0.218
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.218)

Updates `anyhow` from 1.0.95 to 1.0.96
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96)

Updates `cc` from 1.2.13 to 1.2.16
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.13...cc-v1.2.16)

Updates `clap_builder` from 4.5.29 to 4.5.31
- [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.5.29...v4.5.31)

Updates `either` from 1.13.0 to 1.14.0
- [Commits](https://github.com/rayon-rs/either/compare/1.13.0...1.14.0)

Updates `equivalent` from 1.0.1 to 1.0.2
- [Commits](https://github.com/indexmap-rs/equivalent/compare/v1.0.1...v1.0.2)

Updates `rand_core` from 0.9.0 to 0.9.2
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.2)

Updates `redox_syscall` from 0.5.8 to 0.5.9

Updates `serde_derive` from 1.0.217 to 1.0.218
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.218)

Updates `serde_json` from 1.0.138 to 1.0.139
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.138...v1.0.139)

Updates `smallvec` from 1.13.2 to 1.14.0
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.2...v1.14.0)

Updates `unicode-ident` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/unicode-ident/releases)
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.16...1.0.17)

Updates `uuid` from 1.13.1 to 1.15.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.15.1)

Updates `uuid-macro-internal` from 1.13.1 to 1.15.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.15.1)

Updates `winnow` from 0.7.2 to 0.7.3
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.3)

Updates `clap` from 4.5.29 to 4.5.31
- [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/clap_complete-v4.5.29...v4.5.31)

Updates `log` from 0.4.25 to 0.4.26
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.25...0.4.26)

Updates `libc` from 0.2.169 to 0.2.170
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.170/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.169...0.2.170)

Updates `tempfile` from 3.16.0 to 3.17.1
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.16.0...v3.17.1)

Updates `anyhow` from 1.0.95 to 1.0.96
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96)

Updates `clap_builder` from 4.5.29 to 4.5.31
- [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.5.29...v4.5.31)

Updates `either` from 1.13.0 to 1.14.0
- [Commits](https://github.com/rayon-rs/either/compare/1.13.0...1.14.0)

Updates `equivalent` from 1.0.1 to 1.0.2
- [Commits](https://github.com/indexmap-rs/equivalent/compare/v1.0.1...v1.0.2)

Updates `rand_core` from 0.9.0 to 0.9.2
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.2)

Updates `unicode-ident` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/unicode-ident/releases)
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.16...1.0.17)

Updates `uuid` from 1.13.1 to 1.15.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.15.1)

Updates `uuid-macro-internal` from 1.13.1 to 1.15.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.15.1)

Updates `winnow` from 0.7.2 to 0.7.3
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.3)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: anyhow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: either
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: equivalent
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rand_core
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: redox_syscall
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: serde_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: serde_json
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: smallvec
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: unicode-ident
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: uuid
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: uuid-macro-internal
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: anyhow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: either
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: equivalent
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rand_core
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: unicode-ident
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: uuid
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: uuid-macro-internal
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-04 10:01:56 +01:00
Luigi Leonardi
262082061a sound: Use PathBuf for socket paths instead of Strings
Field `socket` now use PathBuf. This allows for better filesystem
compatibility.

Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
2025-03-04 09:04:18 +02:00
Luigi Leonardi
7f74da7e58 gpio: Use PathBuf for socket paths instead of Strings
Field `socket_path` now use PathBuf. This allows for better filesystem
compatibility.

Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
2025-03-04 09:04:18 +02:00
Luigi Leonardi
0b6314f4b6 vsock: Use PathBuf for socket paths instead of Strings
Fields `uds_path` and `socket` now use PathBuf. This allows for better
filesystem compatibility.

Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
2025-02-25 16:51:47 +01:00
Dorinda Bassey
1b3f650c48 CODEOWNERS: add self as code owner of sound and gpu crate
Add myself to CODEOWNERS to contribute to the reviewing and merging
process of PRs related to vhost-device-sound and vhost-device-gpu
crate.

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
2025-02-19 10:16:02 +05:30
Stefano Garzarella
34e30d5484 gpu: prepare release v0.1.0
We have recently promoted vhost-device-gpu to the main workspace,
so we can proceed with the first release.

Add an entry in the changelog and let's make the crate publishable.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2025-02-18 16:00:02 +05:30
Stefano Garzarella
2dd44fd9f9 gpu: fix links to the license files
After moving from the staging workspace to the main workspace,
we forgot to fix the license file links.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2025-02-18 16:00:02 +05:30
dependabot[bot]
4db68204f8 build(deps): bump the rust-vmm group across 2 directories with 1 update
Bumps the rust-vmm group with 1 update in the / directory: [virtio-bindings](https://github.com/rust-vmm/vm-virtio).
Bumps the rust-vmm group with 1 update in the /staging directory: [virtio-bindings](https://github.com/rust-vmm/vm-virtio).


Updates `virtio-bindings` from 0.2.4 to 0.2.5
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](https://github.com/rust-vmm/vm-virtio/compare/virtio-bindings-v0.2.4...virtio-bindings-v0.2.5)

Updates `virtio-bindings` from 0.2.4 to 0.2.5
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](https://github.com/rust-vmm/vm-virtio/compare/virtio-bindings-v0.2.4...virtio-bindings-v0.2.5)

---
updated-dependencies:
- dependency-name: virtio-bindings
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-vmm
- dependency-name: virtio-bindings
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-vmm
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 10:23:08 +02:00
Xuewei Niu
04c30f700a vhost-device-console: Being able to specify max queue size
Some hypervisors, e.g. UML, negotiate a queue size larger than `QUEUE_SIZE`
(128), which results in failures. This patch allows users to specify it
using `--max-queue-size <size>`.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-02-14 12:51:22 +02:00
Matej Hrica
bc07d3ef7a CI: Exclude GPU from musl builds/tests
The GPU device doesn't support musl builds, because it links to many native
libraries which are compiled with glibc. vhost-device-gpu uses the virglrender and
gfxstream native libraries, which in turn require other native libraries
(libstdc++, Vulkan, OpenGL, etc.).

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-02-14 10:15:52 +02:00
Matej Hrica
02409f0a09 Move vhost-user-gpu from staging to main directory
The CLI interface should be stable now and coverage is good. Support
for more backends as described in the README is comming later.

Note that this decreases the test coverage in the staging directory from
82.43% to 74.62%.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-02-14 10:15:52 +02:00
dependabot[bot]
879e0ff47f build(deps): bump the non-rust-vmm group across 2 directories with 33 updates
Bumps the non-rust-vmm group with 24 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.23` | `4.5.29` |
| [log](https://github.com/rust-lang/log) | `0.4.22` | `0.4.25` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.9` | `2.0.11` |
| [rand](https://github.com/rust-random/rand) | `0.8.5` | `0.9.0` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.14.0` | `3.16.0` |
| [evdev](https://github.com/cmr/evdev) | `0.12.2` | `0.13.0` |
| [rstest](https://github.com/la10736/rstest) | `0.23.0` | `0.24.0` |
| [bitflags](https://github.com/bitflags/bitflags) | `2.6.0` | `2.8.0` |
| [anstyle-wincon](https://github.com/rust-cli/anstyle) | `3.0.6` | `3.0.7` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.6` | `1.2.13` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.0` | `2.7.1` |
| [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys) | `0.4.14` | `0.4.15` |
| [neli](https://github.com/jbaublitz/neli) | `0.6.4` | `0.6.5` |
| [neli-proc-macros](https://github.com/jbaublitz/neli) | `0.1.3` | `0.1.4` |
| [once_cell](https://github.com/matklad/once_cell) | `1.20.2` | `1.20.3` |
| [pin-project-lite](https://github.com/taiki-e/pin-project-lite) | `0.2.15` | `0.2.16` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.92` | `1.0.93` |
| [rustix](https://github.com/bytecodealliance/rustix) | `0.38.42` | `0.38.44` |
| [ryu](https://github.com/dtolnay/ryu) | `1.0.18` | `1.0.19` |
| [semver](https://github.com/dtolnay/semver) | `1.0.24` | `1.0.25` |
| [toml_edit](https://github.com/toml-rs/toml) | `0.22.22` | `0.22.24` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.14` | `1.0.16` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.11.0` | `1.13.1` |
| [wait-timeout](https://github.com/alexcrichton/wait-timeout) | `0.2.0` | `0.2.1` |

Bumps the non-rust-vmm group with 20 updates in the /staging directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.23` | `4.5.29` |
| [log](https://github.com/rust-lang/log) | `0.4.22` | `0.4.25` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.9` | `2.0.11` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.14.0` | `3.16.0` |
| [rstest](https://github.com/la10736/rstest) | `0.23.0` | `0.24.0` |
| [bitflags](https://github.com/bitflags/bitflags) | `2.6.0` | `2.8.0` |
| [anstyle-wincon](https://github.com/rust-cli/anstyle) | `3.0.6` | `3.0.7` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.0` | `2.7.1` |
| [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys) | `0.4.14` | `0.4.15` |
| [once_cell](https://github.com/matklad/once_cell) | `1.20.2` | `1.20.3` |
| [pin-project-lite](https://github.com/taiki-e/pin-project-lite) | `0.2.15` | `0.2.16` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.92` | `1.0.93` |
| [rustix](https://github.com/bytecodealliance/rustix) | `0.38.42` | `0.38.44` |
| [semver](https://github.com/dtolnay/semver) | `1.0.24` | `1.0.25` |
| [syn](https://github.com/dtolnay/syn) | `2.0.93` | `2.0.98` |
| [toml_edit](https://github.com/toml-rs/toml) | `0.22.22` | `0.22.24` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.14` | `1.0.16` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.11.0` | `1.13.1` |
| [wait-timeout](https://github.com/alexcrichton/wait-timeout) | `0.2.0` | `0.2.1` |
| rutabaga_gfx | `0.1.4` | `0.1.5` |

Updates `clap` from 4.5.23 to 4.5.29
- [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/clap_complete-v4.5.23...clap_complete-v4.5.29)

Updates `log` from 0.4.22 to 0.4.25
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.22...0.4.25)

Updates `thiserror` from 2.0.9 to 2.0.11
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.9...2.0.11)

Updates `rand` from 0.8.5 to 0.9.0
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.5...0.9.0)

Updates `tempfile` from 3.14.0 to 3.16.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.14.0...v3.16.0)

Updates `evdev` from 0.12.2 to 0.13.0
- [Changelog](https://github.com/emberian/evdev/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cmr/evdev/compare/0.12.2...0.13.0)

Updates `rstest` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.23.0...v0.24.0)

Updates `bitflags` from 2.6.0 to 2.8.0
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.6.0...2.8.0)

Updates `anstyle-wincon` from 3.0.6 to 3.0.7
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.6...anstyle-wincon-v3.0.7)

Updates `cc` from 1.2.6 to 1.2.13
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.6...cc-v1.2.13)

Updates `clap_builder` from 4.5.23 to 4.5.29
- [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.5.23...v4.5.29)

Updates `clap_derive` from 4.5.18 to 4.5.28
- [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.5.18...v4.5.28)

Updates `indexmap` from 2.7.0 to 2.7.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.0...2.7.1)

Updates `linux-raw-sys` from 0.4.14 to 0.4.15
- [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.4.14...v0.4.15)

Updates `memoffset` from 0.6.5 to 0.9.1
- [Changelog](https://github.com/Gilnaa/memoffset/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Gilnaa/memoffset/compare/v0.6.5...v0.9.1)

Updates `neli` from 0.6.4 to 0.6.5
- [Release notes](https://github.com/jbaublitz/neli/releases)
- [Changelog](https://github.com/jbaublitz/neli/blob/neli-v0.6.5/CHANGELOG.md)
- [Commits](https://github.com/jbaublitz/neli/compare/neli-v0.6.4...neli-v0.6.5)

Updates `neli-proc-macros` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/jbaublitz/neli/releases)
- [Changelog](https://github.com/jbaublitz/neli/blob/neli-proc-macros-v0.1.4/PROC_MACRO_CHANGELOG.md)
- [Commits](https://github.com/jbaublitz/neli/compare/neli-proc-macros-v0.1.3...neli-proc-macros-v0.1.4)

Updates `once_cell` from 1.20.2 to 1.20.3
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.2...v1.20.3)

Updates `pin-project-lite` from 0.2.15 to 0.2.16
- [Release notes](https://github.com/taiki-e/pin-project-lite/releases)
- [Changelog](https://github.com/taiki-e/pin-project-lite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/pin-project-lite/compare/v0.2.15...v0.2.16)

Updates `proc-macro2` from 1.0.92 to 1.0.93
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.92...1.0.93)

Updates `rstest_macros` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.23.0...v0.24.0)

Updates `rustix` from 0.38.42 to 0.38.44
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.42...v0.38.44)

Updates `ryu` from 1.0.18 to 1.0.19
- [Release notes](https://github.com/dtolnay/ryu/releases)
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.18...1.0.19)

Updates `semver` from 1.0.24 to 1.0.25
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.24...1.0.25)

Updates `toml_edit` from 0.22.22 to 0.22.24
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.22...v0.22.24)

Updates `unicode-ident` from 1.0.14 to 1.0.16
- [Release notes](https://github.com/dtolnay/unicode-ident/releases)
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.14...1.0.16)

Updates `uuid` from 1.11.0 to 1.13.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.11.0...1.13.1)

Updates `uuid-macro-internal` from 1.11.0 to 1.13.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.11.0...1.13.1)

Updates `wait-timeout` from 0.2.0 to 0.2.1
- [Commits](https://github.com/alexcrichton/wait-timeout/compare/0.2.0...0.2.1)

Updates `winnow` from 0.6.21 to 0.7.2
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.21...v0.7.2)

Updates `clap` from 4.5.23 to 4.5.29
- [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/clap_complete-v4.5.23...clap_complete-v4.5.29)

Updates `log` from 0.4.22 to 0.4.25
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.22...0.4.25)

Updates `thiserror` from 2.0.9 to 2.0.11
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.9...2.0.11)

Updates `tempfile` from 3.14.0 to 3.16.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.14.0...v3.16.0)

Updates `rstest` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.23.0...v0.24.0)

Updates `bitflags` from 2.6.0 to 2.8.0
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.6.0...2.8.0)

Updates `anstyle-wincon` from 3.0.6 to 3.0.7
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.6...anstyle-wincon-v3.0.7)

Updates `clap_builder` from 4.5.23 to 4.5.29
- [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.5.23...v4.5.29)

Updates `clap_derive` from 4.5.18 to 4.5.28
- [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.5.18...v4.5.28)

Updates `indexmap` from 2.7.0 to 2.7.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.0...2.7.1)

Updates `linux-raw-sys` from 0.4.14 to 0.4.15
- [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.4.14...v0.4.15)

Updates `once_cell` from 1.20.2 to 1.20.3
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.2...v1.20.3)

Updates `pin-project-lite` from 0.2.15 to 0.2.16
- [Release notes](https://github.com/taiki-e/pin-project-lite/releases)
- [Changelog](https://github.com/taiki-e/pin-project-lite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/pin-project-lite/compare/v0.2.15...v0.2.16)

Updates `proc-macro2` from 1.0.92 to 1.0.93
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.92...1.0.93)

Updates `rstest_macros` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.23.0...v0.24.0)

Updates `rustix` from 0.38.42 to 0.38.44
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.42...v0.38.44)

Updates `semver` from 1.0.24 to 1.0.25
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.24...1.0.25)

Updates `syn` from 2.0.93 to 2.0.98
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.93...2.0.98)

Updates `toml_edit` from 0.22.22 to 0.22.24
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.22...v0.22.24)

Updates `unicode-ident` from 1.0.14 to 1.0.16
- [Release notes](https://github.com/dtolnay/unicode-ident/releases)
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.14...1.0.16)

Updates `uuid` from 1.11.0 to 1.13.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.11.0...1.13.1)

Updates `uuid-macro-internal` from 1.11.0 to 1.13.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.11.0...1.13.1)

Updates `wait-timeout` from 0.2.0 to 0.2.1
- [Commits](https://github.com/alexcrichton/wait-timeout/compare/0.2.0...0.2.1)

Updates `wasi` from 0.11.0+wasi-snapshot-preview1 to 0.13.3+wasi-0.2.2
- [Commits](https://github.com/bytecodealliance/wasi-rs/compare/0.11.0...0.13.3)

Updates `winnow` from 0.6.21 to 0.7.2
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.21...v0.7.2)

Updates `rutabaga_gfx` from 0.1.4 to 0.1.5

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rand
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: evdev
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: rstest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: indexmap
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: linux-raw-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: memoffset
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: neli
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: neli-proc-macros
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: once_cell
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: pin-project-lite
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: proc-macro2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rstest_macros
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: rustix
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: ryu
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: semver
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: toml_edit
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: unicode-ident
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: uuid
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: uuid-macro-internal
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: wait-timeout
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: rstest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: indexmap
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: linux-raw-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: once_cell
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: pin-project-lite
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: proc-macro2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rstest_macros
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: rustix
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: semver
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: syn
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: toml_edit
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: unicode-ident
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: uuid
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: uuid-macro-internal
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: wait-timeout
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: wasi
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: rutabaga_gfx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
...

Signed-off-by: dependabot[bot] <support@github.com>
[SG: fix `type annotations needed` errors in gpu tests]
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2025-02-12 13:59:51 +01:00
Dorinda Bassey
7dbd5ed919 vhost-device-sound: pipewire: Fix rand module imports
This commit updates rand dependencies and rand imports
to use `rand::distr` instead of `rand::distributions`,
ensuring compatibility with the latest rand crate
version. the commit also replaces `rand::thread_rng()`
with `rand::rng()` to reflect API changes in `rand`
and handle errors when creating a `Uniform<f32>`
distribution.

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
2025-02-12 14:11:29 +02:00
Stefano Garzarella
83e2f3f506 buildkite: add main-tests.json
`vhost-device-gpu` has dependencies that do not work well on musl.
Also `vhost-device-gpio` has the same problem, but we merged
workarounds.

Instead of continuing to make hacks to compile empty main for these
applications. Better to have our own pipeline also for the main
workspace. In that way we can easily exclude applications (e.g. that
do not support musl) as discussed in
  https://github.com/rust-vmm/vhost-device/pull/801

The new `.buildkite/main-tests.json` file is copied from
rust-vmm-ci/.buildkite/test_description.json from commit 09aef99
("chore: update container version to v48")

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2025-02-11 19:51:01 +05:30
Xuewei Niu
2c8440a99f vhost-device-console: Fix a typo in README
In the example of using `vhost-user-console-pci`, the id should be
`con0` instead of `con`.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-02-11 12:38:16 +05:30
Dorinda Bassey
8e7b710931 vhost-device-sound: Add controls field in VirtioSoundConfig
This commit introduces a new controls field in
VirtioSoundConfig to represent the total number of
available control elements. It's based on the recent
changes to the virtio-snd header file in QEMU.

Fixes this issue:
https://gitlab.com/qemu-project/qemu/-/issues/2805

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
2025-02-10 15:36:36 +05:30
Manos Pitsidianakis
b400db9aff sound: fix clippy::unnecessary_map_or lint
clippy warns:

  error: this `map_or` is redundant
     --> vhost-device-sound/src/audio_backends/pipewire/test_utils.rs:210:12
      |
  210 |         if max_retries.map_or(false, |max| iterations >= max) {
      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use is_some_and instead: `max_retries.is_some_and(|max| iterations >= max)`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2025-02-10 15:03:24 +05:30
lnyng
99ec30759a Disable EPOLLOUT if triggered while txbuf is empty
Currently the vsock connection always triggers on EPOLLOUT. When a host
applicationlistens to the UDS, it's almost always writable, and thus
keeps triggering backend events with EPOLLOUT on the connection. As a
result, vhost-device-vsock daemon consumes 100% CPU.

To make it more CPU efficient, it can instead unsubscribe EPOLLOUT
whenever there is no more data to send. It can re-subscribe if the
connection cannot write out all bytes. This change causes the CPU util
to drop to negligible level.

Signed-off-by: Leon Yang <lnyng@meta.com>
2025-02-04 09:13:28 +05:30
Matej Hrica
ec0f309972 gpu: update README to better reflect current limitations
Update the README to better reflect the limitations of not supporting blob
resources and remove the note about hardcoded number of capsets that has been
fixed.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
37082de03a gpu: add CLI arguments for configuring Rutabaga builder
Add command line arguments for configuring which capsets and features are
enabled when configuring Rutabaga.

Since we now specify the capsets explicitly we can drop the MAX_NUM_CAPSETS
constant and fix the TODO.

The curently exposed capsets for virglrenderer are: virgl and virgl2.
For gfxstream they are: gfxstream-vulkan and gfxstream-gles.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
432acbae1a gpu: move start_backend from main.rs into lib.rs
This was an oversight - for the user to be able to use the crate as a
library, the start_backend needs to be part of the public API.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
4ae31e73d5 gpu: remove CI workarounds
Remove the workaround to disable compiling the code on non-gnu targets.
(the CI now doesn't attempt compiling on musl)

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
7488f44220 CI: do not build gpu for musl targets
Do not build the GPU device for musl targets. To compile it properly would
require setting up a build enivorment with all the native dependencies
compiled with musl as well.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
a2f0f91857 gpu: remove unused duplicate constants
Remove capset constants definitions in protocol.rs, these are unecessary,
because we use the constants defined in the Rutabaga crate.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Matej Hrica
4c090cf776 gpu: rename --gpu-mode virgl-renderer -> virglrenderer
The name of the project/backend is "virglrenderer", the dash was added by
clap. Adding the dash seems confusing to the user, the old name is kept
as a hidden alias.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Junnan Wu
53ded3f04d scmi: sensor axis extended attributes support
For Android requirment, virtio-scmi axis descriptor should
support extended attributes. This patch does this things.

We get axis's resolution during reading "scale" and store.
When agent wants to get axis descriptions,
device will add resolution value to extend attribute field.
At the same time, max and min range also have been configured.

Signed-off-by: Junnan Wu <junnan01.wu@samsung.com>
2025-01-17 10:56:04 +01:00
Junnan Wu
d19a265bed scmi: report axis descriptor one by one
In order to support extended attributes, in flow of
handle command SENSOR_AXIS_DESCRIPTION_GET, it should
report frontend the axis info one by one instead of together,
for reason that it will exceed the size of descriptor buffer size.

And this patch also fixs the wrong value number of
remaining sensor axis descriptors.
The remaining value should excludes reported axis.

Signed-off-by: Junnan Wu <junnan01.wu@samsung.com>
2025-01-17 10:56:04 +01:00
Milan Zamazal
add44591cd Set @mz-pdm as the code owner of vhost-device-scmi
mz-pdm (Milan Zamazal) is the primary author of vhost-device-scmi code, making
him a code owner of it for easier handling of the related PRs.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
2025-01-14 17:42:45 +02:00
dependabot[bot]
a8148376b7 build(deps): bump the non-rust-vmm group across 2 directories with 30 updates
Bumps the non-rust-vmm group with 20 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.21` | `4.5.23` |
| [env_logger](https://github.com/rust-cli/env_logger) | `0.11.5` | `0.11.6` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.3` | `2.0.9` |
| [socketcan](https://github.com/mbr/socketcan-rs) | `3.3.1` | `3.5.0` |
| [console](https://github.com/console-rs/console) | `0.15.8` | `0.15.10` |
| [libc](https://github.com/rust-lang/libc) | `0.2.167` | `0.2.169` |
| [itertools](https://github.com/rust-itertools/itertools) | `0.13.0` | `0.14.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.215` | `1.0.217` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.93` | `1.0.95` |
| [bytemuck](https://github.com/Lokathor/bytemuck) | `1.20.0` | `1.21.0` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.2` | `1.2.6` |
| [env_filter](https://github.com/rust-cli/env_logger) | `0.1.2` | `0.1.3` |
| [fastrand](https://github.com/smol-rs/fastrand) | `2.2.0` | `2.3.0` |
| [glob](https://github.com/rust-lang/glob) | `0.3.1` | `0.3.2` |
| [home](https://github.com/rust-lang/cargo) | `0.5.9` | `0.5.11` |
| [quote](https://github.com/dtolnay/quote) | `1.0.37` | `1.0.38` |
| redox_syscall | `0.5.7` | `0.5.8` |
| [rustix](https://github.com/bytecodealliance/rustix) | `0.38.41` | `0.38.42` |
| [semver](https://github.com/dtolnay/semver) | `1.0.23` | `1.0.24` |
| [winnow](https://github.com/winnow-rs/winnow) | `0.6.20` | `0.6.21` |

Bumps the non-rust-vmm group with 16 updates in the /staging directory:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.21` | `4.5.23` |
| [env_logger](https://github.com/rust-cli/env_logger) | `0.11.5` | `0.11.6` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.3` | `2.0.9` |
| [libc](https://github.com/rust-lang/libc) | `0.2.167` | `0.2.169` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.93` | `1.0.95` |
| [env_filter](https://github.com/rust-cli/env_logger) | `0.1.2` | `0.1.3` |
| [fastrand](https://github.com/smol-rs/fastrand) | `2.2.0` | `2.3.0` |
| [glob](https://github.com/rust-lang/glob) | `0.3.1` | `0.3.2` |
| [quote](https://github.com/dtolnay/quote) | `1.0.37` | `1.0.38` |
| [rustix](https://github.com/bytecodealliance/rustix) | `0.38.41` | `0.38.42` |
| [semver](https://github.com/dtolnay/semver) | `1.0.23` | `1.0.24` |
| [syn](https://github.com/dtolnay/syn) | `2.0.90` | `2.0.93` |
| [winnow](https://github.com/winnow-rs/winnow) | `0.6.20` | `0.6.21` |
| [predicates](https://github.com/assert-rs/predicates-rs) | `3.1.2` | `3.1.3` |
| [predicates-core](https://github.com/assert-rs/predicates-rs) | `1.0.8` | `1.0.9` |
| [predicates-tree](https://github.com/assert-rs/predicates-rs) | `1.0.11` | `1.0.12` |



Updates `clap` from 4.5.21 to 4.5.23
- [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/clap_complete-v4.5.21...clap_complete-v4.5.23)

Updates `env_logger` from 0.11.5 to 0.11.6
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6)

Updates `thiserror` from 2.0.3 to 2.0.9
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.3...2.0.9)

Updates `socketcan` from 3.3.1 to 3.5.0
- [Release notes](https://github.com/mbr/socketcan-rs/releases)
- [Changelog](https://github.com/socketcan-rs/socketcan-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mbr/socketcan-rs/compare/v3.3.1...v3.5.0)

Updates `console` from 0.15.8 to 0.15.10
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.8...0.15.10)

Updates `libc` from 0.2.167 to 0.2.169
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.169/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.167...0.2.169)

Updates `itertools` from 0.13.0 to 0.14.0
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.13.0...v0.14.0)

Updates `serde` from 1.0.215 to 1.0.217
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.217)

Updates `anyhow` from 1.0.93 to 1.0.95
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.93...1.0.95)

Updates `bytemuck` from 1.20.0 to 1.21.0
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.20.0...v1.21.0)

Updates `cc` from 1.2.2 to 1.2.6
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.2...cc-v1.2.6)

Updates `clap_builder` from 4.5.21 to 4.5.23
- [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.5.21...v4.5.23)

Updates `clap_lex` from 0.7.3 to 0.7.4
- [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/clap_lex-v0.7.3...clap_lex-v0.7.4)

Updates `encode_unicode` from 0.3.6 to 1.0.0
- [Changelog](https://github.com/tormol/encode_unicode/blob/master/RELEASES.md)
- [Commits](https://github.com/tormol/encode_unicode/compare/v0.3.6...v1.0.0)

Updates `env_filter` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.2...env_filter-v0.1.3)

Updates `fastrand` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/smol-rs/fastrand/releases)
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/fastrand/compare/v2.2.0...v2.3.0)

Updates `glob` from 0.3.1 to 0.3.2
- [Release notes](https://github.com/rust-lang/glob/releases)
- [Changelog](https://github.com/rust-lang/glob/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/glob/compare/0.3.1...v0.3.2)

Updates `home` from 0.5.9 to 0.5.11
- [Changelog](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cargo/compare/home-0.5.9...home-0.5.11)

Updates `quote` from 1.0.37 to 1.0.38
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.37...1.0.38)

Updates `redox_syscall` from 0.5.7 to 0.5.8

Updates `rustix` from 0.38.41 to 0.38.42
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.41...v0.38.42)

Updates `semver` from 1.0.23 to 1.0.24
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.23...1.0.24)

Updates `serde_derive` from 1.0.215 to 1.0.217
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.217)

Updates `winnow` from 0.6.20 to 0.6.21
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.20...v0.6.21)

Updates `clap` from 4.5.21 to 4.5.23
- [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/clap_complete-v4.5.21...clap_complete-v4.5.23)

Updates `env_logger` from 0.11.5 to 0.11.6
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6)

Updates `thiserror` from 2.0.3 to 2.0.9
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.3...2.0.9)

Updates `libc` from 0.2.167 to 0.2.169
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.169/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.167...0.2.169)

Updates `anyhow` from 1.0.93 to 1.0.95
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.93...1.0.95)

Updates `clap_builder` from 4.5.21 to 4.5.23
- [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.5.21...v4.5.23)

Updates `clap_lex` from 0.7.3 to 0.7.4
- [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/clap_lex-v0.7.3...clap_lex-v0.7.4)

Updates `env_filter` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.2...env_filter-v0.1.3)

Updates `fastrand` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/smol-rs/fastrand/releases)
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/fastrand/compare/v2.2.0...v2.3.0)

Updates `glob` from 0.3.1 to 0.3.2
- [Release notes](https://github.com/rust-lang/glob/releases)
- [Changelog](https://github.com/rust-lang/glob/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/glob/compare/0.3.1...v0.3.2)

Updates `quote` from 1.0.37 to 1.0.38
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.37...1.0.38)

Updates `rustix` from 0.38.41 to 0.38.42
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.41...v0.38.42)

Updates `semver` from 1.0.23 to 1.0.24
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.23...1.0.24)

Updates `syn` from 2.0.90 to 2.0.93
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.90...2.0.93)

Updates `windows-sys` from 0.52.0 to 0.59.0
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/compare/0.52.0...0.59.0)

Updates `winnow` from 0.6.20 to 0.6.21
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.20...v0.6.21)

Updates `predicates` from 3.1.2 to 3.1.3
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.1.2...v3.1.3)

Updates `predicates-core` from 1.0.8 to 1.0.9
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/predicates-core-v1.0.8...predicates-core-v1.0.9)

Updates `predicates-tree` from 1.0.11 to 1.0.12
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/predicates-tree-v1.0.11...predicates-tree-v1.0.12)

Updates `termtree` from 0.4.1 to 0.5.1
- [Changelog](https://github.com/rust-cli/termtree/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/termtree/compare/v0.4.1...v0.5.1)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: socketcan
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: anyhow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: bytemuck
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_lex
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: encode_unicode
  dependency-type: indirect
  update-type: version-update:semver-major
  dependency-group: non-rust-vmm
- dependency-name: env_filter
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: fastrand
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: glob
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: home
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: quote
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: redox_syscall
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rustix
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: semver
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: serde_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: anyhow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_builder
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: clap_lex
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: env_filter
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: fastrand
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: glob
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: quote
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: rustix
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: semver
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: syn
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: windows-sys
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: predicates
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: predicates-core
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: predicates-tree
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: non-rust-vmm
- dependency-name: termtree
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: non-rust-vmm
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 10:13:07 +01:00
dependabot[bot]
f061552bcc build(deps): bump rust-vmm-ci from 1150c47 to 09aef99
Bumps [rust-vmm-ci](https://github.com/rust-vmm/rust-vmm-ci) from `1150c47` to `09aef99`.
- [Commits](1150c47872...09aef997d8)

---
updated-dependencies:
- dependency-name: rust-vmm-ci
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 09:39:43 +01:00
Manos Pitsidianakis
f293c4e8f0 Fix clippy::empty_line_after_doc_comments
Fix new warn by default clippy lint, empty_line_after_doc_comments,
by removing empty lines after doc comments.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-16 14:00:08 +05:30
Alex Bennée
2998e075e9 README.md: add vhost-device-gpu to staging list
This is worth having listed on the front page of the repo.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2024-12-09 17:19:56 +02:00
Manos Pitsidianakis
14a062cca8 sound: use rusty_fork_test for env-modifying tests
Alsa and Pipewire tests modify their process environment (as part of
setting up their test harnesses), which is incorrect because tests run
on a multi-thread test runner by default. Use the rusty_fork crate to
run those tests in a forked process.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-09 15:02:46 +01:00
Manos Pitsidianakis
1b4c63ced5 sound: panic in tests if dbus/pipewire don't start
If dbus-daemon or pipewire daemon exit with an error, panic.

This might help us debug CI failures down the road, hopefully.

This commit also changes the `println!`s to `eprintln!`s since the
messages purpose is better suited to stderr.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-09 15:02:46 +01:00
Manos Pitsidianakis
b596509660 sound/pipewire: add truncated exp backoff to tests
Sometimes pw backend creation on CI fails with errors like for example:

    thread 'audio_backends::pipewire::tests::test_pipewire_backend_invalid_stream' panicked at vhost-device-sound/src/audio_backends/pipewire.rs:98:42:
    Failed to connect to core: CreationFailed

Add a simple kind of truncated exponential backoff retry wrapper to
PwBackend::new().

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-09 15:02:46 +01:00
Manos Pitsidianakis
d3274444ad sound: make PwBackend::new() return Result
Add a pipewire-specific error enum and make the backend's new() method
return a Result instead of panicking with expect() on error.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-09 15:02:46 +01:00
Manos Pitsidianakis
ace8e2e821 sound: change Error::UnexpectedAudioBackendError
Change Error::UnexpectedAudioBackendError variant to take a boxed `dyn
Error` value instead of a String. In the following commits we will use
the error variant for errors from the pipewire backend as well.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-09 15:02:46 +01:00
Stefano Garzarella
da2084d2e9 vsock/readme: add testing section
Add a new section to explain some requirements to run tests, e.g.
`vsock_loopback` kernel module is required if `backend_vsock` feature
is enabled (true by default) when running tests.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2024-12-06 14:05:06 +05:30
Stefano Garzarella
0cd34a69ab vsock/tests: panic if vsock_loopback is not available
test_vsock_thread_backend_vsock() and test_vsock_thread_vsock_backend()
tests use VMADDR_CID_LOCAL which is provided by the `vsock_loopback`
kernel module.

If `vsock_loopback` kernel module is not loaded, these tests will fail
later with unclear messages, so it can be hard to debug.

Let's fail early and print a message with the requirement.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2024-12-06 14:05:06 +05:30
Stefano Garzarella
9b1cc25dc5 vsock/tests: use vsock::VMADDR_CID_LOCAL
Instead of using the direct value (1), let's use the constant value
provided by the vsock crate.

VMADDR_CID_LOCAL is used for loopback communication, which is used
in some of our test cases.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2024-12-06 14:05:06 +05:30
Manos Pitsidianakis
1406ca232b sound: Put AlsaTestHarness static in a LazyLock
Instead of using unsafe {} and undefined behavior (mutable shared static
references) use LazyLock which initializes the harness on first
dereference and provides immutable access only (the harness type has
interior mutability).

Fixes: #785

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-04 11:44:39 +01:00
Manos Pitsidianakis
9757042216 sound: fix some minor clippy lints
Unnecessary lazy evaluation in Option::ok_or_else uses, constify some
functions.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-04 11:44:39 +01:00
Stefano Garzarella
937d28daee scmi: add missing lifetime
rustc 1.83.0 (90b35a623 2024-11-26) emits 2 new warnings:

    warning: elided lifetime has a name
      --> vhost-device-scmi/src/devices/common.rs:69:60
       |
    69 |     fn extra<'a>(&'a self, allowed: &[&'a str]) -> HashSet<&str> {
       |              -- lifetime `'a` declared here                ^ this elided lifetime gets resolved as `'a`
       |
       = note: `#[warn(elided_named_lifetimes)]` on by default

    warning: elided lifetime has a name
      --> vhost-device-scmi/src/devices/common.rs:74:63
       |
    74 |     fn missing<'a>(&'a self, required: &[&'a str]) -> HashSet<&str> {
       |                -- lifetime `'a` declared here                 ^ this elided lifetime gets resolved as `'a`

    warning: `vhost-device-scmi` (bin "vhost-device-scmi") generated 2 warnings

Fixes: #786
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2024-12-02 12:22:48 +02:00
Stefano Garzarella
b96475f788 scmi: fix manual arithmetic check warning
clippy 0.1.83 (90b35a6 2024-11-26) emits a new warning:

    warning: manual arithmetic check found
       --> vhost-device-scmi/src/scmi.rs:471:41
        |
    471 |                   let remaining_sensors = if n_sensors > last_non_returned_se...
        |  _________________________________________^
    472 | |                     n_sensors - last_non_returned_sensor
    473 | |                 } else {
    474 | |                     0
    475 | |                 };
        | |_________________^ help: replace it with: `n_sensors.saturating_sub(last_non_returned_sensor)`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2024-12-02 12:22:48 +02:00
Manos Pitsidianakis
0a5249b903 gpu: guard gfxstream dependency with a feature
Add a new compile-time feature, `gfxstream`, which is included in the
default features. The only thing that changes is that we can now build
without requiring the `gfxstream_backend` library on compilation time,
which helps in cases it is not packaged in a distro, or is not available
at a user's build machine.

Also update `README.md` with information about the build-time feature.

This commit does not change anything other than make gfxstream gpu mode
opt-out at build-time. Everything should continue to work the same.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-02 10:57:44 +01:00
Manos Pitsidianakis
3eaa0f80f1 gpu: Make some formatting changes to README.md
- Add missing `--gpu-mode` argument from "Synopsis" section"
- Make "Options" section shorter, include --gpu-mode and its possible
  values
- Surround source code identifiers with backticks so they render as code
- Split "Features" section in paragraphs in preparation for next commit,
  which will expand the "gfxstream" part with info about compilation
  details.
- Surround gpu mode values with backticks so they render as code

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-02 10:57:44 +01:00
Manos Pitsidianakis
28b4d6c868 gpu: run cargo-sort to format Cargo.toml
No functional changes.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2024-12-02 10:57:44 +01:00