diff options
Diffstat (limited to 'scripts/wrapper/spike')
-rwxr-xr-x | scripts/wrapper/spike/riscv64-unknown-linux-gnu-run | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run b/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run index 6f5ba83..fb569f1 100755 --- a/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run +++ b/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run @@ -1,7 +1,12 @@ -#!/bin/sh +#!/bin/bash -xlen="$(readelf -h $1 | grep 'Class' | cut -d: -f 2 | xargs echo | sed 's/^ELF//')" -arch="${ARCH_STR#*=}" -spike \ - --isa=${arch} \ - ${PK_PATH}/pk${xlen} "$@" +xlen="$(march-to-cpu-opt --elf-file-path $1 --print-xlen)" +isa="$(march-to-cpu-opt --elf-file-path $1 --print-spike-isa)" +varch="$(march-to-cpu-opt --elf-file-path $1 --print-spike-varch)" + +isa_option="--isa=${isa}" +varch_option="" + +[[ ! -z ${varch} ]] && varch_option="--varch=${varch}" + +spike ${isa_option} ${varch_option} ${PK_PATH}/pk${xlen} "$@" |