Files
linux-kernel-module-cheat/trace-boot
Ciro Santilli f482f24f87 readme: explain how to run benchmarks with readfile straight out
gem5 cache automate benchmarks, and remove results that were scattered all over.

Move console fun under linux kernel section, since not important enough
for getting started.

Set arch x86_64 by default through common on all scripts.
2018-04-03 22:28:53 +01:00

24 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eu
. common
set -- ${cli_trace_boot:-} "$@"
while getopts a: OPT; do
case "$OPT" in
a)
arch="$OPTARG"
;;
esac
done
set_common_vars "$arch" false
time ./run -a "$arch" -e 'init=/poweroff.out' -T exec_tb
time ./qemu/scripts/simpletrace.py "${build_dir}/host-qemu-custom/trace-events-all" "${qemu_out_dir}/trace.bin" >"${qemu_out_dir}/trace.txt"
# Instruction count.
# We could put this on a separate script, but it just adds more arch boilerplate to a new script.
# So let's just leave it here for now since it did not add a significant processing time.
echo "instruction count all: $(wc -l "${qemu_out_dir}/trace.txt" | cut -d' ' -f1)"
entry_addr=$("${host_dir}"/bin/*-buildroot-*-readelf -h "${build_dir}/linux-custom/vmlinux" | grep 'Entry point address' | sed -E 's/.*: *//')
echo "entry address: ${entry_addr}"
sed "/${entry_addr}/q" "${qemu_out_dir}/trace.txt" >"${qemu_out_dir}/trace-boot.txt"
echo "instruction count firmware: $(wc -l "${qemu_out_dir}/trace-boot.txt" | cut -d' ' -f1)"