# 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 ` example: ```bash m5term localhost 3456 ``` This should allow you to run busybox, in which you can see the LupIO device at work!