pub struct PasidDirectoryEntry(/* private fields */);Expand description
Scalable PASID-directory entry (§9.5), 64 bits.
Implementations§
Source§impl PasidDirectoryEntry
impl PasidDirectoryEntry
Sourcepub const fn with_p_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_p_checked(self, value: bool) -> Result<Self, ()>
Present.
Bits: 0..1
Sourcepub const fn fpd(&self) -> bool
pub const fn fpd(&self) -> bool
Evaluated even when P=0; OR with the referencing context’s FPD.
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, ()>
Evaluated even when P=0; OR with the referencing context’s FPD.
Bits: 1..2
Sourcepub const fn with_fpd(self, value: bool) -> Self
pub const fn with_fpd(self, value: bool) -> Self
Evaluated even when P=0; OR with the referencing context’s FPD.
Bits: 1..2
Sourcepub const fn set_fpd(&mut self, value: bool)
pub const fn set_fpd(&mut self, value: bool)
Evaluated even when P=0; OR with the referencing context’s FPD.
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<(), ()>
Evaluated even when P=0; OR with the referencing context’s FPD.
Bits: 1..2
Sourcepub const fn with_smptblptr_checked(self, value: u64) -> Result<Self, ()>
pub const fn with_smptblptr_checked(self, value: u64) -> Result<Self, ()>
Pointer to a 4KB PASID table, bits 63:12.
Bits: 12..64
Sourcepub const fn with_smptblptr(self, value: u64) -> Self
pub const fn with_smptblptr(self, value: u64) -> Self
Pointer to a 4KB PASID table, bits 63:12.
Bits: 12..64
Sourcepub const fn set_smptblptr(&mut self, value: u64)
pub const fn set_smptblptr(&mut self, value: u64)
Pointer to a 4KB PASID table, bits 63:12.
Bits: 12..64
Source§impl PasidDirectoryEntry
impl PasidDirectoryEntry
Sourcepub fn table_address(&self) -> u64
pub fn table_address(&self) -> u64
Full, 4KB-aligned PASID table address.
Trait Implementations§
Source§impl Clone for PasidDirectoryEntry
impl Clone for PasidDirectoryEntry
Source§fn clone(&self) -> PasidDirectoryEntry
fn clone(&self) -> PasidDirectoryEntry
Returns a duplicate 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 PasidDirectoryEntry
impl Debug for PasidDirectoryEntry
Source§impl Default for PasidDirectoryEntry
impl Default for PasidDirectoryEntry
Source§impl From<PasidDirectoryEntry> for u64
impl From<PasidDirectoryEntry> for u64
Source§fn from(v: PasidDirectoryEntry) -> u64
fn from(v: PasidDirectoryEntry) -> u64
Converts to this type from the input type.
Source§impl From<u64> for PasidDirectoryEntry
impl From<u64> for PasidDirectoryEntry
Source§impl FromBytes for PasidDirectoryEntrywhere
u64: FromBytes,
impl FromBytes for PasidDirectoryEntrywhere
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,
Interprets the suffix of the given bytes as a
&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 PasidDirectoryEntrywhere
u64: FromZeros,
impl FromZeros for PasidDirectoryEntrywhere
u64: FromZeros,
§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() -> Result<Box<Self>, AllocError>where
Self: Sized,
fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
Creates a
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,
Creates a
Vec<Self> from zeroed bytes. Read moreSource§impl Inspect for PasidDirectoryEntry
impl Inspect for PasidDirectoryEntry
Source§impl IntoBytes for PasidDirectoryEntrywhere
u64: IntoBytes,
impl IntoBytes for PasidDirectoryEntrywhere
u64: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Gets the bytes of this value mutably. Read more
§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 PasidDirectoryEntrywhere
Self: Sized,
impl KnownLayout for PasidDirectoryEntrywhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
The type of metadata stored in a pointer to
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Computes the size of an object of type
Self with the given pointer
metadata. Read moreSource§impl TryFromBytes for PasidDirectoryEntrywhere
u64: TryFromBytes,
impl TryFromBytes for PasidDirectoryEntrywhere
u64: TryFromBytes,
§fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
impl Copy for PasidDirectoryEntry
impl Immutable for PasidDirectoryEntrywhere
u64: Immutable,
Auto Trait Implementations§
impl Freeze for PasidDirectoryEntry
impl RefUnwindSafe for PasidDirectoryEntry
impl Send for PasidDirectoryEntry
impl Sync for PasidDirectoryEntry
impl Unpin for PasidDirectoryEntry
impl UnsafeUnpin for PasidDirectoryEntry
impl UnwindSafe for PasidDirectoryEntry
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