diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-05-02 14:30:48 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-05-02 14:30:48 -0700 |
commit | 2001632142a11d9a940eee7e3bfbe7c0186fe6ce (patch) | |
tree | c4128fd12cc967332cfb956d5a291923ef078036 /machine/mentry.S | |
parent | 06dfae8a04c1fb51416472e6e29ec3e926b6cf9b (diff) | |
download | pk-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.S | 14 |
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) |