avoid non-standard predefined macros
[riscv-tests.git] / debug / programs / entry.S
index 80904cdb38191967deb1958e18955c4365fc1c91..a2c730413d91d4462cdf953f33401893f3060941 100755 (executable)
@@ -5,7 +5,7 @@
 
 #define STACK_SIZE 512
 
-#ifdef __riscv64
+#if __riscv_xlen == 64
 # define LREG ld
 # define SREG sd
 # define REGBYTES 8
@@ -40,6 +40,15 @@ handle_reset:
   # initialize stack pointer
   la sp, stack_top
 
+  # Clear all hardware triggers
+  li    t0, ~0
+1:
+  addi  t0, t0, 1
+  csrw  CSR_TSELECT, t0
+  csrw  CSR_TDATA1, zero
+  csrr  t1, CSR_TSELECT
+  beq   t0, t1, 1b
+
   # perform the rest of initialization in C
   j _init