diff options
Diffstat (limited to 'software')
-rw-r--r-- | software/first/setup_timer_irq.S | 3 |
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 |