Struct rsim::processor::elements::cheri::CheriAggregateMemory[][src]

pub struct CheriAggregateMemory {
    base_mem: AggregateMemory,
    tag_mem: TagMemory,
}

Wrapper for AggregateMemory64 that keeps tags, supports MemoryOf for reading/writing capabilities. All other Memory variants clear associated tag bits on write.

Fields

base_mem: AggregateMemorytag_mem: TagMemory

Implementations

impl CheriAggregateMemory[src]

Trait Implementations

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

Combine MemoryOf<u8,u16,u32,u64> with MemoryOf

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

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

impl MemoryOf<SafeTaggedCap, CcxCap<Cc128>> for CheriAggregateMemory[src]

Impl a capability-aware view of memory for CHERI instructions e.g. a CHERI Load instruction, which is allowed to load capabilities, would use this version.

impl<TData> MemoryOf<TData, CcxCap<Cc128>> for CheriAggregateMemory where
    AggregateMemory: MemoryOf<TData, u64>, 
[src]

Implement MemoryOf addressed by Cc128Cap, which does all necessary validity checks, for every TData in {u8,u16,u32,u64}

impl<'a> VecMemInterface<u64, SafeTaggedCap> for CheriAggregateMemory[src]

Auto Trait Implementations

impl !RefUnwindSafe for CheriAggregateMemory

impl !Send for CheriAggregateMemory

impl !Sync for CheriAggregateMemory

impl Unpin for CheriAggregateMemory

impl !UnwindSafe for CheriAggregateMemory

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.