-
Notifications
You must be signed in to change notification settings - Fork 9
Description
I am attempting to run a linux kernel on r2vm. The linux kernel, block device, and firmware images (https://cs.binghamton.edu/~marss-riscv/marss-riscv-images.tar.gz) are the 64-bit versions from the MARSS-RISCV simulator (https://github.com/bucaps/marss-riscv). I run the following command ~/r2vm/target/release/r2vm config.toml and my config.toml is as follows:
core = 1
memory = 1024
kernel = "/home/ubuntu/marss-riscv/src/marss-riscv-images/riscv64-unknown-linux-gnu/kernel-riscv64.bin"
cmdline = "console=hvc0 root=/dev/vda rw"
firmware = "/home/ubuntu/marss-riscv/src/marss-riscv-images/riscv64-unknown-linux-gnu/bbl64.bin"
[[drive]]
path = "/home/ubuntu/marss-riscv/src/marss-riscv-images/riscv64-unknown-linux-gnu/riscv64.img"
When running this, I get the error which seems to indicate an operation has not been implemented:
thread 'main' panicked at 'not implemented: 7fff0006523e Cmp(dword [rdx], +0x1)', src/emu/signal.rs:193:14
The backtrace seems to indicate the problem is with loading the kernel:
12: std::panicking::begin_panic_fmt
at src/libstd/panicking.rs:391
13: r2vm::emu::signal::handle_segv
at src/emu/signal.rs:193
14: <unknown>
15: r2vm::emu::loader::Loader::load_kernel
at src/emu/loader.rs:283
16: r2vm::main
at src/main.rs:327
17: std::rt::lang_start::{{closure}}
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/rt.rs:67
18: std::rt::lang_start_internal::{{closure}}
at src/libstd/rt.rs:52
19: std::panicking::try::do_call
at src/libstd/panicking.rs:348
20: std::panicking::try
at src/libstd/panicking.rs:325
21: std::panic::catch_unwind
at src/libstd/panic.rs:394
22: std::rt::lang_start_internal
at src/libstd/rt.rs:51
23: main
This simulator's speed is remarkable so any advice you can provide on what the error may be (the images seemed to work on the MARSS-RISCV simulator) or if the images are formatted incorrectly would be very helpful. Thanks!