Trait rsim::processor::elements::memory::Memory[][src]

pub trait Memory<TAddr = u64>: MemoryOf<u8, TAddr> + MemoryOf<u16, TAddr> + MemoryOf<u32, TAddr> + MemoryOf<u64, TAddr> {
    fn range(&self) -> Range<usize>;
fn as_any(&self) -> &dyn Any; fn load_u8(&mut self, addr: TAddr) -> MemoryResult<u8> { ... }
fn load_u16(&mut self, addr: TAddr) -> MemoryResult<u16> { ... }
fn load_u32(&mut self, addr: TAddr) -> MemoryResult<u32> { ... }
fn load_u64(&mut self, addr: TAddr) -> MemoryResult<u64> { ... }
fn store_u8(&mut self, addr: TAddr, val: u8) -> MemoryResult<()> { ... }
fn store_u16(&mut self, addr: TAddr, val: u16) -> MemoryResult<()> { ... }
fn store_u32(&mut self, addr: TAddr, val: u32) -> MemoryResult<()> { ... }
fn store_u64(&mut self, addr: TAddr, val: u64) -> MemoryResult<()> { ... } }

Public trait which supplies {load,store}_u{8,16,32,64} functions.

Required methods

fn range(&self) -> Range<usize>[src]

The mapped address range for this Memory. All addresses passed to read,write must be within this range. Guaranteed to be at least 4 bytes in size, both ends will be 4-byte aligned.

fn as_any(&self) -> &dyn Any[src]

Loading content...

Provided methods

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]

Loading content...

Implementors

impl Memory<u64> for AggregateMemory[src]

impl Memory<u64> for IOMemory[src]

impl Memory<u64> for MemoryBacking[src]

impl Memory<CcxCap<Cc128>> for CheriAggregateMemory[src]

Now we’ve defined MemoryOf<u8,u16,u32,u64>, combine them into a single Memory trait

impl<'a> Memory<u64> for IntegerModeCheriAggregateMemory<'a>[src]

Loading content...