aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/csmith/riscv-isa-sim-exit.diff
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-05-04 01:21:39 +0200
committerClifford Wolf <clifford@clifford.at>2016-05-04 01:21:39 +0200
commit84bd9e9b88d8e0a0e59a1c42583def292985b2e9 (patch)
treecc309940c00f1c8881b7306e649aa95ff8cbaa80 /scripts/csmith/riscv-isa-sim-exit.diff
parent133befd278f64c2019d842e6ac658db389ce40d4 (diff)
downloadpicorv32-84bd9e9b88d8e0a0e59a1c42583def292985b2e9.tar.gz
picorv32-84bd9e9b88d8e0a0e59a1c42583def292985b2e9.zip
Added scripts/csmith/ spike support
Diffstat (limited to 'scripts/csmith/riscv-isa-sim-exit.diff')
-rw-r--r--scripts/csmith/riscv-isa-sim-exit.diff30
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/csmith/riscv-isa-sim-exit.diff b/scripts/csmith/riscv-isa-sim-exit.diff
new file mode 100644
index 0000000..87e9d50
--- /dev/null
+++ b/scripts/csmith/riscv-isa-sim-exit.diff
@@ -0,0 +1,30 @@
+--- a/riscv/processor.cc
++++ b/riscv/processor.cc
+@@ -201,9 +201,10 @@ void processor_t::set_privilege(reg_t prv)
+
+ void processor_t::take_trap(trap_t& t, reg_t epc)
+ {
+- if (debug)
++ // if (debug)
+ fprintf(stderr, "core %3d: exception %s, epc 0x%016" PRIx64 "\n",
+ id, t.name(), epc);
++ exit(1);
+
+ // by default, trap to M-mode, unless delegated to S-mode
+ reg_t bit = t.cause();
+--- a/riscv/insns/c_ebreak.h
++++ b/riscv/insns/c_ebreak.h
+@@ -1,2 +1,6 @@
+ require_extension('C');
++
++fprintf(stderr, "sbreak\n");
++exit(0);
++
+ throw trap_breakpoint();
+--- a/riscv/insns/sbreak.h
++++ b/riscv/insns/sbreak.h
+@@ -1 +1,4 @@
++fprintf(stderr, "sbreak\n");
++exit(0);
++
+ throw trap_breakpoint();