aboutsummaryrefslogtreecommitdiff
path: root/isa/rv64si/timer.S
diff options
context:
space:
mode:
Diffstat (limited to 'isa/rv64si/timer.S')
-rw-r--r--isa/rv64si/timer.S12
1 files changed, 7 insertions, 5 deletions
diff --git a/isa/rv64si/timer.S b/isa/rv64si/timer.S
index 80b22e9..0a90a60 100644
--- a/isa/rv64si/timer.S
+++ b/isa/rv64si/timer.S
@@ -32,8 +32,7 @@ RVTEST_CODE_BEGIN
srl s0,s0,1
sll s2,s2,9
or s0,s2,s0
- sll s0,s0,54
- srl s0,s0,54
+ and s0, s0, 0x3FF
add s4, s4, 1
bltu s8, s9, 1b
@@ -54,10 +53,13 @@ RVTEST_CODE_BEGIN
TEST_PASSFAIL
handler:
- csrr t0, cause
- li t1, 0x8000000000000007
li TESTNUM, 3
- bne t0, t1, fail
+ csrr t0, cause
+ bgez t0, fail
+
+ sll t0, t0, 1
+ addi t0, t0, -2*IRQ_TIMER
+ bnez t0, fail
csrr t0, count
addi t0, t0, 999