summaryrefslogtreecommitdiff
path: root/software
diff options
context:
space:
mode:
Diffstat (limited to 'software')
-rw-r--r--software/first/setup_timer_irq.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/software/first/setup_timer_irq.S b/software/first/setup_timer_irq.S
index 8ca0370..84ecde8 100644
--- a/software/first/setup_timer_irq.S
+++ b/software/first/setup_timer_irq.S
@@ -9,7 +9,7 @@ setup_timer_irq:
addi sp, sp, -16 # Allocate stack frame
sw ra, 12(sp) # save return address to the stack
- lw t0, irq_handler # load address of irq_handler
+ la t0, irq_handler # load address of irq_handler
slli t0, t0, 1 # shift address left by one; LSB will be 0 which is direct mode (what we want)
csrw mtvec, t0 # write handler address and mode
@@ -50,6 +50,7 @@ setup_timer_irq:
# mret
+.align 6
irq_handler:
# save only the registers we use in this function
addi sp, sp, -28 # Allocate stack frame