Skip to main content

Crate ab_riscv_interpreter

Crate ab_riscv_interpreter 

Source
Expand description

Composable and generic RISC-V interpreter.

This interpreter is designed to work with abstractions from ab-riscv-primitives crate and is similarly composable with a powerful macro system and trait abstractions over handling of memory, syscalls, etc.

The immediate needs dictate the current set of available instructions and extensions. Consider contributing if you need something not yet available.

ab-riscv-interpreter-compliance-tests crate in the repository contains complementary compliance tests against https://github.com/riscv-non-isa/riscv-arch-test for many instructions from both base ISA and various extensions on top of the tests contained in this crate.

Does not require a standard library (no_std) or an allocator.

Modules§

rv64
Part of the interpreter responsible for RISC-V RV64 base instruction set

Structs§

BasicInstructionFetcher
Basic instruction fetcher implementation

Enums§

ExecutionError
Execution errors
FetchInstructionResult
Result of InstructionFetcher::fetch_instruction() call
ProgramCounterError
Program counter errors
VirtualMemoryError
Errors for VirtualMemory

Traits§

BasicInt
Basic integer types that can be read and written to/from memory freely
ExecutableInstruction
Trait for executable instructions
InstructionFetcher
Generic instruction fetcher
ProgramCounter
Generic program counter
VirtualMemory
Virtual memory interface