diff --git a/port/moonlight/trap_non_vectored.c b/port/moonlight/trap_non_vectored.c index 513778c..0f891d7 100644 --- a/port/moonlight/trap_non_vectored.c +++ b/port/moonlight/trap_non_vectored.c @@ -1,4 +1,5 @@ #include "hwtimer.h" +#include "platform.h" #include "riscv-traps.h" #include #include @@ -39,6 +40,11 @@ void trap_handler(uintptr_t mcause, uintptr_t mepc, uintptr_t mtval) { hwtimer_handler(); _tx_timer_interrupt(); break; +#ifdef TX_THREAD_SMP_INTER_CORE_INTERRUPT + case RISCV_INT_MSI: + set_aclint_msip(aclint, csr_read_mhartid(), 0); + break; +#endif case RISCV_INT_MEI: puts("[INTERRUPT]: handler ext irq error!\n"); while(1)