pub struct MemoryMap { /* private fields */ }Implementations§
Source§impl MemoryMap
impl MemoryMap
pub fn new() -> Self
Sourcepub fn insert(
&mut self,
start: u64,
size: u64,
device: DeviceId,
) -> Result<(), SimError>
pub fn insert( &mut self, start: u64, size: u64, device: DeviceId, ) -> Result<(), SimError>
Map a [start, start+size-1] region to a device.
Sourcepub fn unmap(&mut self, start: u64) -> Option<MemoryRegion>
pub fn unmap(&mut self, start: u64) -> Option<MemoryRegion>
Remove a region by its exact start address.
Sourcepub fn lookup(&self, addr: u64) -> Option<(DeviceId, u64)>
pub fn lookup(&self, addr: u64) -> Option<(DeviceId, u64)>
Resolve an address to (device_id, offset_in_region).
pub fn num_regions(&self) -> usize
Sourcepub fn regions(&self) -> impl Iterator<Item = &MemoryRegion>
pub fn regions(&self) -> impl Iterator<Item = &MemoryRegion>
Iterate all mapped ranges.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemoryMap
impl RefUnwindSafe for MemoryMap
impl Send for MemoryMap
impl Sync for MemoryMap
impl Unpin for MemoryMap
impl UnsafeUnpin for MemoryMap
impl UnwindSafe for MemoryMap
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