diff --git a/kernel/kernelvec.S b/kernel/kernelvec.S index 5fce79a..3e9d3e9 100644 --- a/kernel/kernelvec.S +++ b/kernel/kernelvec.S @@ -101,9 +101,10 @@ timervec: sd a2, 8(a0) sd a3, 16(a0) - # add another second to mtimecmp0. + # schedule the next timer interrupt + # by adding interval to mtimecmp. ld a1, 32(a0) # CLINT_MTIMECMP(hart) - ld a2, 40(a0) # ticks per second + ld a2, 40(a0) # interval ld a3, 0(a1) add a3, a3, a2 sd a3, 0(a1) diff --git a/kernel/trap.c b/kernel/trap.c index 6d5e46b..53d86ca 100644 --- a/kernel/trap.c +++ b/kernel/trap.c @@ -191,7 +191,7 @@ devintr() plic_complete(irq); return 1; - } else if(scause == 0x8000000000000001){ + } else if(scause == 0x8000000000000001L){ // software interrupt from a machine-mode timer interrupt, // forwarded by timervec in kernelvec.S.