Files
nanoBench/kernel-nanoBench.sh
Andreas Abel a01b9742c7 Initial commit
2019-02-20 14:57:43 +01:00

79 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
if [ "$EUID" -ne 0 ]; then
echo "Error: nanoBench requires root privileges"
echo "Try \"sudo ./nb_km-asm.sh ...\""
exit 1
fi
if [ ! -e /sys/nb ]; then
echo "Error: nanoBench kernel module not loaded"
echo "Load with \"sudo insmod nb.ko\""
exit 1
fi
cat /sys/nb/reset
while [ "$1" ]; do
if [[ "$1" == -asm_init ]]; then
echo ".intel_syntax noprefix" > asm-init.s
echo "$2" >> asm-init.s
as asm-init.s -o asm-init.o
objcopy asm-init.o -O binary /sys/nb/init
rm -f asm-init.s asm-init.o
shift 2
elif [[ "$1" == -asm ]]; then
echo ".intel_syntax noprefix" > asm-code.s
echo "$2" >> asm-code.s
as asm-code.s -o asm-code.o
objcopy asm-code.o -O binary /sys/nb/code
rm -f asm-code.s asm-code.o
shift 2
elif [[ "$1" == -code_init ]]; then
cp "$2" /sys/nb/init
shift 2
elif [[ "$1" == -code ]]; then
cp "$2" /sys/nb/code
shift 2
elif [[ "$1" == -config ]]; then
cp "$2" /sys/nb/config
shift 2
elif [[ "$1" == -u* ]]; then
echo "$2" > /sys/nb/unroll_count
shift 2
elif [[ "$1" == -l* ]]; then
echo "$2" > /sys/nb/loop_count
shift 2
elif [[ "$1" == -no_mem ]]; then
echo "1" > /sys/nb/no_mem
shift
elif [[ "$1" == -n* ]]; then
echo "$2" > /sys/nb/n_measurements
shift 2
elif [[ "$1" == -b* ]]; then
echo "1" > /sys/nb/basic_mode
shift
elif [[ "$1" == -v* ]]; then
echo "1" > /sys/nb/verbose
shift
elif [[ "$1" == -w* ]]; then
echo "$2" > /sys/nb/warm_up
shift 2
elif [[ "$1" == -initial* ]]; then
echo "$2" > /sys/nb/initial_warm_up
shift 2
elif [[ "$1" == -min* ]]; then
echo "min" > /sys/nb/agg
shift
elif [[ "$1" == -med* ]]; then
echo "med" > /sys/nb/agg
shift
elif [[ "$1" == -avg* ]]; then
echo "avg" > /sys/nb/agg
shift
else
echo "Invalid option: " "$1"
fi
done
cat /sys/nb/run