mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 10:15:57 +01:00
gem5: namespace checkpoints by arch
Also refactor common gem5 x86 and arm command parts
This commit is contained in:
38
run
38
run
@@ -74,35 +74,37 @@ out_dir="${root_dir}/buildroot/output.${arch_dir}~"
|
||||
if "$gem5"; then
|
||||
build_dir="${out_dir}/build/gem5-1.0"
|
||||
gem5_dir="${build_dir}/gem5"
|
||||
if [ "$arch" = x86_64 ]; then
|
||||
gem5_arch=X86
|
||||
else
|
||||
gem5_arch=ARM
|
||||
fi
|
||||
gem5_cpt_dir="./m5out/cpts/${arch}"
|
||||
mkdir -p "$gem5_cpt_dir"
|
||||
gem5_common="\
|
||||
M5_PATH='${build_dir}/system' \
|
||||
$debug_vm \
|
||||
'${gem5_dir}/build/${gem5_arch}/gem5.opt' \
|
||||
${gem5opts} \
|
||||
'${gem5_dir}/configs/example/fs.py' \
|
||||
--checkpoint-dir='${gem5_cpt_dir}' \
|
||||
--disk-image='${out_dir}/images/rootfs.ext2' \
|
||||
--kernel='${out_dir}/build/linux-custom/vmlinux' \
|
||||
--num-cpus='${cpus}' \
|
||||
"
|
||||
if [ "$arch" = x86_64 ]; then
|
||||
if "$kvm"; then
|
||||
extra_flags="$extra_flags --cpu-type=X86KvmCPU"
|
||||
fi
|
||||
cmd="\
|
||||
M5_PATH='${build_dir}/system' \
|
||||
$debug_vm \
|
||||
'${gem5_dir}/build/X86/gem5.opt' \
|
||||
${gem5opts} \
|
||||
'${gem5_dir}/configs/example/fs.py' \
|
||||
cmd="${gem5_common} \
|
||||
--command-line='earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda $extra_append' \
|
||||
--disk-image='${out_dir}/images/rootfs.ext2' \
|
||||
--kernel='${out_dir}/build/linux-custom/vmlinux' \
|
||||
--num-cpus=${cpus} \
|
||||
$extra_flags \
|
||||
"
|
||||
elif [ "$arch" = arm ] || [ "$arch" = aarch64 ]; then
|
||||
cmd="\
|
||||
M5_PATH='${build_dir}/system' \
|
||||
$debug_vm \
|
||||
'${gem5_dir}/build/ARM/gem5.opt' \
|
||||
${gem5opts} \
|
||||
'${gem5_dir}/configs/example/fs.py' \
|
||||
cmd="${gem5_common} \
|
||||
--command-line='earlyprintk=pl011,0x1c090000 console=ttyAMA0 lpj=19988480 rw loglevel=8 mem=512MB root=/dev/sda $extra_append' \
|
||||
--disk-image='${out_dir}/images/rootfs.ext2' \
|
||||
--dtb-file='${gem5_dir}/system/arm/dt/$([ "$arch" = arm ] && echo "armv7_gem5_v1_${cpus}cpu" || echo "armv8_gem5_v1_${cpus}cpu").dtb' \
|
||||
--kernel='${out_dir}/build/linux-custom/vmlinux' \
|
||||
--machine-type=VExpress_GEM5_V1 \
|
||||
--num-cpus='${cpus}' \
|
||||
$extra_flags \
|
||||
"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user