まだ途中ではあるが、Learning Gem5で作成したconfigスクリプトをRISC-V向けに改造したのでこれを動作させるテストをする。
RISC-V向けに改造といっても、CPUのタイプを変更するだけである。
# configs/learning_gem5/part1/simple-riscv.py # ... 途中省略 ... system.mem_mode = "timing" system.mem_ranges = [AddrRange("512MB")] system.cpu = RiscvTimingSimpleCPU() # ... 途中省略 ... thispath = os.path.dirname(os.path.realpath(__file__)) binary = os.path.join( thispath, "../../../", "tests/test-progs/hello/src/hello.bare.riscv", ) system.workload = SEWorkload.init_compatible(binary)
CPUのタイプと、バイナリの指定を変更して動作せせる。
$ ./build/RISCV/gem5.opt configs/learning_gem5/part1/simple-riscv.py
Beginning simulation! build/RISCV/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation... Hello world! Exiting @ tick 171176000 because exiting with last active thread context
上手く動作したことが確認できた。
関連記事: