As of this change: https://gem5-review.googlesource.com/c/public/gem5/+/65051, the `_pre_instantiate` function must be called prior to `m5.instantiate` when using the stdlib without the Simulator module. Change-Id: Id5cec3b643d556b0f742719596abb53533b84cbd Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/65871 Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
README
This README details how to build a RISCV full system that utilizes the lupIO devices. The LupIO devices were created by Professor Joël Porquet-Lupine, and more information about the device can be found here. The specs for each individual device can be found here, and the Linux drivers for each of these devices can be found here.
To build the RISCV gem5 binary execute:
scons build/RISCV/gem5.opt
Then, to run the LupIO example execute:
.build/RISCV/gem5.opt configs/example/lupv/run_lupv.py [cpu type] [num cpus]
Note: valid cpu types are atomic and timing for now.
For example:
gem5/build/RISCV/gem5.opt configs/example/lupv/run_lupv.py atomic 1
You can observe the stdout of the simulated system in m5out/system.terminal.
Then, you can open up a separate terminal and use m5term to connect to the
simulated console. The port number will be specified in the gem5 simulation
as 0: system.remote_gdb: listening for remote gdb on port <port>
example:
m5term localhost 3456
This should allow you to run busybox, in which you can see the LupIO device at work!