Struct x86defs::msi::MsiAddress
source · pub struct MsiAddress(/* private fields */);
Expand description
The layout of the MSI address element.
Implementations§
source§impl MsiAddress
impl MsiAddress
sourcepub const fn destination_mode_logical(&self) -> bool
pub const fn destination_mode_logical(&self) -> bool
Bits: 2..3
sourcepub const fn with_destination_mode_logical(self, value: bool) -> Self
pub const fn with_destination_mode_logical(self, value: bool) -> Self
Bits: 2..3
sourcepub fn set_destination_mode_logical(&mut self, value: bool)
pub fn set_destination_mode_logical(&mut self, value: bool)
Bits: 2..3
sourcepub const fn redirection_hint(&self) -> bool
pub const fn redirection_hint(&self) -> bool
Bits: 3..4
sourcepub const fn with_redirection_hint(self, value: bool) -> Self
pub const fn with_redirection_hint(self, value: bool) -> Self
Bits: 3..4
sourcepub fn set_redirection_hint(&mut self, value: bool)
pub fn set_redirection_hint(&mut self, value: bool)
Bits: 3..4
sourcepub const fn extended_destination(&self) -> u8
pub const fn extended_destination(&self) -> u8
Bits: 4..12
sourcepub const fn with_extended_destination(self, value: u8) -> Self
pub const fn with_extended_destination(self, value: u8) -> Self
Bits: 4..12
sourcepub fn set_extended_destination(&mut self, value: u8)
pub fn set_extended_destination(&mut self, value: u8)
Bits: 4..12
sourcepub const fn destination(&self) -> u8
pub const fn destination(&self) -> u8
Bits: 12..20
sourcepub const fn with_destination(self, value: u8) -> Self
pub const fn with_destination(self, value: u8) -> Self
Bits: 12..20
sourcepub fn set_destination(&mut self, value: u8)
pub fn set_destination(&mut self, value: u8)
Bits: 12..20
sourcepub const fn with_address(self, value: u16) -> Self
pub const fn with_address(self, value: u16) -> Self
Bits: 20..32
sourcepub fn set_address(&mut self, value: u16)
pub fn set_address(&mut self, value: u16)
Bits: 20..32
source§impl MsiAddress
impl MsiAddress
sourcepub fn virt_destination(&self) -> u16
pub fn virt_destination(&self) -> u16
Returns a 15-bit destination encoded in the MSI address. This is not architectural–normally only an 8-bit destination is supported unless interrupt redirection is enabled–but this is supported by some virtualization platforms (including Hyper-V and KVM).
The high 7 bits are encoded as the high 7 bits of the extended destination field. The low bit of that field is ignored and presumed to be zero in this configuration.
sourcepub fn with_virt_destination(self, destination: u16) -> Self
pub fn with_virt_destination(self, destination: u16) -> Self
Returns a value with a 15-bit destination encoded as guests expect when running with Hyper-V or KVM virtualization extensions.
This updates the destination and extended destination fields.
sourcepub fn set_virt_destination(&mut self, destination: u16)
pub fn set_virt_destination(&mut self, destination: u16)
Updates the value with a 15-bit destination encoded as guests expect when running with Hyper-V or KVM virtualization extensions.
This updates the destination and extended destination fields.
Trait Implementations§
source§impl Clone for MsiAddress
impl Clone for MsiAddress
source§fn clone(&self) -> MsiAddress
fn clone(&self) -> MsiAddress
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MsiAddress
impl Debug for MsiAddress
source§impl Default for MsiAddress
impl Default for MsiAddress
source§impl From<MsiAddress> for u32
impl From<MsiAddress> for u32
source§fn from(v: MsiAddress) -> u32
fn from(v: MsiAddress) -> u32
source§impl From<u32> for MsiAddress
impl From<u32> for MsiAddress
impl Copy for MsiAddress
Auto Trait Implementations§
impl Freeze for MsiAddress
impl RefUnwindSafe for MsiAddress
impl Send for MsiAddress
impl Sync for MsiAddress
impl Unpin for MsiAddress
impl UnwindSafe for MsiAddress
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
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)
clone_to_uninit
)