aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md18
1 files changed, 14 insertions, 4 deletions
diff --git a/README.md b/README.md
index f6284f1..2eb0b42 100644
--- a/README.md
+++ b/README.md
@@ -20,11 +20,21 @@ riscv a0 a1 a2 a3 a4 a5 -
The syscalls are implemented in [lib.rs](src/lib.rs).
When building, cargo runs the [build.rs](build.rs) script before building the
-crate itself, which in this case generates some rust code for the syscall numbers from the riscv C headers.
+crate itself, which in this case generates some rust code for the syscall
+numbers from the riscv C headers.
-The binary can be automatically run in the QEMU user space emulator by with `cargo run`, this is because the `runner` is specified in [.cargo/config](.cargo/config).
+Looking into [.cargo/config](.cargo/config) we actually build for the
+`riscv64imac-unknown-none-elf` rather than the `riscv64gc-unknown-linux-gnu`
+target, as our goal is to build a `risv64*i*` binary and that way we just have
+to disable a few more extensions :^).
+
+The binary can be automatically run in the QEMU user space emulator with `cargo
+run`, this is because the `runner` is specified in
+[.cargo/config](.cargo/config).
## Requirements
-- `riscv64-linux-gnu-gcc` toolchain
-- `rustup target add riscv64imac-unknown-none-elf` rust target
+- `riscv64-linux-gnu-gcc` toolchain for parsing syscall numbers in
+ [build.rs](build.rs)
+- `riscv64imac-unknown-none-elf` rustc target to generate riscv target code
+ (`rustup target add riscv64imac-unknown-none-elf`)
- `qemu-riscv64` QEMU userspace emulator