pub trait Memory {
    type REG: Register;

Show 16 methods fn init_pages(
        &mut self,
        addr: u64,
        size: u64,
        flags: u8,
        source: Option<Bytes>,
        offset_from_addr: u64
    ) -> Result<(), Error>; fn fetch_flag(&mut self, page: u64) -> Result<u8, Error>; fn set_flag(&mut self, page: u64, flag: u8) -> Result<(), Error>; fn clear_flag(&mut self, page: u64, flag: u8) -> Result<(), Error>; fn store_byte(
        &mut self,
        addr: u64,
        size: u64,
        value: u8
    ) -> Result<(), Error>; fn store_bytes(&mut self, addr: u64, value: &[u8]) -> Result<(), Error>; fn execute_load16(&mut self, addr: u64) -> Result<u16, Error>; fn execute_load32(&mut self, addr: u64) -> Result<u32, Error>; fn load8(&mut self, addr: &Self::REG) -> Result<Self::REG, Error>; fn load16(&mut self, addr: &Self::REG) -> Result<Self::REG, Error>; fn load32(&mut self, addr: &Self::REG) -> Result<Self::REG, Error>; fn load64(&mut self, addr: &Self::REG) -> Result<Self::REG, Error>; fn store8(
        &mut self,
        addr: &Self::REG,
        value: &Self::REG
    ) -> Result<(), Error>; fn store16(
        &mut self,
        addr: &Self::REG,
        value: &Self::REG
    ) -> Result<(), Error>; fn store32(
        &mut self,
        addr: &Self::REG,
        value: &Self::REG
    ) -> Result<(), Error>; fn store64(
        &mut self,
        addr: &Self::REG,
        value: &Self::REG
    ) -> Result<(), Error>;
}

Required Associated Types

Required Methods

Implementors

A flat chunk of memory used for RISC-V machine, it lacks all the permission checking logic.