blob: a3b210ff5fab72f7b041b0fed575677114c24763 [file] [log] [blame]
#!/bin/sh
# Copyright (c) 2020 The Regents of the University of California.
# SPDX-License-Identifier: BSD 3-Clause
# This file is the script that runs on the gem5 guest. This reads a file from the host via m5 readfile
# which contains the workload and the size to run. Then it resets the stats before running the workload.
# Finally, it exits the simulation after running the workload, then it copies out the result file to be checked.
cd /home/gem5/spec2017
source shrc
m5 readfile > workloads
echo "Done reading workloads"
if [ -s workloads ]; then
# if the file is not empty, run spec with the parameters
echo "Workload detected"
echo "Reset stats"
m5 exit
# run the commands
read -r workload size m5filespath < workloads
runcpu --size $size --iterations 1 --config myconfig.x86.cfg --define gcc_dir="/usr" --noreportable --nobuild $workload
m5 exit
# copy the SPEC result files to host
for filepath in /home/gem5/spec2017/result/*; do
filename=$(basename $filepath)
m5 writefile $filepath $m5filespath/$filename
done
m5 exit
else
echo "Couldn't find any workload"
m5 exit
m5 exit
m5 exit
fi
# otherwise, drop to the terminal