aboutsummaryrefslogtreecommitdiff
path: root/machine/mentry.S
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-05-05 17:07:04 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-05-05 17:07:04 -0700
commit1bcab7872c6ae98ab86cdc1a3f567fd263e723d7 (patch)
tree064c07519643d791b76d2fc2a6157eef15df28e0 /machine/mentry.S
parent552bc9bf1b09dc33a38d01a9027862ee681072e4 (diff)
downloadriscv-pk-1bcab7872c6ae98ab86cdc1a3f567fd263e723d7.zip
riscv-pk-1bcab7872c6ae98ab86cdc1a3f567fd263e723d7.tar.gz
riscv-pk-1bcab7872c6ae98ab86cdc1a3f567fd263e723d7.tar.bz2
Poll HTIF console on timer interrupt
Diffstat (limited to 'machine/mentry.S')
-rw-r--r--machine/mentry.S11
1 files changed, 5 insertions, 6 deletions
diff --git a/machine/mentry.S b/machine/mentry.S
index 4895227..6bdc7e6 100644
--- a/machine/mentry.S
+++ b/machine/mentry.S
@@ -20,7 +20,9 @@ trap_table:
.word bad_trap
#define SOFTWARE_INTERRUPT_VECTOR 12
.word software_interrupt
-#define TRAP_FROM_MACHINE_MODE_VECTOR 13
+#define TIMER_INTERRUPT_VECTOR 13
+ .word timer_interrupt
+#define TRAP_FROM_MACHINE_MODE_VECTOR 14
.word __trap_from_machine_mode
.option norvc
@@ -49,11 +51,8 @@ trap_vector:
# Is it a machine timer interrupt?
li a0, IRQ_M_TIMER * 2
bne a0, a1, 1f
- # Yes. Post a supervisor timer interrupt.
- li a0, MIP_MTIP
- csrc mie, a0
- li a0, MIP_STIP
- csrs mip, a0
+ li a1, TIMER_INTERRUPT_VECTOR
+ j .Lhandle_trap_in_machine_mode
.Lmret:
# Go back whence we came.