RVTEST_RV64S
RVTEST_CODE_BEGIN
- la t0, stvec
- csrw stvec, t0
+#ifdef __MACHINE_MODE
+ #define sscratch mscratch
+ #define sstatus mstatus
+ #define scause mcause
+ #define sepc mepc
+ #define sret mret
+ #define stvec_handler mtvec_handler
+#endif
li TESTNUM, 2
+
+do_break:
sbreak
j fail
- j pass
-
TEST_PASSFAIL
-stvec:
+ .align 2
+ .global stvec_handler
+stvec_handler:
li t1, CAUSE_BREAKPOINT
csrr t0, scause
bne t0, t1, fail
+ la t1, do_break
csrr t0, sepc
- addi t0, t0, 8
- csrw sepc, t0
- sret
+ bne t0, t1, fail
+ j pass
RVTEST_CODE_END