mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
build: Bump vmm-sys-util crate and its consumers
This patch bumps the following crates, including `kvm-bindings@0.7.0`*, `kvm-ioctls@0.16.0`**, `linux-loader@0.11.0`, `versionize@0.2.0`, `versionize_derive@0.1.6`***, `vhost@0.10.0`, `vhost-user-backend@0.13.1`, `virtio-queue@0.11.0`, `vm-memory@0.14.0`, `vmm-sys-util@0.12.1`, and the latest of `vfio-bindings`, `vfio-ioctls`, `mshv-bindings`,`mshv-ioctls`, and `vfio-user`. * A fork of the `kvm-bindings` crate is being used to support serialization of various structs for migration [1]. Also, code changes are made to accommodate the updated `struct xsave` from the Linux kernel. Note: these changes related to `struct xsave` break live-upgrade. ** The new `kvm-ioctls` crate introduced breaking changes for the `get/set_one_reg` API on `aarch64` [2], so code changes are made to the new APIs. *** A fork of the `versionize_derive` crate is being used to support versionize on packed structs [3]. [1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0 [2] https://github.com/rust-vmm/kvm-ioctls/pull/223 [3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6 Fixes: #6072 Signed-off-by: Bo Chen <chen.bo@intel.com>
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
use crate::arch::x86::{
|
||||
CpuIdEntry, DescriptorTable, FpuState, LapicState, MsrEntry, SegmentRegister, SpecialRegisters,
|
||||
StandardRegisters, CPUID_FLAG_VALID_INDEX,
|
||||
StandardRegisters, XsaveState, CPUID_FLAG_VALID_INDEX,
|
||||
};
|
||||
use crate::kvm::{Cap, Kvm, KvmError, KvmResult};
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -23,7 +23,7 @@ pub use {
|
||||
kvm_bindings::kvm_lapic_state, kvm_bindings::kvm_mp_state as MpState,
|
||||
kvm_bindings::kvm_msr_entry, kvm_bindings::kvm_regs, kvm_bindings::kvm_segment,
|
||||
kvm_bindings::kvm_sregs, kvm_bindings::kvm_vcpu_events as VcpuEvents,
|
||||
kvm_bindings::kvm_xcrs as ExtendedControlRegisters, kvm_bindings::kvm_xsave as Xsave,
|
||||
kvm_bindings::kvm_xcrs as ExtendedControlRegisters, kvm_bindings::kvm_xsave,
|
||||
kvm_bindings::CpuId, kvm_bindings::MsrList, kvm_bindings::Msrs as MsrEntries,
|
||||
kvm_bindings::KVM_CPUID_FLAG_SIGNIFCANT_INDEX,
|
||||
};
|
||||
@@ -64,7 +64,7 @@ pub struct VcpuKvmState {
|
||||
pub sregs: kvm_sregs,
|
||||
pub fpu: FpuState,
|
||||
pub lapic_state: LapicState,
|
||||
pub xsave: Xsave,
|
||||
pub xsave: XsaveState,
|
||||
pub xcrs: ExtendedControlRegisters,
|
||||
pub mp_state: MpState,
|
||||
pub tsc_khz: Option<u32>,
|
||||
@@ -330,3 +330,18 @@ impl From<MsrEntry> for kvm_msr_entry {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<kvm_xsave> for XsaveState {
|
||||
fn from(s: kvm_xsave) -> Self {
|
||||
Self { region: s.region }
|
||||
}
|
||||
}
|
||||
|
||||
impl From<XsaveState> for kvm_xsave {
|
||||
fn from(s: XsaveState) -> Self {
|
||||
Self {
|
||||
region: s.region,
|
||||
extra: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user