aboutsummaryrefslogtreecommitdiff
path: root/isa/rv64si/sbreak.S
diff options
context:
space:
mode:
Diffstat (limited to 'isa/rv64si/sbreak.S')
-rw-r--r--isa/rv64si/sbreak.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/isa/rv64si/sbreak.S b/isa/rv64si/sbreak.S
index 31efff8..8de8e15 100644
--- a/isa/rv64si/sbreak.S
+++ b/isa/rv64si/sbreak.S
@@ -35,6 +35,13 @@ do_break:
stvec_handler:
li t1, CAUSE_BREAKPOINT
csrr t0, scause
+ # Check if CLIC mode
+ csrr t2, stvec
+ andi t2, t2, 2
+ # Skip masking if non-CLIC mode
+ beqz t2, skip_mask
+ andi t0, t0, 255
+skip_mask:
bne t0, t1, fail
la t1, do_break
csrr t0, sepc