pub struct IvInfo(/* private fields */);Expand description
IVinfo bitfield for the IVRS table header (AMD IOMMU spec §5.2.1, Table 84).
Implementations§
Source§impl IvInfo
impl IvInfo
Sourcepub const fn efr_sup(&self) -> bool
pub const fn efr_sup(&self) -> bool
EFRSup: Extended Feature Register supported (bit 0).
Bits: 0..1
Sourcepub const fn with_efr_sup_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_efr_sup_checked(self, value: bool) -> Result<Self, ()>
EFRSup: Extended Feature Register supported (bit 0).
Bits: 0..1
Sourcepub const fn with_efr_sup(self, value: bool) -> Self
pub const fn with_efr_sup(self, value: bool) -> Self
EFRSup: Extended Feature Register supported (bit 0).
Bits: 0..1
Sourcepub const fn set_efr_sup(&mut self, value: bool)
pub const fn set_efr_sup(&mut self, value: bool)
EFRSup: Extended Feature Register supported (bit 0).
Bits: 0..1
Sourcepub const fn set_efr_sup_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_efr_sup_checked(&mut self, value: bool) -> Result<(), ()>
EFRSup: Extended Feature Register supported (bit 0).
Bits: 0..1
Sourcepub const fn dma_remap_sup(&self) -> bool
pub const fn dma_remap_sup(&self) -> bool
DMA remap support (bit 1).
Bits: 1..2
Sourcepub const fn with_dma_remap_sup_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_dma_remap_sup_checked(self, value: bool) -> Result<Self, ()>
DMA remap support (bit 1).
Bits: 1..2
Sourcepub const fn with_dma_remap_sup(self, value: bool) -> Self
pub const fn with_dma_remap_sup(self, value: bool) -> Self
DMA remap support (bit 1).
Bits: 1..2
Sourcepub const fn set_dma_remap_sup(&mut self, value: bool)
pub const fn set_dma_remap_sup(&mut self, value: bool)
DMA remap support (bit 1).
Bits: 1..2
Sourcepub const fn set_dma_remap_sup_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_dma_remap_sup_checked(&mut self, value: bool) -> Result<(), ()>
DMA remap support (bit 1).
Bits: 1..2
Sourcepub const fn gva_size(&self) -> u8
pub const fn gva_size(&self) -> u8
GVAsize: guest virtual address size (bits 7:5). 0 = 48-bit, 1 = 57-bit.
Bits: 5..8
Sourcepub const fn with_gva_size_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_gva_size_checked(self, value: u8) -> Result<Self, ()>
GVAsize: guest virtual address size (bits 7:5). 0 = 48-bit, 1 = 57-bit.
Bits: 5..8
Sourcepub const fn with_gva_size(self, value: u8) -> Self
pub const fn with_gva_size(self, value: u8) -> Self
GVAsize: guest virtual address size (bits 7:5). 0 = 48-bit, 1 = 57-bit.
Bits: 5..8
Sourcepub const fn set_gva_size(&mut self, value: u8)
pub const fn set_gva_size(&mut self, value: u8)
GVAsize: guest virtual address size (bits 7:5). 0 = 48-bit, 1 = 57-bit.
Bits: 5..8
Sourcepub const fn set_gva_size_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_gva_size_checked(&mut self, value: u8) -> Result<(), ()>
GVAsize: guest virtual address size (bits 7:5). 0 = 48-bit, 1 = 57-bit.
Bits: 5..8
Sourcepub const fn pa_size(&self) -> u8
pub const fn pa_size(&self) -> u8
PAsize: physical/guest-physical address size (bits 14:8). Raw value, e.g. 48 for 48-bit.
Bits: 8..15
Sourcepub const fn with_pa_size_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_pa_size_checked(self, value: u8) -> Result<Self, ()>
PAsize: physical/guest-physical address size (bits 14:8). Raw value, e.g. 48 for 48-bit.
Bits: 8..15
Sourcepub const fn with_pa_size(self, value: u8) -> Self
pub const fn with_pa_size(self, value: u8) -> Self
PAsize: physical/guest-physical address size (bits 14:8). Raw value, e.g. 48 for 48-bit.
Bits: 8..15
Sourcepub const fn set_pa_size(&mut self, value: u8)
pub const fn set_pa_size(&mut self, value: u8)
PAsize: physical/guest-physical address size (bits 14:8). Raw value, e.g. 48 for 48-bit.
Bits: 8..15
Sourcepub const fn set_pa_size_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_pa_size_checked(&mut self, value: u8) -> Result<(), ()>
PAsize: physical/guest-physical address size (bits 14:8). Raw value, e.g. 48 for 48-bit.
Bits: 8..15
Sourcepub const fn va_size(&self) -> u8
pub const fn va_size(&self) -> u8
VAsize: virtual address size (bits 21:15). Raw value, e.g. 48 for 48-bit.
Bits: 15..22
Sourcepub const fn with_va_size_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_va_size_checked(self, value: u8) -> Result<Self, ()>
VAsize: virtual address size (bits 21:15). Raw value, e.g. 48 for 48-bit.
Bits: 15..22
Sourcepub const fn with_va_size(self, value: u8) -> Self
pub const fn with_va_size(self, value: u8) -> Self
VAsize: virtual address size (bits 21:15). Raw value, e.g. 48 for 48-bit.
Bits: 15..22
Sourcepub const fn set_va_size(&mut self, value: u8)
pub const fn set_va_size(&mut self, value: u8)
VAsize: virtual address size (bits 21:15). Raw value, e.g. 48 for 48-bit.
Bits: 15..22
Sourcepub const fn set_va_size_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_va_size_checked(&mut self, value: u8) -> Result<(), ()>
VAsize: virtual address size (bits 21:15). Raw value, e.g. 48 for 48-bit.
Bits: 15..22
Sourcepub const fn ht_ats_resv(&self) -> bool
pub const fn ht_ats_resv(&self) -> bool
HtAtsResv: HyperTransport ATS reserved (bit 22).
Bits: 22..23
Sourcepub const fn with_ht_ats_resv_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_ht_ats_resv_checked(self, value: bool) -> Result<Self, ()>
HtAtsResv: HyperTransport ATS reserved (bit 22).
Bits: 22..23
Sourcepub const fn with_ht_ats_resv(self, value: bool) -> Self
pub const fn with_ht_ats_resv(self, value: bool) -> Self
HtAtsResv: HyperTransport ATS reserved (bit 22).
Bits: 22..23
Sourcepub const fn set_ht_ats_resv(&mut self, value: bool)
pub const fn set_ht_ats_resv(&mut self, value: bool)
HtAtsResv: HyperTransport ATS reserved (bit 22).
Bits: 22..23