pub struct VirtualMemoryManager {
memmap: Vec<VirtualMemoryMap>,
asid: usize,
}
Fields§
§memmap: Vec<VirtualMemoryMap>
§asid: usize
Implementations§
Source§impl VirtualMemoryManager
impl VirtualMemoryManager
Sourcepub fn get_asid(&self) -> usize
pub fn get_asid(&self) -> usize
Returns the ASID (Address Space ID) for the virtual memory manager.
§Returns
The ASID for the virtual memory manager.
pub fn get_memmap(&self) -> &Vec<VirtualMemoryMap>
Sourcepub fn add_memory_map(
&mut self,
map: VirtualMemoryMap,
) -> Result<(), &'static str>
pub fn add_memory_map( &mut self, map: VirtualMemoryMap, ) -> Result<(), &'static str>
Sourcepub fn get_memory_map(&self, idx: usize) -> Option<&VirtualMemoryMap>
pub fn get_memory_map(&self, idx: usize) -> Option<&VirtualMemoryMap>
Sourcepub fn remove_memory_map(&mut self, idx: usize) -> Option<VirtualMemoryMap>
pub fn remove_memory_map(&mut self, idx: usize) -> Option<VirtualMemoryMap>
Sourcepub fn remove_all_memory_maps(&mut self) -> Vec<VirtualMemoryMap>
pub fn remove_all_memory_maps(&mut self) -> Vec<VirtualMemoryMap>
Sourcepub fn restore_memory_maps(
&mut self,
maps: Vec<VirtualMemoryMap>,
) -> Result<(), &'static str>
pub fn restore_memory_maps( &mut self, maps: Vec<VirtualMemoryMap>, ) -> Result<(), &'static str>
Sourcepub fn search_memory_map(&self, vaddr: usize) -> Option<&VirtualMemoryMap>
pub fn search_memory_map(&self, vaddr: usize) -> Option<&VirtualMemoryMap>
Sourcepub fn search_memory_map_idx(&self, vaddr: usize) -> Option<usize>
pub fn search_memory_map_idx(&self, vaddr: usize) -> Option<usize>
Sourcepub fn get_root_page_table(&self) -> Option<&mut PageTable>
pub fn get_root_page_table(&self) -> Option<&mut PageTable>
Returns the root page table for the current address space.
§Returns
The root page table for the current address space, if it exists.
Sourcepub fn translate_vaddr(&self, vaddr: usize) -> Option<usize>
pub fn translate_vaddr(&self, vaddr: usize) -> Option<usize>
Trait Implementations§
Source§impl Clone for VirtualMemoryManager
impl Clone for VirtualMemoryManager
Source§fn clone(&self) -> VirtualMemoryManager
fn clone(&self) -> VirtualMemoryManager
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for VirtualMemoryManager
impl RefUnwindSafe for VirtualMemoryManager
impl Send for VirtualMemoryManager
impl Sync for VirtualMemoryManager
impl Unpin for VirtualMemoryManager
impl UnwindSafe for VirtualMemoryManager
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)