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 more