gem5: track build and run variants separately with -M and -N

Otherwise, checking out branches is too insane, as it does not
update the worktrees, even though the gem5/gem5 module was updated.

gem5: expose build types, document debug builds.

simultaneous runs: store stdout and stderr on a file to allow running
all from a single terminal on the background cleanly.
This commit is contained in:
Ciro Santilli
2018-06-27 15:18:13 +01:00
parent 71e927e63b
commit 1721f184d6
10 changed files with 123 additions and 35 deletions

12
common
View File

@@ -69,24 +69,28 @@ set_common_vars() {
common_images_dir="${buildroot_out_dir}/images"
host_dir="${buildroot_out_dir}/host"
common_qemu_run_dir="${out_arch_dir}/qemu/${common_run_id}"
common_qemu_termout_file="${common_qemu_run_dir}/termout.txt"
common_linux_custom_dir="${build_dir}/linux-custom"
common_linux_variant_dir="${common_linux_custom_dir}.${linux_variant}"
common_vmlinux="${common_linux_variant_dir}/vmlinux"
if [ "$gem5_variant" = default ]; then
common_gem5_src_dir="${root_dir}/gem5/gem5"
if [ -n "$common_gem5_worktree" ]; then
common_gem5_src_dir="${common_gem5_non_default_src_root_dir}/${common_gem5_worktree}"
else
common_gem5_src_dir="${common_gem5_non_default_src_root_dir}/${gem5_variant}"
common_gem5_src_dir="${root_dir}/gem5/gem5"
fi
common_gem5_out_dir="${common_dir}/gem5/${gem5_variant}"
common_gem5_m5term="${common_gem5_out_dir}/m5term"
common_gem5_build_dir="${common_gem5_out_dir}/build"
common_gem5_system_dir="${common_gem5_out_dir}/system"
common_gem5_run_dir="${out_arch_dir}/gem5/${gem5_variant}/${common_run_id}"
common_gem5_termout_file="${common_gem5_run_dir}/termout.txt"
common_m5out_dir="${common_gem5_run_dir}/m5out"
if "$gem5"; then
common_run_dir="$common_gem5_run_dir"
common_termout_file="$common_gem5_termout_file"
else
common_run_dir="$common_qemu_run_dir"
common_termout_file="$common_qemu_termout_file"
fi
common_trace_txt_file="${common_m5out_dir}/trace.txt"
case "$arch" in
@@ -136,8 +140,10 @@ data_dir="${root_dir}/data"
p9_dir="${data_dir}/9p"
readfile_file="${data_dir}/readfile"
common_dir="${out_dir}/common"
common_gem5_build_type=opt
common_gem5_default_src_dir="${root_dir}/gem5/gem5"
common_gem5_non_default_src_root_dir="${data_dir}/gem5"
common_gem5_worktree=
common_gem5_variant=default
common_run_id=0
f="${data_dir}/cli"