summaryrefslogtreecommitdiff
path: root/Documentation/mainboard/emulation/spike-riscv.md
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/mainboard/emulation/spike-riscv.md')
-rw-r--r--Documentation/mainboard/emulation/spike-riscv.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/Documentation/mainboard/emulation/spike-riscv.md b/Documentation/mainboard/emulation/spike-riscv.md
new file mode 100644
index 0000000000..55e87d9cc9
--- /dev/null
+++ b/Documentation/mainboard/emulation/spike-riscv.md
@@ -0,0 +1,23 @@
+# Spike RISC-V emulator
+
+[Spike], also known as riscv-isa-sim, is a commonly used [RISC-V] emulator.
+
+
+## Installation
+
+- Download `riscv-fesvr` and `riscv-isa-sim` from <https://github.com/riscv/>
+- Apply the two patches in <https://github.com/riscv/riscv-isa-sim/pull/53>,
+ which are necessary in order to have a serial console
+- Compile `riscv-fesvr` and then `riscv-isa-sim`
+
+
+## Building coreboot and running it in Spike
+
+- Configure coreboot and run `make` as usual
+- Run `util/riscv/make-spike-elf.sh build/coreboot.rom build/coreboot.elf` to
+ convert coreboot to an ELF that Spike can load
+- Run `spike -m1024 build/coreboot.elf`
+
+
+[Spike]: https://github.com/riscv/riscv-isa-sim
+[RISC-V]: https://riscv.org/