pub struct HvInterruptControl(/* private fields */);Expand description
The declaration uses the fact the bits for the different
architectures don’t intersect. When (if ever) they do,
will need to come up with a more elaborate abstraction.
The other possible downside is the lack of the compile-time
checks as adding that will require guest_arch support and
a large refactoring. To sum up, choosing expediency.
Implementations§
Source§impl HvInterruptControl
impl HvInterruptControl
Sourcepub const fn x86_level_triggered(&self) -> bool
pub const fn x86_level_triggered(&self) -> bool
Bits: 32..33
Sourcepub const fn with_x86_level_triggered_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_x86_level_triggered_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 32..33
Sourcepub const fn with_x86_level_triggered(self, value: bool) -> Self
pub const fn with_x86_level_triggered(self, value: bool) -> Self
Bits: 32..33
Sourcepub const fn set_x86_level_triggered(&mut self, value: bool)
pub const fn set_x86_level_triggered(&mut self, value: bool)
Bits: 32..33
Sourcepub const fn set_x86_level_triggered_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_x86_level_triggered_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 32..33
Sourcepub const fn x86_logical_destination_mode(&self) -> bool
pub const fn x86_logical_destination_mode(&self) -> bool
Bits: 33..34
Sourcepub const fn with_x86_logical_destination_mode_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_x86_logical_destination_mode_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 33..34
Sourcepub const fn with_x86_logical_destination_mode(self, value: bool) -> Self
pub const fn with_x86_logical_destination_mode(self, value: bool) -> Self
Bits: 33..34
Sourcepub const fn set_x86_logical_destination_mode(&mut self, value: bool)
pub const fn set_x86_logical_destination_mode(&mut self, value: bool)
Bits: 33..34
Sourcepub const fn set_x86_logical_destination_mode_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_x86_logical_destination_mode_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 33..34
Sourcepub const fn arm64_asserted(&self) -> bool
pub const fn arm64_asserted(&self) -> bool
Bits: 34..35
Sourcepub const fn with_arm64_asserted_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_arm64_asserted_checked(self, value: bool) -> Result<Self, ()>
Bits: 34..35
Sourcepub const fn with_arm64_asserted(self, value: bool) -> Self
pub const fn with_arm64_asserted(self, value: bool) -> Self
Bits: 34..35
Sourcepub const fn set_arm64_asserted(&mut self, value: bool)
pub const fn set_arm64_asserted(&mut self, value: bool)
Bits: 34..35
Sourcepub const fn set_arm64_asserted_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_arm64_asserted_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 34..35
Sourcepub const fn with_unused_checked(self, value: u32) -> Result<Self, ()>
pub const fn with_unused_checked(self, value: u32) -> Result<Self, ()>
Bits: 35..64
Sourcepub const fn with_unused(self, value: u32) -> Self
pub const fn with_unused(self, value: u32) -> Self
Bits: 35..64
Sourcepub const fn set_unused(&mut self, value: u32)
pub const fn set_unused(&mut self, value: u32)
Bits: 35..64
Source§impl HvInterruptControl
impl HvInterruptControl
pub fn interrupt_type(&self) -> HvInterruptType
pub fn set_interrupt_type(&mut self, ty: HvInterruptType)
pub fn with_interrupt_type(self, ty: HvInterruptType) -> Self
Trait Implementations§
Source§impl Clone for HvInterruptControl
impl Clone for HvInterruptControl
Source§fn clone(&self) -> HvInterruptControl
fn clone(&self) -> HvInterruptControl
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 HvInterruptControl
impl Debug for HvInterruptControl
Source§impl Default for HvInterruptControl
impl Default for HvInterruptControl
Source§impl From<HvInterruptControl> for u64
impl From<HvInterruptControl> for u64
Source§fn from(v: HvInterruptControl) -> u64
fn from(v: HvInterruptControl) -> u64
Converts to this type from the input type.
Source§impl From<u64> for HvInterruptControl
impl From<u64> for HvInterruptControl
Source§impl FromBytes for HvInterruptControlwhere
u64: FromBytes,
impl FromBytes for HvInterruptControlwhere
u64: 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 HvInterruptControlwhere
u64: FromZeros,
impl FromZeros for HvInterruptControlwhere
u64: 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 HvInterruptControlwhere
u64: IntoBytes,
impl IntoBytes for HvInterruptControlwhere
u64: 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 HvInterruptControlwhere
Self: Sized,
impl KnownLayout for HvInterruptControlwhere
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 HvInterruptControlwhere
u64: TryFromBytes,
impl TryFromBytes for HvInterruptControlwhere
u64: 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 HvInterruptControl
impl Immutable for HvInterruptControlwhere
u64: Immutable,
Auto Trait Implementations§
impl Freeze for HvInterruptControl
impl RefUnwindSafe for HvInterruptControl
impl Send for HvInterruptControl
impl Sync for HvInterruptControl
impl Unpin for HvInterruptControl
impl UnsafeUnpin for HvInterruptControl
impl UnwindSafe for HvInterruptControl
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