Struct hvdef::HvInterruptControl
source · 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(self, value: bool) -> Self
pub const fn with_x86_level_triggered(self, value: bool) -> Self
Bits: 32..33
sourcepub fn set_x86_level_triggered(&mut self, value: bool)
pub fn set_x86_level_triggered(&mut self, value: bool)
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(self, value: bool) -> Self
pub const fn with_x86_logical_destination_mode(self, value: bool) -> Self
Bits: 33..34
sourcepub fn set_x86_logical_destination_mode(&mut self, value: bool)
pub fn set_x86_logical_destination_mode(&mut self, value: bool)
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(self, value: bool) -> Self
pub const fn with_arm64_asserted(self, value: bool) -> Self
Bits: 34..35
sourcepub fn set_arm64_asserted(&mut self, value: bool)
pub fn set_arm64_asserted(&mut self, value: bool)
Bits: 34..35
sourcepub const fn with_unused(self, value: u32) -> Self
pub const fn with_unused(self, value: u32) -> Self
Bits: 35..64
sourcepub fn set_unused(&mut self, value: u32)
pub 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 AsBytes for HvInterruptControlwhere
u64: AsBytes,
impl AsBytes for HvInterruptControlwhere
u64: AsBytes,
§fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Gets the bytes of this value mutably. Read more
§fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>
fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>
source§impl Clone for HvInterruptControl
impl Clone for HvInterruptControl
source§fn clone(&self) -> HvInterruptControl
fn clone(&self) -> HvInterruptControl
Returns a copy 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_prefix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
§fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
§fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
§fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
§fn slice_from(bytes: &[u8]) -> Option<&[Self]>where
Self: Sized,
fn slice_from(bytes: &[u8]) -> Option<&[Self]>where
Self: Sized,
§fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
Interprets the prefix of the given
bytes
as a &[Self]
with length
equal to count
without copying. Read more§fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
Interprets the suffix of the given
bytes
as a &[Self]
with length
equal to count
without copying. Read more§fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>where
Self: Sized + AsBytes,
fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>where
Self: Sized + AsBytes,
§fn mut_slice_from_prefix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: Sized + AsBytes,
fn mut_slice_from_prefix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: Sized + AsBytes,
Interprets the prefix of the given
bytes
as a &mut [Self]
with length
equal to count
without copying. Read more§fn mut_slice_from_suffix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [u8], &mut [Self])>where
Self: Sized + AsBytes,
fn mut_slice_from_suffix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [u8], &mut [Self])>where
Self: Sized + AsBytes,
Interprets the suffix of the given
bytes
as a &mut [Self]
with length
equal to count
without copying. Read more§fn read_from_prefix(bytes: &[u8]) -> Option<Self>where
Self: Sized,
fn read_from_prefix(bytes: &[u8]) -> Option<Self>where
Self: Sized,
source§impl FromZeroes for HvInterruptControlwhere
u64: FromZeroes,
impl FromZeroes for HvInterruptControlwhere
u64: FromZeroes,
§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() -> Box<Self>where
Self: Sized,
fn new_box_zeroed() -> Box<Self>where
Self: Sized,
Creates a
Box<Self>
from zeroed bytes. Read moreimpl Copy for HvInterruptControl
Auto Trait Implementations§
impl Freeze for HvInterruptControl
impl RefUnwindSafe for HvInterruptControl
impl Send for HvInterruptControl
impl Sync for HvInterruptControl
impl Unpin 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)