pub trait SyscallContext {
// Required methods
fn peek_register(&mut self, idx: usize) -> Result<u32>;
fn peek_u32(&mut self, addr: ByteAddr) -> Result<u32>;
fn peek_u8(&mut self, addr: ByteAddr) -> Result<u8>;
fn peek_region(&mut self, addr: ByteAddr, size: usize) -> Result<Vec<u8>>;
fn peek_page(&mut self, page_idx: u32) -> Result<Vec<u8>>;
fn get_cycle(&self) -> u64;
fn get_pc(&self) -> u32;
}Expand description
Access to memory and machine state for syscalls.
Required Methods§
Sourcefn peek_register(&mut self, idx: usize) -> Result<u32>
fn peek_register(&mut self, idx: usize) -> Result<u32>
Loads the value of the given register, e.g. REG_A0.
Sourcefn peek_region(&mut self, addr: ByteAddr, size: usize) -> Result<Vec<u8>>
fn peek_region(&mut self, addr: ByteAddr, size: usize) -> Result<Vec<u8>>
Loads bytes from the given region of memory.
A region may span multiple pages.