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 */ }