mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
d98918d4e9bb626fa7d19f4836ece3ce445eace6
854 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5cb619ff7c |
hypervisor: Implement common traits for CpuVendor
Serialized CPU profiles will contain information about the CPU vendor. While there are other ways to encode this, such as going via CPUID, we find simply serializing the pre-existing enum the simplest. We also implement some other common traits such as `Debug` and `Eq` which make it more convenient to work with this type. Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de> On-behalf-of: SAP oliver.anderson@sap.com |
||
|
|
673d4a441c |
hypervisor: Fix clippy: for_kv_map
Fix use of a paired map iterator when only the values are cared about. Signed-off-by: Rob Bradford <rbradford@meta.com> |
||
|
|
649ca23345 |
arch, hypervisor: Report KVM IMSIC interrupt IDs
The RISC-V AIA FDT node currently advertises a fixed riscv,num-ids value. That can diverge from the interrupt identity count configured by KVM, which matters for guests running with an emulated IMSIC. Record the NR_IDS value reported by KVM and expose that value through the generated device tree. Read back the KVM-selected AIA mode without forcing an emulation mode. Assisted-by: OpenAI-Codex:GPT-5 Signed-off-by: wangyf0611 <wangyufeng@iscas.ac.cn> |
||
|
|
9c2e2a67cc |
hypervisor: Enable sstateen0 for KVM vCPUs
KVM initializes RISC-V vCPUs with sstateen0 cleared. When AIA is exposed to the guest, Linux touches supervisor AIA CSRs while bringing up the IMSIC path, and those accesses fail if the stateen bits remain disabled. Program sstateen0 for newly created vCPUs so the guest can use the supervisor interrupt state needed by AIA. Assisted-by: OpenAI-Codex:GPT-5 Signed-off-by: wangyf0611 <wangyufeng@iscas.ac.cn> |
||
|
|
5c25d82f59 |
hypervisor, vmm: Fix aarch64 SVE register save/restore
When SVE is enabled, KVM replaces the FPSIMD V-registers with wider SVE Z-registers. Attempting to access the old FPSIMD offsets returns EINVAL. Fix by classifying each register from KVM_GET_REG_LIST as core, system, or extended. Extended registers (currently SVE only) are saved as generic `ExtendedReg` entries split into `pre_finalize_regs` (registers like SVE VLS that must be written before `vcpu_finalize`) and `extended_regs`. FPSIMD registers are only accessed when SVE is absent. Unrecognized register families error immediately so future extensions like SME fail clearly rather than silently losing state. The snapshot is deserialized before vCPU init to make pre-finalize register state available for the init -> VLS -> finalize ordering required by KVM. Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
177d8b80e2 |
hypervisor: Extract FPSIMD register access into helper methods
Move the inline FPSIMD register read/write code from `get_regs()` and
`set_regs()` into dedicated `get_fpsimd_regs()` and `set_fpsimd_regs()`
methods on `KvmVcpu`.
This helps keep the larger `{get,set}_regs()` easier to understand and
prepares them for a subsequent commit that needs to conditionally
skip FPSIMD access when SVE registers are used instead.
Signed-off-by: Ruben Hakobyan <hruben@meta.com>
|
||
|
|
18bbc71b59 |
hypervisor: fix typo
On-behalf-of: SAP philipp.schuster@sap.com Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> xxx ci |
||
|
|
49259bb84f |
hypervisor: kvm: Punch holes in guest_memfd on shared transition
When an SEV-SNP guest transitions pages from private to shared via KVM_HC_MAP_GPA_RANGE, punch holes in the corresponding guest_memfd backing it. Without this the balloon driver's `set_memory_decrypted()` path transitions the page attributes but the physical memory stays pinned in guest_memfd, making virtio-balloon ineffective for memory overcommit with confidential VMs. Even without ballooning these pages are unused by the guest so consume resources. This mirrors the hole punching that the balloon device does for releasing pages. The memory_slots Arc is cloned into each KvmVcpu at creation so the punch can happen in the vcpu thread. Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Rob Bradford <rbradford@meta.com> |
||
|
|
ebeef03192 |
hypervisor: kvm: Introduce KvmMemorySlot to track guest_memfd per slot
Replace the bare OwnedFd map (guest_memfds) with a KvmMemorySlot struct wrapped in an Arc so it can later be shared with KvmVcpu. This is a pure refactor with no functional change; KvmMemorySlot currently holds only the guest_memfd OwnedFd. Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Rob Bradford <rbradford@meta.com> |
||
|
|
a67277b9cd |
hypervisor: kvm: improve logging for triple fault
When a triple fault happens [0], we now get at least a log message. This helps to better understand the root cause of sudden reboots. Broader context: We experience reboots caused by triple faults in edk2 (6 months old as well as recent). They happen so early in the boot that one doesn't really see them without looking at the VMM log. An automatic system reset plus reboot often hides these situations - now they are at least more visible in the log. PS: Printing the registers to get more debugging help doesn't help, as the guest already triple-faulted - the CPU state of the root cause doesn't exist anymore. [0] https://elixir.bootlin.com/linux/v6.18.6/source/arch/x86/kvm/x86.c#L11123 On-behalf-of: SAP philipp.schuster@sap.com Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> |
||
|
|
9b0d4b20ea |
hypervisor: replace as <pointer> casts with safer alternatives
`as` casts can change mutability, which quickly leads to undefined behavior. Signed-off-by: Julian Schindel <mail@arctic-alpaca.de> |
||
|
|
c97d635d40 |
hypervisor, vmm: Build and pass SNP ID block to launch finish
Add KvmSevSnpIdBlock and KvmSevSnpIdAuth structs matching the AMD SEV-SNP Firmware ABI Spec (Rev 1.58), and build them from the IGVM SNP ID block directive during launch finish. This properly populates id_block_uaddr/id_auth_uaddr in KVM_SEV_SNP_LAUNCH_FINISH and derives auth_key_en from the assembled author key, matching QEMU's behavior. Thread the guest policy from sev_snp_init to launch_finish via an atomic on KvmVm so the ID block gets the correct policy value. Also track has_snp_id_block in IgvmLoadedInfo to enable the ID block based on whether the IGVM file actually contains one, rather than hardcoding it for KVM. Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
475c8d3efb |
hypervisor: mshv: Use VP register page for state access
Use the VP register page to read and write emulation-related special registers directly, avoiding expensive IOCTLs for registers that instruction emulation never touches. In cpu_state(), read only segments, cr0, and efer from the VP register page instead of calling get_sregs() which issues IOCTLs for tr, ldt, gdt, idt, cr2, apic_base, and pending_interruption. In update_cpu_state(), when segments change, write only the 6 segment registers to the VP register page and set the segment dirty bit, instead of calling set_sregs() which issues IOCTLs for tr, ldt, gdt, idt, cr0-cr4, cr8, efer, and apic_base. Both paths fall back to the IOCTL-based methods when the VP register page is not available. Signed-off-by: Muminul Islam <muislam@microsoft.com> |
||
|
|
389257964b |
hypervisor: mshv: Make the translation caching code idiomatic
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
||
|
|
842d02fdd9 |
hypervisor: mshv: Validate GPA mapping with GvaGpaValid flag
The GvaGpaValid flag in the intercept message indicates whether the provided GPA corresponds to the decoded GVA. Without checking this flag, the emulator may incorrectly use a stale GPA mapping when the hypervisor invalidates it. Add a check for the GvaGpaValid flag before using the cached (GVA, GPA) mapping. If the flag is clear, use a sentinel value to force translate() to perform a proper hypercall-based translation instead of using an invalid cached mapping. Signed-off-by: Pedro Barbuda <pbarbuda@microsoft.com> Signed-off-by: Muminul Islam <muislam@microsoft.com> |
||
|
|
75e6e694a2 |
build(deps): bump the non-rust-vmm group across 2 directories with 22 updates
Bumps the non-rust-vmm group with 18 updates in the / directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.11.0` | `2.11.1` | | [clap](https://github.com/clap-rs/clap) | `4.6.0` | `4.6.1` | | [libc](https://github.com/rust-lang/libc) | `0.2.184` | `0.2.185` | | [uuid](https://github.com/uuid-rs/uuid) | `1.23.0` | `1.23.1` | | [io-uring](https://github.com/tokio-rs/io-uring) | `0.7.11` | `0.7.12` | | [bitfield-struct](https://github.com/wrenger/bitfield-struct-rs) | `0.12.1` | `0.13.0` | | [rand](https://github.com/rust-random/rand) | `0.10.0` | `0.10.1` | | [async-signal](https://github.com/smol-rs/async-signal) | `0.2.13` | `0.2.14` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.59` | `1.2.60` | | [fastrand](https://github.com/smol-rs/fastrand) | `2.3.0` | `2.4.1` | | [js-sys](https://github.com/wasm-bindgen/wasm-bindgen) | `0.3.91` | `0.3.95` | | libredox | `0.1.15` | `0.1.16` | | [openssl-src](https://github.com/alexcrichton/openssl-src-rs) | `300.5.5+3.5.5` | `300.6.0+3.6.2` | | [openssl-sys](https://github.com/rust-openssl/rust-openssl) | `0.9.112` | `0.9.114` | | [pkg-config](https://github.com/rust-lang/pkg-config-rs) | `0.3.32` | `0.3.33` | | [portable-atomic-util](https://github.com/taiki-e/portable-atomic-util) | `0.2.6` | `0.2.7` | | [rand_core](https://github.com/rust-random/rand_core) | `0.10.0` | `0.10.1` | | [wasip2](https://github.com/bytecodealliance/wasi-rs) | `1.0.2+wasi-0.2.9` | `1.0.3+wasi-0.2.9` | Bumps the non-rust-vmm group with 11 updates in the /fuzz directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.11.0` | `2.11.1` | | [clap](https://github.com/clap-rs/clap) | `4.6.0` | `4.6.1` | | [libc](https://github.com/rust-lang/libc) | `0.2.184` | `0.2.185` | | [uuid](https://github.com/uuid-rs/uuid) | `1.23.0` | `1.23.1` | | [rand](https://github.com/rust-random/rand) | `0.10.0` | `0.10.1` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.59` | `1.2.60` | | [fastrand](https://github.com/smol-rs/fastrand) | `2.3.0` | `2.4.1` | | [js-sys](https://github.com/wasm-bindgen/wasm-bindgen) | `0.3.91` | `0.3.95` | | [pkg-config](https://github.com/rust-lang/pkg-config-rs) | `0.3.32` | `0.3.33` | | [rand_core](https://github.com/rust-random/rand_core) | `0.10.0` | `0.10.1` | | [wasip2](https://github.com/bytecodealliance/wasi-rs) | `1.0.2+wasi-0.2.9` | `1.0.3+wasi-0.2.9` | Updates `bitflags` from 2.11.0 to 2.11.1 - [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.11.0...2.11.1) Updates `clap` from 4.6.0 to 4.6.1 - [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.6.0...clap_complete-v4.6.1) Updates `libc` from 0.2.184 to 0.2.185 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.185/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.184...0.2.185) Updates `uuid` from 1.23.0 to 1.23.1 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1) Updates `io-uring` from 0.7.11 to 0.7.12 - [Commits](https://github.com/tokio-rs/io-uring/compare/v0.7.11...v0.7.12) Updates `bitfield-struct` from 0.12.1 to 0.13.0 - [Release notes](https://github.com/wrenger/bitfield-struct-rs/releases) - [Commits](https://github.com/wrenger/bitfield-struct-rs/compare/0.12.1...0.13.0) Updates `rand` from 0.10.0 to 0.10.1 - [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.10.0...0.10.1) Updates `async-signal` from 0.2.13 to 0.2.14 - [Release notes](https://github.com/smol-rs/async-signal/releases) - [Changelog](https://github.com/smol-rs/async-signal/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-signal/compare/v0.2.13...v0.2.14) Updates `cc` from 1.2.59 to 1.2.60 - [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.59...cc-v1.2.60) Updates `fastrand` from 2.3.0 to 2.4.1 - [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.3.0...v2.4.1) Updates `js-sys` from 0.3.91 to 0.3.95 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/commits) Updates `libredox` from 0.1.15 to 0.1.16 Updates `openssl-src` from 300.5.5+3.5.5 to 300.6.0+3.6.2 - [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases) - [Commits](https://github.com/alexcrichton/openssl-src-rs/commits) Updates `openssl-sys` from 0.9.112 to 0.9.114 - [Release notes](https://github.com/rust-openssl/rust-openssl/releases) - [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-sys-v0.9.112...openssl-sys-v0.9.114) Updates `pkg-config` from 0.3.32 to 0.3.33 - [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.32...0.3.33) Updates `portable-atomic-util` from 0.2.6 to 0.2.7 - [Release notes](https://github.com/taiki-e/portable-atomic-util/releases) - [Changelog](https://github.com/taiki-e/portable-atomic-util/blob/main/CHANGELOG.md) - [Commits](https://github.com/taiki-e/portable-atomic-util/compare/v0.2.6...v0.2.7) Updates `rand_core` from 0.10.0 to 0.10.1 - [Release notes](https://github.com/rust-random/rand_core/releases) - [Changelog](https://github.com/rust-random/rand_core/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand_core/compare/v0.10.0...v0.10.1) Updates `wasip2` from 1.0.2+wasi-0.2.9 to 1.0.3+wasi-0.2.9 - [Commits](https://github.com/bytecodealliance/wasi-rs/compare/wasip2-1.0.2...wasip2-1.0.3) Updates `wasm-bindgen` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-macro` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-macro-support` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-shared` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `bitflags` from 2.11.0 to 2.11.1 - [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.11.0...2.11.1) Updates `clap` from 4.6.0 to 4.6.1 - [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.6.0...clap_complete-v4.6.1) Updates `libc` from 0.2.184 to 0.2.185 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.185/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.184...0.2.185) Updates `uuid` from 1.23.0 to 1.23.1 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1) Updates `rand` from 0.10.0 to 0.10.1 - [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.10.0...0.10.1) Updates `cc` from 1.2.59 to 1.2.60 - [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.59...cc-v1.2.60) Updates `fastrand` from 2.3.0 to 2.4.1 - [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.3.0...v2.4.1) Updates `js-sys` from 0.3.91 to 0.3.95 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/commits) Updates `pkg-config` from 0.3.32 to 0.3.33 - [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.32...0.3.33) Updates `rand_core` from 0.10.0 to 0.10.1 - [Release notes](https://github.com/rust-random/rand_core/releases) - [Changelog](https://github.com/rust-random/rand_core/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand_core/compare/v0.10.0...v0.10.1) Updates `wasip2` from 1.0.2+wasi-0.2.9 to 1.0.3+wasi-0.2.9 - [Commits](https://github.com/bytecodealliance/wasi-rs/compare/wasip2-1.0.2...wasip2-1.0.3) Updates `wasm-bindgen` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-macro` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-macro-support` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) Updates `wasm-bindgen-shared` from 0.2.114 to 0.2.118 - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.118) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.11.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.6.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.185 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.23.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: io-uring dependency-version: 0.7.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bitfield-struct dependency-version: 0.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: rand dependency-version: 0.10.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: async-signal dependency-version: 0.2.14 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.60 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: fastrand dependency-version: 2.4.1 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: js-sys dependency-version: 0.3.95 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libredox dependency-version: 0.1.16 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: openssl-src dependency-version: 300.6.0+3.6.2 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: openssl-sys dependency-version: 0.9.114 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: pkg-config dependency-version: 0.3.33 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: portable-atomic-util dependency-version: 0.2.7 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand_core dependency-version: 0.10.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasip2 dependency-version: 1.0.3+wasi-0.2.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-macro dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-macro-support dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-shared dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bitflags dependency-version: 2.11.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.6.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.185 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.23.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand dependency-version: 0.10.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.60 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: fastrand dependency-version: 2.4.1 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: js-sys dependency-version: 0.3.95 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: pkg-config dependency-version: 0.3.33 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand_core dependency-version: 0.10.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasip2 dependency-version: 1.0.3+wasi-0.2.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-macro dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-macro-support dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wasm-bindgen-shared dependency-version: 0.2.118 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
75ed2c9f90 |
vmm: add KVM SEV-SNP support to IGVM loader
Adapt the IGVM loader to work with both MSHV and KVM backends, which differ in page type constants, CPUID page layout, and VMSA handling. Abstract page types into a PageTypeConfig struct populated at runtime from the detected hypervisor, replacing hardcoded mshv_bindings constants. Apply the VMSA register state to each vCPU via setup_sev_snp_regs(), translating SevSelector attributes to KVM segment format using a bitfield decoder. KVM's SNP launch path sanitizes certain CPUID bits that could lead to an insecure guest. If the VMM sets these bits, KVM rejects the CPUID page import on the first attempt, requiring a retry with the firmware-corrected values. Pre-clear the known problematic bits before import to avoid the reject-and-retry cycle: - Leaf 0x1, ECX bit 24: TSC_DEADLINE (filtered by KVM) - Leaf 0x7, EBX bit 1: SGX (filtered by KVM) - Leaf 0x7, EDX: clear entirely (contains speculative features) - Leaf 0x80000008, EBX bit 25: filtered by KVM - Leaf 0x80000021, ECX: clear entirely This keeps the CPUID page stable across launch updates and avoids noisy error logs from the retry path. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Co-authored-by: Dylan Reid <dgreid@fb.com> Signed-off-by: Dylan Reid <dgreid@fb.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
b5ddcdc74a |
hypervisor: handle VcpuExit::MemoryFault for AP boot page conversions
During SNP boot all guest RAM is initially marked KVM_MEMORY_ATTRIBUTE_PRIVATE. Pages imported via SNP_LAUNCH_UPDATE are properly accepted by the guest, but generic RAM pages (e.g. the AP trampoline at GPA 0xD000) are not. When stage0 on the BSP starts secondary vCPUs via x2APIC, the APs try to execute from the trampoline page through the shared mapping while KVM still has it marked private, causing a KVM_EXIT_MEMORY_FAULT (flags=KVM_MEMORY_EXIT_FLAG_PRIVATE) that previously fell through to the catch-all error, killing the VM. Handle VcpuExit::MemoryFault by toggling the page's memory attribute between private and shared based on the exit flags, allowing the vCPU to retry the access. Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
4a0cfa02de |
hypervisor: Handle KVM_HC_MAP_GPA_RANGE hypercalls
SEV-SNP guests will issue this hypercall to signal a change in the page encryption status to the hypervisor. Handle VcpuExit::Hypercall in the KVM vCPU run loop: decode the GPA, page count, and private/shared attribute from the hypercall arguments, then call KVM_SET_MEMORY_ATTRIBUTES to update the page state. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
4b2538f522 |
hypervisor, vmm: Add support for KVM_SEV_SNP_LAUNCH_FINISH
Add the KVM_SEV_SNP_LAUNCH_FINISH ioctl, which finalizes the SNP launch sequence and transitions the VM into a runnable encrypted state. Additionally, add KVM_SEV_SNP_LAUNCH_FINISH to the seccomp allowlist. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
24db5e1efd |
hypervisor, vmm: Add support for KVM_SEV_SNP_LAUNCH_UPDATE
Implement the KVM_SEV_SNP_LAUNCH_UPDATE ioctl. Extend Vm::import_isolated_pages() with a uaddrs parameter carrying host virtual addresses, which KVM needs, unlike MSHV. Compute uaddrs from guest memory mappings in the IGVM loader. Add KVM_SEV_SNP_LAUNCH_UPDATE to the seccomp allowlist. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
2e004521e0 |
hypervisor, vmm: Add KVM SEV_{INIT2, SNP_LAUNCH_START} support
Introduce the SevFd abstraction that wraps /dev/sev and implements the KVM_SEV_INIT2 and KVM_SEV_SNP_LAUNCH_START ioctls for SEV-SNP VM initialization on KVM. Key changes: - Add sev.rs with KvmSevInit and KvmSevSnpLaunchStart ioctl structs matching the kernel layout (linux/arch/x86/include/uapi/asm/kvm.h) - Implement KVM_SEV_INIT2 and KVM_SEV_SNP_LAUNCH_START ioctls - Set KVM_MEMORY_ATTRIBUTE_PRIVATE on newly created memory regions when guest_memfd is supported - Widen SevSnpPageAccessProxy cfg gates from mshv-only to all sev_snp-enabled builds - Make sev_snp_init a required trait method (remove default impl) - Include KVM_SEV_SNP_LAUNCH_START in the seccomp allowlist - Parse VMSA SEV features from IGVM and include them in the KVM_SEV_INIT2 ioctl Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Co-authored-by: Rob Bradford <rbradford@meta.com> Signed-off-by: Rob Bradford <rbradford@meta.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
b545b2fc4e |
hypervisor, vmm: pass SNP guest policy to sev_snp_init
The SNP guest policy (AMD SEV-SNP ABI bits controlling SMT, migration, debug, etc.) was previously hardcoded inside the MSHV implementation. Widen Vm::sev_snp_init() to accept an SnpPolicy parameter so each hypervisor backend receives the policy at init time. Add get_default_sev_snp_guest_policy() in the VMM to construct the default policy. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
8ee0a07ab1 |
arch, hypervisor, vmm: skip vcpu setup when using igvm and kvm
When we use igvm + kvm, we setup the regs and sregs using the cpuid page. We still need to setup the fpu in configure_vcpu. Co-authored-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Alex Orozco <aorozco@google.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
cdbe43f423 |
hypervisor: kvm: Add GUEST_MEMFD and KVM_SET_USER_MEMORY_REGION2 support
Add support for guest_memfd (available in Linux kernel v6.8+), which enables private memory for confidential VMs. Key changes: - Introduce UserMemoryRegion abstraction with guest_memfd fields - Add From impls between kvm_userspace_memory_region2 and UserMemoryRegion - Convert all KVM memory region operations from kvm_userspace_memory_region to kvm_userspace_memory_region2, with automatic fallback to v1 when guest_memfd is not supported - Add set_user_memory_region() wrapper that dispatches to v1/v2 based on kvm_guest_memfd_supported capability - Create guest_memfd via KVM_CREATE_GUEST_MEMFD ioctl when supported - Extend KvmDirtyLogSlot to preserve region2 fields across dirty log start/stop cycles This is prerequisite infrastructure for KVM-based confidential computing that requires private guest memory backed by guest_memfd. Co-authored-by: Alex Orozco <aorozco@google.com> Signed-off-by: Keith Adler <kadler@cloudflare.com> Signed-off-by: Ruben Hakobyan <hruben@meta.com> |
||
|
|
de601c5eaa |
build(deps): bump the non-rust-vmm group across 2 directories with 10 updates
Bumps the non-rust-vmm group with 9 updates in the / directory: | Package | From | To | | --- | --- | --- | | [libc](https://github.com/rust-lang/libc) | `0.2.183` | `0.2.184` | | [signal-hook](https://github.com/vorner/signal-hook) | `0.4.3` | `0.4.4` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.9.0` | `1.9.1` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.58` | `1.2.59` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.13.0` | `2.13.1` | | [libz-sys](https://github.com/rust-lang/libz-sys) | `1.1.25` | `1.1.28` | | [semver](https://github.com/dtolnay/semver) | `1.0.27` | `1.0.28` | | [toml_datetime](https://github.com/toml-rs/toml) | `1.1.0+spec-1.1.0` | `1.1.1+spec-1.1.0` | | [toml_edit](https://github.com/toml-rs/toml) | `0.25.8+spec-1.1.0` | `0.25.10+spec-1.1.0` | Bumps the non-rust-vmm group with 8 updates in the /fuzz directory: | Package | From | To | | --- | --- | --- | | [libc](https://github.com/rust-lang/libc) | `0.2.183` | `0.2.184` | | [signal-hook](https://github.com/vorner/signal-hook) | `0.4.3` | `0.4.4` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.9.0` | `1.9.1` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.58` | `1.2.59` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.13.0` | `2.13.1` | | [semver](https://github.com/dtolnay/semver) | `1.0.27` | `1.0.28` | | [toml_datetime](https://github.com/toml-rs/toml) | `1.1.0+spec-1.1.0` | `1.1.1+spec-1.1.0` | | [toml_edit](https://github.com/toml-rs/toml) | `0.25.8+spec-1.1.0` | `0.25.10+spec-1.1.0` | Updates `libc` from 0.2.183 to 0.2.184 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.184/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.183...0.2.184) Updates `signal-hook` from 0.4.3 to 0.4.4 - [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/signal-hook/compare/v0.4.3...v0.4.4) Updates `arc-swap` from 1.9.0 to 1.9.1 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.9.0...v1.9.1) Updates `cc` from 1.2.58 to 1.2.59 - [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.58...cc-v1.2.59) Updates `indexmap` from 2.13.0 to 2.13.1 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.13.0...2.13.1) Updates `libz-sys` from 1.1.25 to 1.1.28 - [Release notes](https://github.com/rust-lang/libz-sys/releases) - [Commits](https://github.com/rust-lang/libz-sys/compare/1.1.25...1.1.28) Updates `semver` from 1.0.27 to 1.0.28 - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.27...1.0.28) Updates `toml_datetime` from 1.1.0+spec-1.1.0 to 1.1.1+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v1.1.0...toml_datetime-v1.1.1) Updates `toml_edit` from 0.25.8+spec-1.1.0 to 0.25.10+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/v0.25.8...v0.25.10) Updates `toml_parser` from 1.1.0+spec-1.1.0 to 1.1.2+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.1.0...toml_parser-v1.1.2) Updates `libc` from 0.2.183 to 0.2.184 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.184/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.183...0.2.184) Updates `signal-hook` from 0.4.3 to 0.4.4 - [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/signal-hook/compare/v0.4.3...v0.4.4) Updates `arc-swap` from 1.9.0 to 1.9.1 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.9.0...v1.9.1) Updates `cc` from 1.2.58 to 1.2.59 - [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.58...cc-v1.2.59) Updates `indexmap` from 2.13.0 to 2.13.1 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.13.0...2.13.1) Updates `semver` from 1.0.27 to 1.0.28 - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.27...1.0.28) Updates `toml_datetime` from 1.1.0+spec-1.1.0 to 1.1.1+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v1.1.0...toml_datetime-v1.1.1) Updates `toml_edit` from 0.25.8+spec-1.1.0 to 0.25.10+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/v0.25.8...v0.25.10) Updates `toml_parser` from 1.1.0+spec-1.1.0 to 1.1.2+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.1.0...toml_parser-v1.1.2) --- updated-dependencies: - dependency-name: libc dependency-version: 0.2.184 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: signal-hook dependency-version: 0.4.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.9.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.59 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.13.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libz-sys dependency-version: 1.1.28 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: semver dependency-version: 1.0.28 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 1.1.1+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.25.10+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.1.2+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.184 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: signal-hook dependency-version: 0.4.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.9.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.59 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.13.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: semver dependency-version: 1.0.28 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 1.1.1+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.25.10+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.1.2+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> |
||
|
|
f7f9895d57 |
hypervisor: kvm: preserve guest MTRR MSRs
KVM_GET_MSR_INDEX_LIST does not consistently include all guest-programmable MTRR MSRs. During save/restore while booting, the VMM initially sets only MSR_MTRRdefType, then guest firmware or other early boot code can program additional MTRR state before the snapshot is taken. If those MSRs are missing from the vCPU MSR buffer, snapshot omits part of the guest's MTRR configuration and restore resumes with an incomplete MTRR map. Add the guest-programmable MTRR MSRs to the KVM MSR index list used to build the vCPU MSR buffer so the existing snapshot/restore path preserves the guest's MTRR state. On-behalf-of: SAP leander.kohler@sap.com Signed-off-by: Leander Kohler <leander.kohler@cyberus-technology.de> |
||
|
|
7832401816 |
hypervisor: Add GHCB CPUID, MSR and TERM_REQ handlers
When booting an SEV-SNP guest VM using IGVM with -pvalidate_opt 1 (lazy
page acceptance), the guest kernel's #VC exception handler may issue
VMGEXIT with SVM_EXIT_CPUID (0x72) or SVM_EXIT_MSR (0x7c) exit codes
via the GHCB page protocol. The hypervisor had no handlers for these
exit codes, causing the guest's #VC handler to fail and trigger
sev_es_terminate(), which sends GHCB_MSR_TERM_REQ (0x100). The
hypervisor then panicked on the unhandled 0x100 operation.
Add the following handlers to the GHCB VMGEXIT processing:
- SVM_EXIT_CPUID (0x72): Read function/index/xcr0/xss from the GHCB
page and return CPUID results via get_cpuid_values().
- SVM_EXIT_MSR (0x7c): Handle MSR read (RDMSR) and write (WRMSR)
requests from the guest via the GHCB page protocol.
- GHCB_MSR_TERM_REQ (0x100): Decode reason_set and reason_val from the
GHCB MSR and return an error instead of panicking, allowing graceful
error propagation.
Testing:
Reproducer (on Azure DC16as_cc_v5, /dev/mshv):
cloud-hypervisor --cpus boot=1,nested=off --memory size=512M \
--disk path=osdisk.img path=cloudinit \
--net "tap=,mac=12:34:56:78:90:06,ip=192.168.6.1,mask=255.255.255.128" \
--serial null --console pty \
--api-socket /tmp/ch.sock \
--igvm /igvm_files/linux-ttyS0.bin \
--host-data <hash> --platform sev_snp=on -v
Before fix:
thread 'vcpu0' panicked at hypervisor/src/mshv/mod.rs:1207:30:
Unsupported VMGEXIT operation: 100
After fix: VM boots successfully to login prompt with no panics.
All virtio devices (console, rng, disks) activate normally.
No regression risk for non-SEV-SNP: all new code is within the
HVMSG_X64_SEV_VMGEXIT_INTERCEPT handler which is only reached for
SEV-SNP guests.
Signed-off-by: Souradeep Chakrabarti <schakrabarti@microsoft.com>
|
||
|
|
7e0f8f7163 |
build: Bump the non-rust-vmm group across 2 directories with 10 updates
Bumps the non-rust-vmm group with 6 updates in the / directory: | Package | From | To | | --- | --- | --- | | [env_logger](https://github.com/rust-cli/env_logger) | `0.11.9` | `0.11.10` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.8.2` | `1.9.0` | | [env_filter](https://github.com/rust-cli/env_logger) | `1.0.0` | `1.0.1` | | [terminal_size](https://github.com/eminence/terminal-size) | `0.4.3` | `0.4.4` | | [toml_datetime](https://github.com/toml-rs/toml) | `1.0.1+spec-1.1.0` | `1.1.0+spec-1.1.0` | | [toml_edit](https://github.com/toml-rs/toml) | `0.25.5+spec-1.1.0` | `0.25.8+spec-1.1.0` | Bumps the non-rust-vmm group with 3 updates in the /fuzz directory: [arc-swap](https://github.com/vorner/arc-swap), [toml_datetime](https://github.com/toml-rs/toml) and [toml_edit](https://github.com/toml-rs/toml). Updates `env_logger` from 0.11.9 to 0.11.10 - [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.9...v0.11.10) Updates `arc-swap` from 1.8.2 to 1.9.0 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.2...v1.9.0) Updates `anstream` from 0.6.21 to 1.0.0 - [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.21...anstream-v1.0.0) Updates `anstyle-parse` from 0.2.7 to 1.0.0 - [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-parse-v0.2.7...anstyle-parse-v1.0.0) Updates `env_filter` from 1.0.0 to 1.0.1 - [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-v1.0.0...env_filter-v1.0.1) Updates `terminal_size` from 0.4.3 to 0.4.4 - [Release notes](https://github.com/eminence/terminal-size/releases) - [Commits](https://github.com/eminence/terminal-size/compare/v0.4.3...v0.4.4) Updates `toml_datetime` from 1.0.1+spec-1.1.0 to 1.1.0+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v1.0.1...toml_datetime-v1.1.0) Updates `toml_edit` from 0.25.5+spec-1.1.0 to 0.25.8+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/v0.25.5...v0.25.8) Updates `toml_parser` from 1.0.10+spec-1.1.0 to 1.1.0+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.10...toml_parser-v1.1.0) Updates `windows-sys` from 0.60.2 to 0.61.2 - [Release notes](https://github.com/microsoft/windows-rs/releases) - [Commits](https://github.com/microsoft/windows-rs/commits) Updates `arc-swap` from 1.8.2 to 1.9.0 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.2...v1.9.0) Updates `toml_datetime` from 1.0.1+spec-1.1.0 to 1.1.0+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v1.0.1...toml_datetime-v1.1.0) Updates `toml_edit` from 0.25.5+spec-1.1.0 to 0.25.8+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/v0.25.5...v0.25.8) Updates `toml_parser` from 1.0.10+spec-1.1.0 to 1.1.0+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.10...toml_parser-v1.1.0) --- updated-dependencies: - dependency-name: env_logger dependency-version: 0.11.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: anstream dependency-version: 1.0.0 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: anstyle-parse dependency-version: 1.0.0 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: env_filter dependency-version: 1.0.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: terminal_size dependency-version: 0.4.4 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 1.1.0+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: toml_edit dependency-version: 0.25.8+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.1.0+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: windows-sys dependency-version: 0.61.2 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.9.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 1.1.0+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: toml_edit dependency-version: 0.25.8+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.1.0+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
e05065f509 |
build: Bump rust-vmm dependencies
Bump to the released versions that are compatible wherever possible but for the vhost and vfio crates they are git hashes as no releases with compatible versions have yet been made. Signed-off-by: Rob Bradford <rbradford@meta.com> |
||
|
|
e265543e3c |
misc: make MSRV workspace-wide for cloud-hypervisor dependencies
Moves the MSRV requirement to the workspace and expands it to all cloud-hypervisor dependencies and dev-dependencies. This improves discoverability for new contributors working on crates other than the cloud-hypervisor itself and creates consistency regarding the MSRV of cloud-hypervisor dependencies. Functionally, this doesn't change anything for dependencies of the cloud-hypervisor crate as the MSRV requirement is already enforced by CI when building the cloud-hypervisor with the MSRV versioned compiler. On-behalf-of: SAP julian.schindel@sap.com Signed-off-by: Julian Schindel <julian.schindel@cyberus-technology.de> |
||
|
|
001adbe15a |
hypervisor: mshv: cleanup unneeded Arc
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com |
||
|
|
a747e2b72a |
hypervisor: kvm: cleanup unneeded Arc
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com |
||
|
|
a94fa554c3 |
hypervisor: kvm: Fix nightly rustfmt import ordering
Nightly rustfmt now prefers `self` re-exports inline rather
than a separate 'pub use {kvm_bindings, kvm_ioctls}' line.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
|
||
|
|
68f746fbea |
hypervisor: mshv: use the new default partition args function
The 0.6.7 version of the mshv crates introduced a new version of make_default_partition_create_arg inside `struct Mshv`. This version queries the available processor features on the host and gives the same feature set to the guests. Move Cloud Hypervisor to this new function. Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com> |
||
|
|
08f338bcf6 |
build: Bump the non-rust-vmm group across 2 directories with 27 updates
Bumps the non-rust-vmm group with 14 updates in the / directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.10.0` | `2.11.0` | | [clap](https://github.com/clap-rs/clap) | `4.5.57` | `4.5.59` | | [env_logger](https://github.com/rust-cli/env_logger) | `0.11.8` | `0.11.9` | | [libc](https://github.com/rust-lang/libc) | `0.2.181` | `0.2.182` | | [uuid](https://github.com/uuid-rs/uuid) | `1.20.0` | `1.21.0` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.8.1` | `1.8.2` | | [futures](https://github.com/rust-lang/futures-rs) | `0.3.31` | `0.3.32` | | [async-executor](https://github.com/smol-rs/async-executor) | `1.13.3` | `1.14.0` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.55` | `1.2.56` | | [jiff](https://github.com/BurntSushi/jiff) | `0.2.19` | `0.2.20` | | [syn](https://github.com/dtolnay/syn) | `2.0.114` | `2.0.116` | | [toml_parser](https://github.com/toml-rs/toml) | `1.0.6+spec-1.1.0` | `1.0.9+spec-1.1.0` | | [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.23` | `1.0.24` | | [zmij](https://github.com/dtolnay/zmij) | `1.0.20` | `1.0.21` | Bumps the non-rust-vmm group with 13 updates in the /fuzz directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.10.0` | `2.11.0` | | [clap](https://github.com/clap-rs/clap) | `4.5.57` | `4.5.59` | | [libc](https://github.com/rust-lang/libc) | `0.2.181` | `0.2.182` | | [uuid](https://github.com/uuid-rs/uuid) | `1.20.0` | `1.21.0` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.8.1` | `1.8.2` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.55` | `1.2.56` | | [futures-core](https://github.com/rust-lang/futures-rs) | `0.3.31` | `0.3.32` | | [futures-sink](https://github.com/rust-lang/futures-rs) | `0.3.31` | `0.3.32` | | [syn](https://github.com/dtolnay/syn) | `2.0.114` | `2.0.116` | | [toml_parser](https://github.com/toml-rs/toml) | `1.0.6+spec-1.1.0` | `1.0.9+spec-1.1.0` | | [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.23` | `1.0.24` | | [zmij](https://github.com/dtolnay/zmij) | `1.0.20` | `1.0.21` | | [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer) | `0.4.10` | `0.4.12` | Updates `bitflags` from 2.10.0 to 2.11.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.10.0...2.11.0) Updates `clap` from 4.5.57 to 4.5.59 - [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.57...clap_complete-v4.5.59) Updates `env_logger` from 0.11.8 to 0.11.9 - [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.8...v0.11.9) Updates `libc` from 0.2.181 to 0.2.182 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.182/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.181...0.2.182) Updates `uuid` from 1.20.0 to 1.21.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0) Updates `arc-swap` from 1.8.1 to 1.8.2 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.1...v1.8.2) Updates `futures` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `async-executor` from 1.13.3 to 1.14.0 - [Release notes](https://github.com/smol-rs/async-executor/releases) - [Changelog](https://github.com/smol-rs/async-executor/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-executor/compare/v1.13.3...v1.14.0) Updates `cc` from 1.2.55 to 1.2.56 - [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.55...cc-v1.2.56) Updates `clap_builder` from 4.5.57 to 4.5.59 - [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.57...v4.5.59) Updates `clap_lex` from 0.7.7 to 1.0.0 - [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.7...clap_lex-v1.0.0) Updates `env_filter` from 0.1.4 to 1.0.0 - [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.4...env_filter-v1.0.0) Updates `futures-channel` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-core` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-executor` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-io` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-macro` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-sink` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-task` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-util` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `jiff` from 0.2.19 to 0.2.20 - [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.19...jiff-static-0.2.20) Updates `jiff-static` from 0.2.19 to 0.2.20 - [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.19...jiff-static-0.2.20) Updates `syn` from 2.0.114 to 2.0.116 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.114...2.0.116) Updates `toml_parser` from 1.0.6+spec-1.1.0 to 1.0.9+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.6...toml_parser-v1.0.9) Updates `unicode-ident` from 1.0.23 to 1.0.24 - [Release notes](https://github.com/dtolnay/unicode-ident/releases) - [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.23...1.0.24) Updates `zmij` from 1.0.20 to 1.0.21 - [Release notes](https://github.com/dtolnay/zmij/releases) - [Commits](https://github.com/dtolnay/zmij/compare/1.0.20...1.0.21) Updates `bitflags` from 2.10.0 to 2.11.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.10.0...2.11.0) Updates `clap` from 4.5.57 to 4.5.59 - [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.57...clap_complete-v4.5.59) Updates `libc` from 0.2.181 to 0.2.182 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.182/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.181...0.2.182) Updates `uuid` from 1.20.0 to 1.21.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0) Updates `arc-swap` from 1.8.1 to 1.8.2 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.1...v1.8.2) Updates `cc` from 1.2.55 to 1.2.56 - [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.55...cc-v1.2.56) Updates `clap_builder` from 4.5.57 to 4.5.59 - [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.57...v4.5.59) Updates `clap_lex` from 0.7.7 to 1.0.0 - [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.7...clap_lex-v1.0.0) Updates `futures-core` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `futures-sink` from 0.3.31 to 0.3.32 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) Updates `syn` from 2.0.114 to 2.0.116 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.114...2.0.116) Updates `toml_parser` from 1.0.6+spec-1.1.0 to 1.0.9+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.6...toml_parser-v1.0.9) Updates `unicode-ident` from 1.0.23 to 1.0.24 - [Release notes](https://github.com/dtolnay/unicode-ident/releases) - [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.23...1.0.24) Updates `zmij` from 1.0.20 to 1.0.21 - [Release notes](https://github.com/dtolnay/zmij/releases) - [Commits](https://github.com/dtolnay/zmij/compare/1.0.20...1.0.21) Updates `libfuzzer-sys` from 0.4.10 to 0.4.12 - [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-fuzz/libfuzzer/commits) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.5.59 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: env_logger dependency-version: 0.11.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.182 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.8.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures dependency-version: 0.3.32 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: async-executor dependency-version: 1.14.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.56 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.59 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_lex dependency-version: 1.0.0 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: env_filter dependency-version: 1.0.0 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: futures-channel dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-core dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-executor dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-io dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-macro dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-sink dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-task dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-util dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: jiff dependency-version: 0.2.20 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: jiff-static dependency-version: 0.2.20 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: syn dependency-version: 2.0.116 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.0.9+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: unicode-ident dependency-version: 1.0.24 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zmij dependency-version: 1.0.21 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bitflags dependency-version: 2.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.5.59 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.182 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.8.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.56 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.59 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_lex dependency-version: 1.0.0 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: futures-core dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: futures-sink dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: syn dependency-version: 2.0.116 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_parser dependency-version: 1.0.9+spec-1.1.0 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: unicode-ident dependency-version: 1.0.24 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zmij dependency-version: 1.0.21 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libfuzzer-sys dependency-version: 0.4.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
ff4c8f7480 |
hypervisor: mshv: handle Special Debug Print VMG exit
Add handling for GHCB_INFO_SPECIAL_DBGPRINT VMG exit in the SEV-SNP guest exit handler. This exit occurs when the guest sends debug print requests through the GHCB interface. Without this handler, SEV-SNP guests fail to boot when debug output is triggered, such as when a debugger is attached to the guest image. The handler acknowledges the exit without printing to avoid performance degradation from frequent debug print requests. Signed-off-by: Muminul Islam <muislam@microsoft.com> |
||
|
|
caa362c31f |
hypervisor: mshv: stub implementation for save_data_tables()
Provide a stub implementation for save_data_tables() to unblock pause functionality. Without this, pausing a VM causes Cloud Hypervisor to panic due to the unimplemented!() macro. This unblocks the test_api_http_pause_resume testcase. We don't need to save any state just to pause and resume. Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com> |
||
|
|
2c49f4f4f3 |
hypervisor: Add an unreachable arm to get/set_x86_64_reg
This is useful when neither kvm nor mshv is defined. Signed-off-by: Wei Liu <liuwe@microsoft.com> |
||
|
|
a00189cf72 |
hypervisor: vmm: mshv: Enable SMT for guests with threads_per_core > 1
Set HV_PARTITION_CREATION_FLAG_SMT_ENABLED_GUEST when the guest topology has more than one thread per core. This allows the hypervisor to schedule guest VPs correctly on SMT-enabled hosts. Without this flag, the hypervisor schedules guest VPs incorrectly, causing SMT unusable. Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com> |
||
|
|
57fd672db6 |
build: Bump the non-rust-vmm group across 2 directories with 14 updates
Bumps the non-rust-vmm group with 10 updates in the / directory: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.54` | `4.5.56` | | [zerocopy](https://github.com/google/zerocopy) | `0.8.34` | `0.8.37` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.8.0` | `1.8.1` | | [getrandom](https://github.com/rust-random/getrandom) | `0.3.4` | `0.4.0` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.54` | `1.2.55` | | [openssl-src](https://github.com/alexcrichton/openssl-src-rs) | `300.5.4+3.5.4` | `300.5.5+3.5.5` | | [portable-atomic](https://github.com/taiki-e/portable-atomic) | `1.13.0` | `1.13.1` | | [portable-atomic-util](https://github.com/taiki-e/portable-atomic) | `0.2.4` | `0.2.5` | | [slab](https://github.com/tokio-rs/slab) | `0.4.11` | `0.4.12` | | [zmij](https://github.com/dtolnay/zmij) | `1.0.17` | `1.0.19` | 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.54` | `4.5.56` | | [zerocopy](https://github.com/google/zerocopy) | `0.8.34` | `0.8.37` | | [arc-swap](https://github.com/vorner/arc-swap) | `1.8.0` | `1.8.1` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.54` | `1.2.55` | | [zmij](https://github.com/dtolnay/zmij) | `1.0.17` | `1.0.19` | Updates `clap` from 4.5.54 to 4.5.56 - [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.54...clap_complete-v4.5.56) Updates `zerocopy` from 0.8.34 to 0.8.37 - [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.34...v0.8.37) Updates `arc-swap` from 1.8.0 to 1.8.1 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.0...v1.8.1) Updates `getrandom` from 0.3.4 to 0.4.0 - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.3.4...v0.4.0) Updates `cc` from 1.2.54 to 1.2.55 - [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.54...cc-v1.2.55) Updates `clap_builder` from 4.5.54 to 4.5.56 - [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.54...v4.5.56) Updates `find-msvc-tools` from 0.1.8 to 0.1.9 - [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.8...find-msvc-tools-v0.1.9) Updates `hashbrown` from 0.16.1 to 0.15.5 - [Release notes](https://github.com/rust-lang/hashbrown/releases) - [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.15.5) Updates `openssl-src` from 300.5.4+3.5.4 to 300.5.5+3.5.5 - [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases) - [Commits](https://github.com/alexcrichton/openssl-src-rs/commits) Updates `portable-atomic` from 1.13.0 to 1.13.1 - [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.13.0...v1.13.1) Updates `portable-atomic-util` from 0.2.4 to 0.2.5 - [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/portable-atomic-util-0.2.4...portable-atomic-util-0.2.5) Updates `slab` from 0.4.11 to 0.4.12 - [Release notes](https://github.com/tokio-rs/slab/releases) - [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/slab/compare/v0.4.11...v0.4.12) Updates `zerocopy-derive` from 0.8.34 to 0.8.37 - [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.34...v0.8.37) Updates `zmij` from 1.0.17 to 1.0.19 - [Release notes](https://github.com/dtolnay/zmij/releases) - [Commits](https://github.com/dtolnay/zmij/compare/1.0.17...1.0.19) Updates `clap` from 4.5.54 to 4.5.56 - [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.54...clap_complete-v4.5.56) Updates `zerocopy` from 0.8.34 to 0.8.37 - [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.34...v0.8.37) Updates `arc-swap` from 1.8.0 to 1.8.1 - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.8.0...v1.8.1) Updates `cc` from 1.2.54 to 1.2.55 - [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.54...cc-v1.2.55) Updates `clap_builder` from 4.5.54 to 4.5.56 - [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.54...v4.5.56) Updates `find-msvc-tools` from 0.1.8 to 0.1.9 - [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.8...find-msvc-tools-v0.1.9) Updates `zerocopy-derive` from 0.8.34 to 0.8.37 - [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.34...v0.8.37) Updates `zmij` from 1.0.17 to 1.0.19 - [Release notes](https://github.com/dtolnay/zmij/releases) - [Commits](https://github.com/dtolnay/zmij/compare/1.0.17...1.0.19) --- updated-dependencies: - dependency-name: clap dependency-version: 4.5.56 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zerocopy dependency-version: 0.8.37 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.8.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: getrandom dependency-version: 0.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.55 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.56 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: find-msvc-tools dependency-version: 0.1.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: hashbrown dependency-version: 0.15.5 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: openssl-src dependency-version: 300.5.5+3.5.5 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: portable-atomic dependency-version: 1.13.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: portable-atomic-util dependency-version: 0.2.5 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: slab dependency-version: 0.4.12 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zerocopy-derive dependency-version: 0.8.37 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zmij dependency-version: 1.0.19 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.5.56 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zerocopy dependency-version: 0.8.37 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: arc-swap dependency-version: 1.8.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.55 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.56 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: find-msvc-tools dependency-version: 0.1.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zerocopy-derive dependency-version: 0.8.37 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zmij dependency-version: 1.0.19 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
de2d8f486b |
hypervisor: mshv: Introduce CPU state update function and use it
In most of the cases, special registers don't change after emulations, but current code sets them back unconditionally, and although some of them are set over the register page, others require a system call and a hypervisor to be updated, which is a waste it there were not changes. Introduce and CPU update method for Microsoft Hypervisor emulator and set special registers only when they were changed. This change reduces guest boot time by 4% for a single VP guest boot (in L1VH partition) in my experiments. Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> |
||
|
|
5aba9b4308 |
hypervisor: emulator: Pass CPU context to instruction stream emulator
This is a precursor change to overall ioctl and hypercall reduction effort. The old (current) CPU state can be compared to the new to determine what has changed and avoid unnecessary register updates. Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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> |
||
|
|
f795081bf9 |
hypervisor: mshv: retrieve MSRs list correctly
The MSR enumeration logic in MSHV does not accurately account for the capabilities of the underlying hardware and hypervisor. Previously, integration tests passed because only the default MSRs—universally supported across platforms—were involved. However, recent feature additions in MSHV have introduced MSRs that are not supported on Intel hardware, causing failures. This patch retrieves the MSRs from the VM specific API call that filters out the unsupported MSRs. Signed-off-by: Muminul Islam <muislam@microsoft.com> |
||
|
|
01383538f3 |
hypervisor: Introduce an enable AMX tile state components method
Currently when the user configures AMX the corresponding state components get dynamically enabled directly inside the function body of vmm::cpu::CpuManager::new. With our ongoing work on CPU templates/profiles, there will (likely) be one more binary crate for producing CPU profiles that also needs to do this (without creating a CpuManager) and it may also be the case that we will need to call this function prior to `CpuManager::new` during live migrations. We thus add a method for enabling the AMX tile state components on the hypervisor trait that may be called wherever necessary. We argue that this is beneficial for code clarity independently of the upcoming CPU templates/profiles PR that we are working on. The astute reader will notice that the logic introduced here is not 100% the same as what is done inside the vmm::cpu::Cpumanager::new method. We claim that our approach is more in-line with the official documentation. Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de> On-behalf-of: SAP oliver.anderson@sap.com |
||
|
|
d8360ddc8e |
hypervisor: vmm: passing nested argument from VMM to hypervisor
This patch connects the VMM and hypervisor to fully enable nested support for MSHV. Signed-off-by: Muminul Islam <muislam@microsoft.com> |