Skip to content

Running instructions

Donghyun Gouk edited this page Oct 10, 2018 · 2 revisions

m5term

Before running SimpleSSD FullSystem (gem5), you need monitor of computer.
gem5 provides m5term, similar to telnet.

Build m5term.

# At root of SimpleSSD FullSystem source code
cd util/term
make

Run

Here is example command line to execute SimpleSSD FullSystem.

./build/ARM/gem5.opt --outdir=test --debug-flag=M5Print --debug-file=debug.txt \
./configs/example/fs.py --kernel=aarch64-vmlinux-4.9.92 --machine-type=VExpress_GEM5_V1 \
--dtb-file=armv8_gem5_v1_4cpu.dtb --num-cpu=4 --cpu-clock=2GHz --caches --l2cache \
--cpu-type=AtomicSimpleCPU --mem-size=2GB --mem-type=DDR4_2400_8x8 \
--disk-image=linaro-aarch64-linux.img --ssd-interface=nvme \
--ssd-config=./src/dev/storage/simplessd/config/sample.cfg

You may want to check various options by:

./build/ARM/gem5.opt --help
./build/ARM/gem5.opt ./configs/example/fs.py --help

Connect m5term to SimpleSSD FullSystem (gem5). Port number (3456) may differ if you running multiple instances on same computer.

# From another shell, at root of SimpleSSD FullSystem source code
./util/term/m5term localhost 3456

After few seconds, kernel boot log will be printed to m5term's screen.

Done!

After booting completes (about 7 min. for Atomic CPU model), you can login into linux.
Enter username root to login.

Check NVMe works by:

./nvme list

You can see CAMELab NVMe Controller on /dev/nvme0 and /dev/nvme0n1 device nodes.

Now you can evaluate any program with full-system simulation support.

Clone this wiki locally