Files
linux-kernel-module-cheat/gem5-bench-dhrystone
Ciro Santilli 六四事件 法轮功 74b51fc044 gem5: update to 7bfb7f3a43f382eb49853f47b140bfd6caad0fb8
The update is required to include 3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38
otherwise baremetal does not on VExpress.

baremetal: create a baremetal setup with crosstool-ng

buildroot: improve directory location: move out/dl inside
out/buildroot/download, and add a new out/buildroot/build level

tagline: generalize, deliver more value than howto, since now howtos
are starting to multiply

rename all top scripts to separate words with hyphen more consistently,
e.g. run-gdb instead of rungdb

getvar: list all variables

gem5: make m5out section to focus all releated information at

Prevent m5term Text file busy when rebuilding gem5 while it is running.
2018-09-23 13:56:20 +01:00

27 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# https://github.com/cirosantilli/linux-kernel-module-cheat#gem5-run-benchmark
set -eu
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
outfile="${root_dir}/out/gem5-bench-dhrystone.txt"
arch=aarch64
cmd="./run -a '$arch' --gem5 --eval-busybox '/gem5.sh'"
# These cache sizes roughly match the ARM Cortex A75
# https://en.wikipedia.org/wiki/ARM_Cortex-A75
restore='-l 1 -- --cpu-type=HPI --restore-with-cpu=HPI --caches --l2cache --l1d_size=64kB --l1i_size=64kB --l2_size=256kB'
# Generate a checkpoint after Linux boots, using the faster and less detailed CPU.
# The boot takes a while, be patient young Padawan.
eval "$cmd"
printf 'n cycles\n' > "$outfile"
for n in 1000 10000 100000; do
# Restore the most recent checkpoint taken with the more detailed and slower HPI CPU,
# and run the benchmark with different parameters. We skip the boot completely, saving time!
eval "${cmd} --gem5-readfile 'dhrystone ${n}' ${restore}" &>/dev/null
printf "${n} " >> "$outfile"
./gem5-stat -a "$arch" >> "$outfile"
done