pub struct ContextEntryLo(/* private fields */);Expand description
Context Entry — low 64 bits.
Implementations§
Source§impl ContextEntryLo
impl ContextEntryLo
Sourcepub const fn with_p_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_p_checked(self, value: bool) -> Result<Self, ()>
Present — 1 = this entry is valid.
Bits: 0..1
Sourcepub const fn set_p_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_p_checked(&mut self, value: bool) -> Result<(), ()>
Present — 1 = this entry is valid.
Bits: 0..1
Sourcepub const fn fpd(&self) -> bool
pub const fn fpd(&self) -> bool
Fault Processing Disable — 1 = suppress fault recording for this device.
Bits: 1..2
Sourcepub const fn with_fpd_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_fpd_checked(self, value: bool) -> Result<Self, ()>
Fault Processing Disable — 1 = suppress fault recording for this device.
Bits: 1..2
Sourcepub const fn with_fpd(self, value: bool) -> Self
pub const fn with_fpd(self, value: bool) -> Self
Fault Processing Disable — 1 = suppress fault recording for this device.
Bits: 1..2
Sourcepub const fn set_fpd(&mut self, value: bool)
pub const fn set_fpd(&mut self, value: bool)
Fault Processing Disable — 1 = suppress fault recording for this device.
Bits: 1..2
Sourcepub const fn set_fpd_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_fpd_checked(&mut self, value: bool) -> Result<(), ()>
Fault Processing Disable — 1 = suppress fault recording for this device.
Bits: 1..2
Sourcepub const fn tt(&self) -> u8
pub const fn tt(&self) -> u8
Translation Type. 00 = untranslated requests only (second-level translation). 01 = all requests (both translated and untranslated, second-level). 10 = pass-through (IOVA = GPA, identity mapping). 11 = reserved.
Bits: 2..4
Sourcepub const fn with_tt_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_tt_checked(self, value: u8) -> Result<Self, ()>
Translation Type. 00 = untranslated requests only (second-level translation). 01 = all requests (both translated and untranslated, second-level). 10 = pass-through (IOVA = GPA, identity mapping). 11 = reserved.
Bits: 2..4
Sourcepub const fn with_tt(self, value: u8) -> Self
pub const fn with_tt(self, value: u8) -> Self
Translation Type. 00 = untranslated requests only (second-level translation). 01 = all requests (both translated and untranslated, second-level). 10 = pass-through (IOVA = GPA, identity mapping). 11 = reserved.
Bits: 2..4
Sourcepub const fn set_tt(&mut self, value: u8)
pub const fn set_tt(&mut self, value: u8)
Translation Type. 00 = untranslated requests only (second-level translation). 01 = all requests (both translated and untranslated, second-level). 10 = pass-through (IOVA = GPA, identity mapping). 11 = reserved.
Bits: 2..4
Sourcepub const fn set_tt_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_tt_checked(&mut self, value: u8) -> Result<(), ()>
Translation Type. 00 = untranslated requests only (second-level translation). 01 = all requests (both translated and untranslated, second-level). 10 = pass-through (IOVA = GPA, identity mapping). 11 = reserved.
Bits: 2..4
Sourcepub const fn ssptptr(&self) -> u64
pub const fn ssptptr(&self) -> u64
Second-Stage Page Translation Pointer, bits [63:12]. 4KB-aligned. Points to the root of the second-level page table hierarchy.
Bits: 12..64
Sourcepub const fn with_ssptptr_checked(self, value: u64) -> Result<Self, ()>
pub const fn with_ssptptr_checked(self, value: u64) -> Result<Self, ()>
Second-Stage Page Translation Pointer, bits [63:12]. 4KB-aligned. Points to the root of the second-level page table hierarchy.
Bits: 12..64
Sourcepub const fn with_ssptptr(self, value: u64) -> Self
pub const fn with_ssptptr(self, value: u64) -> Self
Second-Stage Page Translation Pointer, bits [63:12]. 4KB-aligned. Points to the root of the second-level page table hierarchy.
Bits: 12..64
Sourcepub const fn set_ssptptr(&mut self, value: u64)
pub const fn set_ssptptr(&mut self, value: u64)
Second-Stage Page Translation Pointer, bits [63:12]. 4KB-aligned. Points to the root of the second-level page table hierarchy.
Bits: 12..64
Source§impl ContextEntryLo
impl ContextEntryLo
Sourcepub fn page_table_address(&self) -> u64
pub fn page_table_address(&self) -> u64
Get the full second-stage page table pointer address (bits 63:12 shifted).
Trait Implementations§
Source§impl Clone for ContextEntryLo
impl Clone for ContextEntryLo
Source§fn clone(&self) -> ContextEntryLo
fn clone(&self) -> ContextEntryLo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContextEntryLo
impl Debug for ContextEntryLo
Source§impl Default for ContextEntryLo
impl Default for ContextEntryLo
Source§impl From<ContextEntryLo> for u64
impl From<ContextEntryLo> for u64
Source§fn from(v: ContextEntryLo) -> u64
fn from(v: ContextEntryLo) -> u64
Source§impl From<u64> for ContextEntryLo
impl From<u64> for ContextEntryLo
Source§impl FromBytes for ContextEntryLowhere
u64: FromBytes,
impl FromBytes for ContextEntryLowhere
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,
&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 ContextEntryLowhere
u64: FromZeros,
impl FromZeros for ContextEntryLowhere
u64: FromZeros,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere
Self: Sized,
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,
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,
Vec<Self> from zeroed bytes. Read moreSource§impl Inspect for ContextEntryLo
impl Inspect for ContextEntryLo
Source§impl IntoBytes for ContextEntryLowhere
u64: IntoBytes,
impl IntoBytes for ContextEntryLowhere
u64: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
§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 ContextEntryLowhere
Self: Sized,
impl KnownLayout for ContextEntryLowhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Self with the given pointer
metadata. Read more