pub struct HvNestedVirtFeaturesEax(/* private fields */);Expand description
The EAX result of the HV_CPUID_FUNCTION_MS_HV_NESTED_FEATURES (0x4000000A)
cpuid leaf, describing the nested virtualization enlightenments the
hypervisor offers to a nested (L1) hypervisor.
Implementations§
Source§impl HvNestedVirtFeaturesEax
impl HvNestedVirtFeaturesEax
Sourcepub const fn enlightened_vmcs_version_low(&self) -> u8
pub const fn enlightened_vmcs_version_low(&self) -> u8
Bits: 0..8
Sourcepub const fn with_enlightened_vmcs_version_low_checked(
self,
value: u8,
) -> Result<Self, ()>
pub const fn with_enlightened_vmcs_version_low_checked( self, value: u8, ) -> Result<Self, ()>
Bits: 0..8
Sourcepub const fn with_enlightened_vmcs_version_low(self, value: u8) -> Self
pub const fn with_enlightened_vmcs_version_low(self, value: u8) -> Self
Bits: 0..8
Sourcepub const fn set_enlightened_vmcs_version_low(&mut self, value: u8)
pub const fn set_enlightened_vmcs_version_low(&mut self, value: u8)
Bits: 0..8
Sourcepub const fn set_enlightened_vmcs_version_low_checked(
&mut self,
value: u8,
) -> Result<(), ()>
pub const fn set_enlightened_vmcs_version_low_checked( &mut self, value: u8, ) -> Result<(), ()>
Bits: 0..8
Sourcepub const fn enlightened_vmcs_version_high(&self) -> u8
pub const fn enlightened_vmcs_version_high(&self) -> u8
Bits: 8..16
Sourcepub const fn with_enlightened_vmcs_version_high_checked(
self,
value: u8,
) -> Result<Self, ()>
pub const fn with_enlightened_vmcs_version_high_checked( self, value: u8, ) -> Result<Self, ()>
Bits: 8..16
Sourcepub const fn with_enlightened_vmcs_version_high(self, value: u8) -> Self
pub const fn with_enlightened_vmcs_version_high(self, value: u8) -> Self
Bits: 8..16
Sourcepub const fn set_enlightened_vmcs_version_high(&mut self, value: u8)
pub const fn set_enlightened_vmcs_version_high(&mut self, value: u8)
Bits: 8..16
Sourcepub const fn set_enlightened_vmcs_version_high_checked(
&mut self,
value: u8,
) -> Result<(), ()>
pub const fn set_enlightened_vmcs_version_high_checked( &mut self, value: u8, ) -> Result<(), ()>
Bits: 8..16
Sourcepub const fn nested_flush_virtual_hypercall(&self) -> bool
pub const fn nested_flush_virtual_hypercall(&self) -> bool
Bits: 17..18
Sourcepub const fn with_nested_flush_virtual_hypercall_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_nested_flush_virtual_hypercall_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 17..18
Sourcepub const fn with_nested_flush_virtual_hypercall(self, value: bool) -> Self
pub const fn with_nested_flush_virtual_hypercall(self, value: bool) -> Self
Bits: 17..18
Sourcepub const fn set_nested_flush_virtual_hypercall(&mut self, value: bool)
pub const fn set_nested_flush_virtual_hypercall(&mut self, value: bool)
Bits: 17..18
Sourcepub const fn set_nested_flush_virtual_hypercall_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_nested_flush_virtual_hypercall_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 17..18
Sourcepub const fn flush_guest_physical_hypercall(&self) -> bool
pub const fn flush_guest_physical_hypercall(&self) -> bool
Bits: 18..19
Sourcepub const fn with_flush_guest_physical_hypercall_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_flush_guest_physical_hypercall_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 18..19
Sourcepub const fn with_flush_guest_physical_hypercall(self, value: bool) -> Self
pub const fn with_flush_guest_physical_hypercall(self, value: bool) -> Self
Bits: 18..19
Sourcepub const fn set_flush_guest_physical_hypercall(&mut self, value: bool)
pub const fn set_flush_guest_physical_hypercall(&mut self, value: bool)
Bits: 18..19
Sourcepub const fn set_flush_guest_physical_hypercall_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_flush_guest_physical_hypercall_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 18..19
Sourcepub const fn msr_bitmap(&self) -> bool
pub const fn msr_bitmap(&self) -> bool
Bits: 19..20
Sourcepub const fn with_msr_bitmap_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_msr_bitmap_checked(self, value: bool) -> Result<Self, ()>
Bits: 19..20
Sourcepub const fn with_msr_bitmap(self, value: bool) -> Self
pub const fn with_msr_bitmap(self, value: bool) -> Self
Bits: 19..20
Sourcepub const fn set_msr_bitmap(&mut self, value: bool)
pub const fn set_msr_bitmap(&mut self, value: bool)
Bits: 19..20
Sourcepub const fn virtualization_exception(&self) -> bool
pub const fn virtualization_exception(&self) -> bool
Bits: 20..21
Sourcepub const fn with_virtualization_exception_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_virtualization_exception_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 20..21
Sourcepub const fn with_virtualization_exception(self, value: bool) -> Self
pub const fn with_virtualization_exception(self, value: bool) -> Self
Bits: 20..21
Sourcepub const fn set_virtualization_exception(&mut self, value: bool)
pub const fn set_virtualization_exception(&mut self, value: bool)
Bits: 20..21
Sourcepub const fn set_virtualization_exception_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_virtualization_exception_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 20..21
Sourcepub const fn with_debug_ctl_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_debug_ctl_checked(self, value: bool) -> Result<Self, ()>
Bits: 21..22
Sourcepub const fn with_debug_ctl(self, value: bool) -> Self
pub const fn with_debug_ctl(self, value: bool) -> Self
Bits: 21..22
Sourcepub const fn set_debug_ctl(&mut self, value: bool)
pub const fn set_debug_ctl(&mut self, value: bool)
Bits: 21..22
Sourcepub const fn enlightened_npt_tlb(&self) -> bool
pub const fn enlightened_npt_tlb(&self) -> bool
Bits: 22..23
Sourcepub const fn with_enlightened_npt_tlb_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_enlightened_npt_tlb_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 22..23
Sourcepub const fn with_enlightened_npt_tlb(self, value: bool) -> Self
pub const fn with_enlightened_npt_tlb(self, value: bool) -> Self
Bits: 22..23
Sourcepub const fn set_enlightened_npt_tlb(&mut self, value: bool)
pub const fn set_enlightened_npt_tlb(&mut self, value: bool)
Bits: 22..23
Trait Implementations§
Source§impl Clone for HvNestedVirtFeaturesEax
impl Clone for HvNestedVirtFeaturesEax
Source§fn clone(&self) -> HvNestedVirtFeaturesEax
fn clone(&self) -> HvNestedVirtFeaturesEax
Returns a duplicate of the value. Read more
1.0.0 · 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 HvNestedVirtFeaturesEax
impl Debug for HvNestedVirtFeaturesEax
Source§impl Default for HvNestedVirtFeaturesEax
impl Default for HvNestedVirtFeaturesEax
Source§impl From<HvNestedVirtFeaturesEax> for u32
impl From<HvNestedVirtFeaturesEax> for u32
Source§fn from(v: HvNestedVirtFeaturesEax) -> u32
fn from(v: HvNestedVirtFeaturesEax) -> u32
Converts to this type from the input type.
Source§impl From<u32> for HvNestedVirtFeaturesEax
impl From<u32> for HvNestedVirtFeaturesEax
Source§impl FromBytes for HvNestedVirtFeaturesEaxwhere
u32: FromBytes,
impl FromBytes for HvNestedVirtFeaturesEaxwhere
u32: FromBytes,
§fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
Interprets the suffix of the given bytes as a
&Self. Read more§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
Source§impl FromZeros for HvNestedVirtFeaturesEaxwhere
u32: FromZeros,
impl FromZeros for HvNestedVirtFeaturesEaxwhere
u32: FromZeros,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere
Self: Sized,
Creates an instance of
Self from zeroed bytes. Read more§fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
Creates a
Box<Self> from zeroed bytes. Read more§fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
Creates a
Vec<Self> from zeroed bytes. Read moreSource§impl IntoBytes for HvNestedVirtFeaturesEaxwhere
u32: IntoBytes,
impl IntoBytes for HvNestedVirtFeaturesEaxwhere
u32: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8]where
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8]where
Self: FromBytes,
Gets the bytes of this value mutably. Read more
§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
Source§impl KnownLayout for HvNestedVirtFeaturesEaxwhere
Self: Sized,
impl KnownLayout for HvNestedVirtFeaturesEaxwhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
The type of metadata stored in a pointer to
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Computes the size of an object of type
Self with the given pointer
metadata. Read moreSource§impl TryFromBytes for HvNestedVirtFeaturesEaxwhere
u32: TryFromBytes,
impl TryFromBytes for HvNestedVirtFeaturesEaxwhere
u32: TryFromBytes,
§fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
impl Copy for HvNestedVirtFeaturesEax
impl Immutable for HvNestedVirtFeaturesEaxwhere
u32: Immutable,
Auto Trait Implementations§
impl Freeze for HvNestedVirtFeaturesEax
impl RefUnwindSafe for HvNestedVirtFeaturesEax
impl Send for HvNestedVirtFeaturesEax
impl Sync for HvNestedVirtFeaturesEax
impl Unpin for HvNestedVirtFeaturesEax
impl UnsafeUnpin for HvNestedVirtFeaturesEax
impl UnwindSafe for HvNestedVirtFeaturesEax
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