The following command was run: ``` pre-commit run --all-files ``` This ensures all the files in the repository are formatted to pass our checks. Change-Id: Ia2fe3529a50ad925d1076a612d60a4280adc40de Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/62572 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# 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](
|
|
https://luplab.cs.ucdavis.edu/assets/lupio/wcae21-porquet-lupio-paper.pdf). The
|
|
specs for each individual device can be found [here](
|
|
https://gitlab.com/luplab/lupio/lupio-specs), and the Linux drivers for each of
|
|
these devices can be found [here](https://gitlab.com/luplab/lupio/linux).
|
|
|
|
To build the RISCV gem5 binary execute:
|
|
|
|
```sh
|
|
scons build/RISCV/gem5.opt
|
|
```
|
|
|
|
Then, to run the LupIO example execute:
|
|
|
|
|
|
``` bash
|
|
.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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
m5term localhost 3456
|
|
```
|
|
|
|
This should allow you to run busybox, in which you can see the LupIO device at
|
|
work!
|