Files
gem5/configs/example/lupv
Bobby R. Bruce 79a93f3429 stdlib: Incorporating multi-isa work to the stdlib
The main restriction with this design is it results in one ISA target
per board. The ISA is declared per core. To make the design simpler it's
assumed a Processor (a collection of cores) are all of the same ISA. As
each board has one processor, this also means a board is typically tied
to one ISA per simulation.

In order to remain backwards compatible and maintain the standard
library APIs, this patch adds a `--main-isa` parameter which will
determine what `gem5.runtime.get_runtime_isa` returns in cases where
mutliple ISAs are compiled in. When setting the ISA in a simulation (via
the Processor or Cores), the user may, as before, choose not to and, in
this case, the `gem5.runtime.get_runtime_isa` function is used.

The `gem5.runtime.get_runtime_isa` function is an intermediate step
which should be removed in future versions of gem5 (users should specify
precisely what ISA they want via configuration scripts). For this reason
it throws a warning when used and should not be heavily relied upon. It
is deprecated.

Change-Id: Ia76541bfa9a5a4b6b86401309281849b49dc724b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/55423
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-04-04 22:48:12 +00:00
..

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!