aboutsummaryrefslogtreecommitdiff
path: root/machine/mentry.S
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-05-02 14:30:48 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-05-02 14:30:48 -0700
commit2001632142a11d9a940eee7e3bfbe7c0186fe6ce (patch)
treec4128fd12cc967332cfb956d5a291923ef078036 /machine/mentry.S
parent06dfae8a04c1fb51416472e6e29ec3e926b6cf9b (diff)
downloadpk-2001632142a11d9a940eee7e3bfbe7c0186fe6ce.zip
pk-2001632142a11d9a940eee7e3bfbe7c0186fe6ce.tar.gz
pk-2001632142a11d9a940eee7e3bfbe7c0186fe6ce.tar.bz2
Don't use tohost/fromhost registers; communicate with host via memory
Diffstat (limited to 'machine/mentry.S')
-rw-r--r--machine/mentry.S14
1 files changed, 3 insertions, 11 deletions
diff --git a/machine/mentry.S b/machine/mentry.S
index bbc1c2a..4895227 100644
--- a/machine/mentry.S
+++ b/machine/mentry.S
@@ -18,11 +18,9 @@ trap_table:
.word mcall_trap
.word bad_trap
.word bad_trap
-#define HTIF_INTERRUPT_VECTOR 12
- .word htif_interrupt
-#define SOFTWARE_INTERRUPT_VECTOR 13
+#define SOFTWARE_INTERRUPT_VECTOR 12
.word software_interrupt
-#define TRAP_FROM_MACHINE_MODE_VECTOR 14
+#define TRAP_FROM_MACHINE_MODE_VECTOR 13
.word __trap_from_machine_mode
.option norvc
@@ -67,16 +65,10 @@ trap_vector:
1:
# Is it an IPI?
li a0, IRQ_M_SOFT * 2
- bne a0, a1, 1f
+ bne a0, a1, .Lunhandleable_trap
li a1, SOFTWARE_INTERRUPT_VECTOR
j .Lhandle_trap_in_machine_mode
-1:
- # By process of elimination, it must be an HTIF interrupt.
- li a0, IRQ_HOST * 2
- bne a0, a1, .Lunhandleable_trap
- li a1, HTIF_INTERRUPT_VECTOR
-
.Lhandle_trap_in_machine_mode:
# Preserve the registers. Compute the address of the trap handler.
STORE ra, 1*REGBYTES(sp)