pub struct VirtualAddress { /* private fields */ }Expand description
A concrete ARMv8 virtual address
Implementations§
Source§impl VirtualAddress
impl VirtualAddress
Sourcepub fn from_u64(bits: u64) -> Self
pub fn from_u64(bits: u64) -> Self
Create a virtual address from a 64-bit unsigned integer. This function will clear all bits from 48 and above to guarantee it is a valid ARMv8 virtual address.
Sourcepub fn level_index(self, level: u64) -> usize
pub fn level_index(self, level: u64) -> usize
va.level_index(n) will return the index used for the
translation table at level n when translating va. Panics
if n > 3.
Sourcepub fn page_offset(self) -> u64
pub fn page_offset(self) -> u64
Return the offset of a virtual address within a 4K page.
Sourcepub fn from_indices(
level0: usize,
level1: usize,
level2: usize,
level3: usize,
page_offset: usize,
) -> Self
pub fn from_indices( level0: usize, level1: usize, level2: usize, level3: usize, page_offset: usize, ) -> Self
Create a virtual address that will be translated by the translation table indices in order from level 0 to 3 plus a page offset. Panics if any level argument is not less than 512, and the page offset is not less than 4096.
Trait Implementations§
Source§impl Clone for VirtualAddress
impl Clone for VirtualAddress
Source§fn clone(&self) -> VirtualAddress
fn clone(&self) -> VirtualAddress
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for VirtualAddress
Source§impl Debug for VirtualAddress
impl Debug for VirtualAddress
impl Eq for VirtualAddress
Source§impl PartialEq for VirtualAddress
impl PartialEq for VirtualAddress
impl StructuralPartialEq for VirtualAddress
Auto Trait Implementations§
impl Freeze for VirtualAddress
impl RefUnwindSafe for VirtualAddress
impl Send for VirtualAddress
impl Sync for VirtualAddress
impl Unpin for VirtualAddress
impl UnsafeUnpin for VirtualAddress
impl UnwindSafe for VirtualAddress
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.