aboutsummaryrefslogtreecommitdiff
path: root/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/wrapper/spike/riscv64-unknown-linux-gnu-run')
-rwxr-xr-xscripts/wrapper/spike/riscv64-unknown-linux-gnu-run17
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} "$@"