Struct rsim::processor::elements::memory::AggregateMemory [−][src]
Struct that combines a set of array-backed memory mappings. The mapped address ranges may not overlap.
Fields
mappings: Vec<Box<dyn Memory>>
full_range: Range<usize>
Implementations
impl AggregateMemory
[src]
impl AggregateMemory
[src]pub fn from_mappings(mappings: Vec<Box<dyn Memory>>) -> Self
[src]
Take a set of mappings, verify they do not overlap, and turn them into an AggregateMemory
.
Panics if any mappings overlap.
pub fn get_io_values(&self) -> Vec<Option<u64>>
[src]
Returns a vector of all stored I/O values
Trait Implementations
impl From<MemoryBacking> for AggregateMemory
[src]
impl From<MemoryBacking> for AggregateMemory
[src]For convenience, allow a single MemoryBacking to be converted directly to an AggregateMemory
fn from(backing: MemoryBacking) -> Self
[src]
impl Memory<u64> for AggregateMemory
[src]
impl Memory<u64> for AggregateMemory
[src]fn range(&self) -> Range<usize>
[src]
fn as_any(&self) -> &dyn Any
[src]
fn load_u8(&mut self, addr: TAddr) -> MemoryResult<u8>
[src]
fn load_u16(&mut self, addr: TAddr) -> MemoryResult<u16>
[src]
fn load_u32(&mut self, addr: TAddr) -> MemoryResult<u32>
[src]
fn load_u64(&mut self, addr: TAddr) -> MemoryResult<u64>
[src]
fn store_u8(&mut self, addr: TAddr, val: u8) -> MemoryResult<()>
[src]
fn store_u16(&mut self, addr: TAddr, val: u16) -> MemoryResult<()>
[src]
fn store_u32(&mut self, addr: TAddr, val: u32) -> MemoryResult<()>
[src]
fn store_u64(&mut self, addr: TAddr, val: u64) -> MemoryResult<()>
[src]
impl<TData> MemoryOf<TData, u64> for AggregateMemory where
dyn Memory: MemoryOf<TData>,
[src]
impl<TData> MemoryOf<TData, u64> for AggregateMemory where
dyn Memory: MemoryOf<TData>,
[src]Foreach TData, where Memory implements MemoryOf
fn read(&mut self, addr: u64) -> MemoryResult<TData>
[src]
fn write(&mut self, addr: u64, val: TData) -> MemoryResult<()>
[src]
impl<'a, uXLEN: PossibleXlen> VecMemInterface<uXLEN, u128> for AggregateMemory
[src]
impl<'a, uXLEN: PossibleXlen> VecMemInterface<uXLEN, u128> for AggregateMemory
[src]fn load_from_memory(
&mut self,
eew: Sew,
addr_provenance: (u64, Provenance)
) -> Result<u128>
[src]
&mut self,
eew: Sew,
addr_provenance: (u64, Provenance)
) -> Result<u128>
fn store_to_memory(
&mut self,
eew: Sew,
val: u128,
addr_provenance: (u64, Provenance)
) -> Result<()>
[src]
&mut self,
eew: Sew,
val: u128,
addr_provenance: (u64, Provenance)
) -> Result<()>