diff --git a/arch/risc-v/src/mpfs/mpfs_head.S b/arch/risc-v/src/mpfs/mpfs_head.S index e691be33f56d9..77fc982d3aa42 100644 --- a/arch/risc-v/src/mpfs/mpfs_head.S +++ b/arch/risc-v/src/mpfs/mpfs_head.S @@ -49,6 +49,14 @@ __start: csrw CSR_MIE, zero csrw CSR_MIP, zero + /* Clear all IPIs (above doesn't clear them) */ + + csrr a0, CSR_MHARTID + slli t1, a0, 2 + li t0, MPFS_CLINT_BASE + add t1, t1, t0 + sw zero, 0(t1) + /* Initialize the Machine Trap Vector */ la t0, __trap_vec