#[non_exhaustive]pub struct BackendCapabilities {
pub kind: BackendKind,
pub max_vcpus: u32,
pub dirty_page_tracking: bool,
pub postcopy_restore: bool,
pub exposes_vcpu_exits: bool,
pub custom_mmio_devices: bool,
}Expand description
What a backend can and cannot do, surfaced to the VMM at construction time.
The VMM consults this struct to decide whether to reject a configuration up-front
(e.g. track_dirty_pages: true on the VZ backend) or to apply a documented fallback.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: BackendKindWhich backend produced these capabilities.
max_vcpus: u32Maximum number of vCPUs this backend will allow per VM.
dirty_page_tracking: booltrue if the backend can produce a per-page dirty bitmap.
postcopy_restore: booltrue if the backend can perform a postcopy / on-demand-paging restore.
exposes_vcpu_exits: booltrue if the backend exposes vCPU exits to userspace (HVF/KVM-style); false if
the device model is hidden inside the framework (VZ-style).
custom_mmio_devices: booltrue if the backend supports custom virtio-MMIO devices.
Trait Implementations§
Source§impl Clone for BackendCapabilities
impl Clone for BackendCapabilities
Source§fn clone(&self) -> BackendCapabilities
fn clone(&self) -> BackendCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BackendCapabilities
impl Debug for BackendCapabilities
Source§impl PartialEq for BackendCapabilities
impl PartialEq for BackendCapabilities
Source§fn eq(&self, other: &BackendCapabilities) -> bool
fn eq(&self, other: &BackendCapabilities) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for BackendCapabilities
impl Eq for BackendCapabilities
impl StructuralPartialEq for BackendCapabilities
Auto Trait Implementations§
impl Freeze for BackendCapabilities
impl RefUnwindSafe for BackendCapabilities
impl Send for BackendCapabilities
impl Sync for BackendCapabilities
impl Unpin for BackendCapabilities
impl UnsafeUnpin for BackendCapabilities
impl UnwindSafe for BackendCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more