Skip to main content

Reset

Type Alias Reset 

Source
pub type Reset<B> = Arc<dyn Send + Sync + Fn(&Memory<B>, &mut Solver<'_, B>) -> Result<Val<B>, ExecError> + 'static>;
Expand description

The idea behind the Reset type is we dynamically create what is essentially a Sail function consisting of:

reg1 = f();
reg2 = g();
...

where f and g are Rust closures of type Reset. This is used to define custom architectural reset values of these registers, in a possibly symbolic way or based on some memory value. As an example, for ARMv8 system concurrency litmus tests we can set up something like X1 = pte(virtual_address), where pte is the address of the third level page table entry for a virtual address.

Aliased Typeยง

pub struct Reset<B> { /* private fields */ }