Note that the 'riscv32ima-unknown-none-elf' target is not available by
default in rustc, you need a patched version.
I'm also pretty sure just converting the ELF binary to raw using objdump
messes with stack and heap addresses, but it seems to work fine for now.
...plus some cleanups and debug improvements (single-step mode)
All tests specified in test.sh now pass! This pretty much means full
compliance with the RV32I base spec, M and A extensions, as well as correct
machine, supervisor and user mode traps/switches.
Next up is the SV32 MMU and external devices (UART, CLINT timer).