Bo Chen
11edb28069
vmm: acpi: Clarify device ID partitioning in IORT table
...
The IORT table's ID mapping uses a 256-ID offset per PCI segment to
ensure unique device IDs across all segments. This partitioning scheme
(output_base = 256 * segment_id) must match the device ID encoding used
in KVM MSI routing configuration [1].
This mapping assumes one bus per PCI segment, and supports up to 256 PCI
segments in the system.
[1] c9374d87ac
Signed-off-by: Bo Chen <bchen@crusoe.ai>
2026-01-12 17:18:52 +00:00
Bo Chen
01d711e893
vmm: acpi: Explicitly write ITS identifier in IORT table
...
The IORT specification (Revision E.b, Table 12) defines the ITS Group
Node structure with an ITS Identifiers array following the node header.
Although the IORT table is zero-initialized, this commit adds an
explicit write of the ITS identifier value (0) for clarity and spec
compliance.
This ITS identifier must match the `translation_id` field in the MADT
GIC ITS structure to ensure proper interrupt routing on ARM platforms.
Signed-off-by: Bo Chen <bchen@crusoe.ai>
2026-01-12 17:18:52 +00:00
Bo Chen
c87ca39219
vmm: acpi: Generate IORT table according to spec revision E.b
...
The current IORT table implementation is based on IORT Spec revision E.b
[1], as evidenced by:
* The PCI root complex node revision being set to `3`
* The code being updated in late 2021 [2] when revision E.b was the
latest version
This patch ensures the IORT table is properly generated according to
this specification revision, fixing three issues:
1. The IORT table revision should be `3` rather than `2` (see Table 2 in
the spec [1])
2. The GIC ITS group node revision should be `1` rather than `0`
(see Table 12 in the spec [1])
3. The "Memory access properties" and "ATS Attribute" fields of the PCI
root complex node was set incorrectly - specifically the MAF (Memory
Access Flags) including CPM and DACS bits (see Tables 14, 15, and 17
in the spec [1])
[1] https://developer.arm.com/documentation/den0049/eb/?lang=en
[2] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/3356
Signed-off-by: Bo Chen <bchen@crusoe.ai>
2026-01-12 17:18:52 +00:00
Demi Marie Obenour
079d94ecae
seccomp: Add gettid() to all seccomp filters
...
It should always succeed and is apparently implicitly called by libc or
some dependency somewhere.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2026-01-10 19:18:04 +00:00
dependabot[bot]
847de7e86e
build: Bump crate-ci/typos from 1.41.0 to 1.42.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.41.0 to 1.42.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.41.0...v1.42.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 02:30:09 +00:00
dependabot[bot]
c396f1ad2a
build: Bump the non-rust-vmm group across 2 directories with 9 updates
...
Bumps the non-rust-vmm group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.148` | `1.0.149` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.31` | `0.8.33` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.12.1` | `2.13.0` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.17` | `0.2.18` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.42` | `1.0.43` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.113` | `2.0.114` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.11` | `1.0.12` |
Bumps the non-rust-vmm group with 6 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.148` | `1.0.149` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.31` | `0.8.33` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.12.1` | `2.13.0` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.42` | `1.0.43` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.113` | `2.0.114` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.11` | `1.0.12` |
Updates `serde_json` from 1.0.148 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149 )
Updates `zerocopy` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `indexmap` from 2.12.1 to 2.13.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0 )
Updates `jiff` from 0.2.17 to 0.2.18
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.17...jiff-static-0.2.18 )
Updates `jiff-static` from 0.2.17 to 0.2.18
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.17...jiff-static-0.2.18 )
Updates `quote` from 1.0.42 to 1.0.43
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.42...1.0.43 )
Updates `syn` from 2.0.113 to 2.0.114
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.113...2.0.114 )
Updates `zerocopy-derive` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `zmij` from 1.0.11 to 1.0.12
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.11...1.0.12 )
Updates `serde_json` from 1.0.148 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149 )
Updates `zerocopy` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `indexmap` from 2.12.1 to 2.13.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0 )
Updates `quote` from 1.0.42 to 1.0.43
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.42...1.0.43 )
Updates `syn` from 2.0.113 to 2.0.114
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.113...2.0.114 )
Updates `zerocopy-derive` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `zmij` from 1.0.11 to 1.0.12
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.11...1.0.12 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.149
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.43
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.114
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.33
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.149
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.43
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.114
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.33
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 18:10:23 +00:00
Demi Marie Obenour
2e05836669
hypervisor: Suppress unused_unsafe warning
...
x86::__cpuid is safe on Rust ≥1.94 but unsafe on older versions. This
causes unused_unsafe warnings when compiling with Rust ≥1.94. However,
on earlier Rust versions, the code won’t compile if the unsafe blocks
are absent.
Work around this by adding #[allow(unused_unsafe)] where needed to
suppress the warnings.
See #7588 for more discussion.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2026-01-07 00:20:41 +00:00
dependabot[bot]
f6f0d49c62
build: Bump the non-rust-vmm group across 2 directories with 6 updates
...
Bumps the non-rust-vmm group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.53` | `4.5.54` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.178` | `0.2.179` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.104` | `1.0.105` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.111` | `2.0.113` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.3` | `1.0.11` |
Bumps the non-rust-vmm group with 5 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.53` | `4.5.54` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.178` | `0.2.179` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.104` | `1.0.105` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.111` | `2.0.113` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.3` | `1.0.11` |
Updates `clap` from 4.5.53 to 4.5.54
- [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.53...clap_complete-v4.5.54 )
Updates `libc` from 0.2.178 to 0.2.179
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179 )
Updates `clap_builder` from 4.5.53 to 4.5.54
- [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.53...v4.5.54 )
Updates `proc-macro2` from 1.0.104 to 1.0.105
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.104...1.0.105 )
Updates `syn` from 2.0.111 to 2.0.113
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.111...2.0.113 )
Updates `zmij` from 1.0.3 to 1.0.11
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.3...1.0.11 )
Updates `clap` from 4.5.53 to 4.5.54
- [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.53...clap_complete-v4.5.54 )
Updates `libc` from 0.2.178 to 0.2.179
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179 )
Updates `clap_builder` from 4.5.53 to 4.5.54
- [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.53...v4.5.54 )
Updates `proc-macro2` from 1.0.104 to 1.0.105
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.104...1.0.105 )
Updates `syn` from 2.0.111 to 2.0.113
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.111...2.0.113 )
Updates `zmij` from 1.0.3 to 1.0.11
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.3...1.0.11 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.54
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.179
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.105
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.113
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.54
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.179
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.105
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.113
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 00:33:49 +00:00
Anatol Belski
3657db7843
vmm: mshv: Set PROCESSORS_PER_SOCKET property for CPU topologies
...
On MSHV, exposing multithreaded CPU topologies requires setting the
PROCESSORS_PER_SOCKET partition property so that CPUID.0xB reports
correct logical processor counts and topology levels to the guest.
This property must be set after all vCPUs are configured, as the
hypervisor uses the complete vCPU layout to derive and report CPU
topology information.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2026-01-05 21:41:28 +00:00
Anatol Belski
dccdb223b7
tests: Re-enable CPU topology tests on MSHV
...
Fixes : #7433
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2026-01-05 21:41:28 +00:00
dependabot[bot]
de618ec35e
build: Bump crate-ci/typos from 1.40.1 to 1.41.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.40.1 to 1.41.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.40.1...v1.41.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 00:04:28 +00:00
dependabot[bot]
379e2d4647
build: Bump the non-rust-vmm group across 2 directories with 14 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.146` | `1.0.148` |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.3.18` | `0.4.1` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.7.1` | `1.8.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.50` | `1.2.51` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.16` | `1.0.17` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.16` | `0.2.17` |
| libredox | `0.1.11` | `0.1.12` |
| [portable-atomic](https://github.com/taiki-e/portable-atomic ) | `1.12.0` | `1.13.0` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.103` | `1.0.104` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `1.1.2` | `1.1.3` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.7` | `1.4.8` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.23.0` | `3.24.0` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.146` | `1.0.148` |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.3.18` | `0.4.1` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.7.1` | `1.8.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.50` | `1.2.51` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.16` | `1.0.17` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.103` | `1.0.104` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.7` | `1.4.8` |
Updates `serde_json` from 1.0.146 to 1.0.148
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.148 )
Updates `signal-hook` from 0.3.18 to 0.4.1
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.18...v0.4.1 )
Updates `arc-swap` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0 )
Updates `cc` from 1.2.50 to 1.2.51
- [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.50...cc-v1.2.51 )
Updates `find-msvc-tools` from 0.1.5 to 0.1.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/find-msvc-tools-v0.1.5...find-msvc-tools-v0.1.6 )
Updates `itoa` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.16...1.0.17 )
Updates `jiff` from 0.2.16 to 0.2.17
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.16...jiff-static-0.2.17 )
Updates `jiff-static` from 0.2.16 to 0.2.17
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.16...jiff-static-0.2.17 )
Updates `libredox` from 0.1.11 to 0.1.12
Updates `portable-atomic` from 1.12.0 to 1.13.0
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/v1.12.0...v1.13.0 )
Updates `proc-macro2` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.103...1.0.104 )
Updates `rustix` from 1.1.2 to 1.1.3
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v1.1.2...v1.1.3 )
Updates `signal-hook-registry` from 1.4.7 to 1.4.8
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.7...registry-v1.4.8 )
Updates `tempfile` from 3.23.0 to 3.24.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.23.0...v3.24.0 )
Updates `serde_json` from 1.0.146 to 1.0.148
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.148 )
Updates `signal-hook` from 0.3.18 to 0.4.1
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.18...v0.4.1 )
Updates `arc-swap` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0 )
Updates `cc` from 1.2.50 to 1.2.51
- [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.50...cc-v1.2.51 )
Updates `find-msvc-tools` from 0.1.5 to 0.1.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/find-msvc-tools-v0.1.5...find-msvc-tools-v0.1.6 )
Updates `itoa` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.16...1.0.17 )
Updates `proc-macro2` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.103...1.0.104 )
Updates `signal-hook-registry` from 1.4.7 to 1.4.8
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.7...registry-v1.4.8 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.148
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook
dependency-version: 0.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.51
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libredox
dependency-version: 0.1.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic
dependency-version: 1.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.104
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rustix
dependency-version: 1.1.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tempfile
dependency-version: 3.24.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.148
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook
dependency-version: 0.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.51
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.104
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-30 04:25:34 +00:00
dependabot[bot]
14911a9518
build: Bump ryu from 1.0.21 to 1.0.22 in /fuzz
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.21...1.0.22 )
---
updated-dependencies:
- dependency-name: ryu
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-30 01:23:44 +00:00
dependabot[bot]
f11682feea
build: Bump ryu from 1.0.21 to 1.0.22
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.21...1.0.22 )
---
updated-dependencies:
- dependency-name: ryu
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-30 00:24:38 +00:00
dependabot[bot]
db205150f9
build: Bump crate-ci/typos from 1.40.0 to 1.40.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.40.0 to 1.40.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.40.0...v1.40.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.40.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-30 00:05:16 +00:00
Demi Marie Obenour
aca7b01c6b
net_util: Fix MAC address parsing
...
It wrongly allowed addresses containing a + instead of a hex character.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2025-12-29 12:09:53 +00:00
dependabot[bot]
d741cd53de
build: Bump the non-rust-vmm group across 2 directories with 15 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [igvm](https://github.com/microsoft/igvm ) | ``5d2b5a5`` | ``81dd0e4`` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.145` | `1.0.146` |
| [async-lock](https://github.com/smol-rs/async-lock ) | `3.4.1` | `3.4.2` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.19.0` | `3.19.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.49` | `1.2.50` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.15` | `1.0.16` |
| libredox | `0.1.10` | `0.1.11` |
| [portable-atomic](https://github.com/taiki-e/portable-atomic ) | `1.11.1` | `1.12.0` |
| [ryu](https://github.com/dtolnay/ryu ) | `1.0.20` | `1.0.21` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.3` | `0.7.5+spec-1.1.0` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.9` | `0.23.10+spec-1.0.0` |
| [tracing](https://github.com/tokio-rs/tracing ) | `0.1.43` | `0.1.44` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.145` | `1.0.146` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.19.0` | `3.19.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.49` | `1.2.50` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.15` | `1.0.16` |
| [ryu](https://github.com/dtolnay/ryu ) | `1.0.20` | `1.0.21` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.3` | `0.7.5+spec-1.1.0` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.9` | `0.23.10+spec-1.0.0` |
Updates `igvm` from `5d2b5a5` to `81dd0e4`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](5d2b5a58e0...81dd0e49cd )
Updates `igvm_defs` from `5d2b5a5` to `81dd0e4`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](5d2b5a58e0...81dd0e49cd )
Updates `serde_json` from 1.0.145 to 1.0.146
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146 )
Updates `async-lock` from 3.4.1 to 3.4.2
- [Release notes](https://github.com/smol-rs/async-lock/releases )
- [Changelog](https://github.com/smol-rs/async-lock/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-lock/compare/v3.4.1...v3.4.2 )
Updates `bumpalo` from 3.19.0 to 3.19.1
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/v3.19.0...v3.19.1 )
Updates `cc` from 1.2.49 to 1.2.50
- [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.49...cc-v1.2.50 )
Updates `itoa` from 1.0.15 to 1.0.16
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.15...1.0.16 )
Updates `libredox` from 0.1.10 to 0.1.11
Updates `portable-atomic` from 1.11.1 to 1.12.0
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/v1.11.1...v1.12.0 )
Updates `ryu` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.20...1.0.21 )
Updates `toml_datetime` from 0.7.3 to 0.7.5+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.3...toml_datetime-v0.7.5 )
Updates `toml_edit` from 0.23.9 to 0.23.10+spec-1.0.0
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.9...v0.23.10 )
Updates `toml_parser` from 1.0.4 to 1.0.6+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.4...toml_parser-v1.0.6 )
Updates `tracing` from 0.1.43 to 0.1.44
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.43...tracing-0.1.44 )
Updates `tracing-core` from 0.1.35 to 0.1.36
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.35...tracing-core-0.1.36 )
Updates `serde_json` from 1.0.145 to 1.0.146
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146 )
Updates `bumpalo` from 3.19.0 to 3.19.1
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/v3.19.0...v3.19.1 )
Updates `cc` from 1.2.49 to 1.2.50
- [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.49...cc-v1.2.50 )
Updates `itoa` from 1.0.15 to 1.0.16
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.15...1.0.16 )
Updates `ryu` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.20...1.0.21 )
Updates `toml_datetime` from 0.7.3 to 0.7.5+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.3...toml_datetime-v0.7.5 )
Updates `toml_edit` from 0.23.9 to 0.23.10+spec-1.0.0
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.9...v0.23.10 )
Updates `toml_parser` from 1.0.4 to 1.0.6+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.4...toml_parser-v1.0.6 )
---
updated-dependencies:
- dependency-name: igvm
dependency-version: 81dd0e49cd3caf9e894e376969e33f2584e6f8ba
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: igvm_defs
dependency-version: 81dd0e49cd3caf9e894e376969e33f2584e6f8ba
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.146
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-lock
dependency-version: 3.4.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.50
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libredox
dependency-version: 0.1.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic
dependency-version: 1.12.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: ryu
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.5+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.10+spec-1.0.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.6+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing
dependency-version: 0.1.44
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-core
dependency-version: 0.1.36
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.146
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.50
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: ryu
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.5+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.10+spec-1.0.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.6+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-23 09:16:45 +00:00
Demi Marie Obenour
2278a5236a
misc: Fix mis-sorting of command line options
...
This un-breaks the test suite with the dbus_api feature enabled.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2025-12-20 07:11:11 +00:00
Bo Chen
9a24680abd
build: Release v50.0
...
Signed-off-by: Bo Chen <bchen@crusoe.ai>
2025-12-19 00:08:01 +00:00
Thomas Prescher
736813f90c
tests: add live disk resize test
...
This test verifies that we can grow and shrink
disk images during runtime.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Thomas Prescher
b15459106c
docs: update vm.resize-disk
...
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Thomas Prescher
5fb078305a
ch-remote: support live disk resizing
...
Support disk resizing via ch-remote and REST api.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Thomas Prescher
aac240d076
block: raw_async: implement disk resizing
...
Support for resize events for raw_async disks.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Thomas Prescher
37d71fa038
vmm: disk resize infrastructure
...
Add basic infrastructure so resize events are
propagated to the underlying disk implementation.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Thomas Prescher
8e52bf251b
block: virtio-devices: make disk_nsectors a shared atomic
...
This change is a prerequisite for live disk resizing. Before this
commit, the epoll-handler threads just got a copy of the sector
size which we cannot update during runtime.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
2025-12-17 13:54:52 +00:00
Anatol Belski
d75bd1675c
performance-metrics: Add QCOW2 backing file performance test
...
Add sequential and random read performance tests for QCOW2 overlays
with QCOW2 backing files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2025-12-16 21:49:54 +00:00
Anatol Belski
d696cea024
performance-metrics: Refactor fio_control to BlockControl
...
Introduce a new BlockControl struct to encapsulate fio operation
parameters. This replaces the tuple-based fio_control with a more
extensible structure that includes:
- fio_ops: The FIO operation type
- bandwidth: Whether to measure bandwidth or IOPS
- test_file: The file path to test against
This refactoring enables reusing performance_block_io with different
test files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2025-12-16 21:49:54 +00:00
Philipp Schuster
7288031c0e
misc: slightly improve feature list readability
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:05:49 +00:00
Philipp Schuster
82e8002fa0
misc: clippy: remove some overrides
...
Closes #4986 [0].
[0]: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4986
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:05:49 +00:00
Pascal Scholz
a8d1411307
vmm: Write directly to member when creating new devices
...
Virtio PCI devices are created in a set of nested functions. In each
of this functions a vector is created to add created devices to, only
to be appended to the vector of the higher nesting level. Those nested
vectors are unnecessary as we can directly write to the member of
`DeviceManager`.
Signed-off-by: Pascal Scholz <pascal.scholz@cyberus-technology.de>
On-behalf-of: SAP pascal.scholz@sap.com
2025-12-14 17:04:23 +00:00
Philipp Schuster
9569809d4c
block: fix bug with wrong lock granularity for image container formats
...
The lock must always correspond to the physical size of the file,
everything else doesn't make sense.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
Philipp Schuster
603b5e862c
block: add DiskFile::physical_size()
...
This is a pre-requisite for the bug fix in the following commit.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
Philipp Schuster
53092359b4
block: rename DiskFile::size() -> DiskFile::logical_size()
...
This better reflects the actual usage.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
dependabot[bot]
0ddb032cab
build: Bump actions/upload-artifact from 5 to 6
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-13 00:22:02 +00:00
Oliver Anderson
bcc6ac68e9
seccomp: Add KVM_GET_XSAVE2 for amx state
...
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de>
Signed-off-by: Songqian Li <sionli@tencent.com>
2025-12-11 17:14:13 +00:00
Songqian Li
4b4954ff86
hypervisor: AMX state snapshot and restore support
...
The TILE data state of AMX may require 8KB+ space, calling the legacy
KVM_GET_XSAVE will encounter an error since KVM_GET_XSAVE only can get
4KB space. This patch adds KVM_GET_XSAVE2 support to allow snapping more
data.
Fixes : #7533
Signed-off-by: Songqian Li <sionli@tencent.com>
2025-12-11 17:14:13 +00:00
Anatol Belski
5c5f33050c
block: qcow: Refactor pointer table writes to use iterators
...
Refactor write_pointer_table to accept iterators instead of requiring
materialized vectors, eliminating temporary allocations in L1 table
sync operations.
Changes:
- Modified write_pointer_table() to take Iterator<Item = &T> and
dereference internally before passing owned values to the callback
- Added write_pointer_table_direct() convenience wrapper for cases
without value transformation
- Updated sync_caches() to use l1_table.iter() directly instead of
.get_values().iter().copied()
- Implemented Deref<Target = [T]> for VecCache to enable direct .iter()
Performance impact:
- Eliminates L1 table allocation during sync (~2KB per 100GB disk)
- L2 and refcount table writes already used slices, no change there
- Zero performance overhead: iterator dereferencing is equivalent to
.copied() and optimizes identically
The L1 sync previously collected entries into a Vec to apply the
OFLAG_COPIED flag. The new iterator+callback pattern computes this
on-the-fly, avoiding the allocation entirely.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2025-12-10 23:35:46 +00:00
Anatol Belski
be5b14ef3a
block: qcow: Implement Deref for VecCache
...
Add Deref<Target = [T]> implementation for VecCache<T> to allow direct
slice operations without explicitly calling get_values(). This enables
cleaner code patterns like cache.iter() instead
of cache.get_values().iter().
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2025-12-10 23:35:46 +00:00
Anatol Belski
9dc923f379
seccomp: Allow fcntl in virtio-block thread
...
Add fcntl to virtio_block_thread_rules to allow try_clone() on file
descriptors. The try_clone() method uses fcntl(fd, F_DUPFD_CLOEXEC)
to duplicate file descriptors, which is needed for efficient QCOW2
L1 table sync that avoids temporary allocations.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2025-12-10 23:35:46 +00:00
Sebastien Boeuf
f57b9b2359
tests: Re-enable test_vdpa_net
...
Creating a vdpa_net with an associated MAC address and setting the right
amount of queues in order to fix the integration test related to
vdpa_net.
Fixes : #5756
Signed-off-by: Sebastien Boeuf <seb@rivosinc.com>
2025-12-10 11:43:45 +00:00
Philipp Schuster
6bda6541be
vmm: cleanup &Mutex parameters
...
In [0] we refactored some Arc<Mutex<T>> parameters to &Mutex<T>> to
satisfy clippy's needless_pass_by_value lint. Nevertheless, this is also
not so idiomatic, so as a follow-up, we put the responsibility to lock
objects to the caller side (only where this is not strictly needed by
the callee).
While on it, I also tried to pass vm_config directly into
pre_create_console_devices() which would clean up some code, but then
we have interleaving mutable and immutable borrows of the Vmm, which
are denied by the borrow checker.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-10 11:06:29 +00:00
Stefan Nürnberger
4592f37bcf
tests: integration: expect some ksm merged pages
...
Our CI test execution system finds some mergeable pages in the system
directly on boot since a recent update. Remove the broken assumption in
the test_memory_mergeable integration test and only check if the guest
VMs influence the shared pages count.
Signed-off-by: Stefan Nürnberger <stefan.nuernberger@cyberus-technology.de>
2025-12-09 23:29:07 +00:00
Connor Brewster
41a8dcd9ba
block: allow VIRTIO_BLK_T_GET_ID for read-only devices
...
https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7294 adjusted
the checks for read-only requests made to virtio-blk devices and started
rejecting VIRTIO_BLK_T_GET_ID requests. These requests do not perform
any writes and are needed in order to access device serials from within
the guest.
Signed-off-by: Connor Brewster <cbrewster@hey.com>
2025-12-09 16:22:46 +00:00
Oliver Anderson
8de24b5f08
vmm: Fix clippy lints
...
This PR fixes some clippy lints in the vmm crate.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de>
On-behalf-of: SAP oliver.anderson@sap.com
2025-12-09 16:14:44 +00:00
Philipp Schuster
0be7d1bd82
ci: replace cargo rustc -> cargo build to support virtual manifests
...
`cargo rustc` is incompatible with virtual manifests, so the CI needs to
use cargo build instead. However, passing `RUSTFLAGS="-D warnings"` via
the environment would propagate to all dependencies, and some of them
currently fail to build under ``-D warnings` due to issues like [0]:
```
error: creating a mutable reference to mutable static
--> src/temp.rs:97:5
|
97 | DIRS.pop()
| ^^^^^^^^^^ mutable reference to mutable static
```
To resolve this, apply ``-D warnings` only to the `cargo clippy`
commands (which apply to our workspace only) and avoid enforcing it for
the entire cargo build.
[0]: https://github.com/cloud-hypervisor/cloud-hypervisor/actions/runs/19962283528/job/57245376263?pr=7525
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
3191ff26e1
docs: adjust contributing.md: remove need for --all (--workspace)
...
It is no longer needed to add `--all` (which is an alias for
`--workspace`). The documentation says "Commands run in the workspace
root will run against all workspace members by default" [0].
We however still need `--tests` as this activates the building of
tests in `<crate>/tests` directories.
[0] https://doc.rust-lang.org/cargo/reference/workspaces.html#virtual-workspace
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
9979e562b2
docs: adjust contributing.md: fix missing --all
...
Unrelated but necessary to also always format code for all
architectures and all features.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
70146ee7af
test_infra: Adapt to workspace + make code more robust
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
3d049765bd
build: decouple Cargo.toml: split crate and workspace definitions
...
TL;DR: cargo clippy|check|... now runs on whole workspace by default.
## Steps
- add new workspace member `cloud-hypervisor`
- move `./src` to new workspace member
- move `./tests` to new workspace member
- move relevant parts from Cargo.toml to new workspace member
- kept necessary parts in main Cargo.toml, such as profile
configurations
## About
The main Cargo.toml historically mixes workspace and crate definitions
for cloud-hypervisor and ch-remote. This makes it hard to read and
requires `--workspace` to run cargo clippy or cargo test on all
workspace members, which is counter-intuitive.
This patch separates the workspace from the crate definition in the main
Cargo.toml file. After this, cargo clippy, cargo test, etc., work on the
whole workspace naturally, giving a smoother developer experience. The
Cargo.toml without a package definition is also called a virtual
workspace or virtual manifest by Cargo [0].
Backporting is not a concern: CHV no longer backports, but the affected
files are rarely modified anyway.
[0] https://doc.rust-lang.org/cargo/reference/workspaces.html#virtual-workspace
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
f104bcdb6b
build: remove useless build scripts (copy & paste artifact)
...
This will also prevent some useless rebuilds. Using `--verbose` we can
observe that the build.rs causes frequent useless rebuilds - having
less is a good thing. They come from the dependency of `build.rs` to
the local git repository.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00