Skip to content

Commit 2417108

Browse files
fix(riscv/interrupts): call generic IRQC function for sending IPIs
When using IMSIC, IPIs are sent through direct MSI write in the interrupt file of the target hart. The path through OpenSBI (sbi_send_ipi) is not suitable since SUPERVISOR SOFTWARE INTERRUPTS (SSI) are not enabled in this scenario. By using the generic irqc_send_ipi() function, the IPI sending process is handled correctly in all the possible configurations (PLIC, APLIC, IMSIC). Signed-off-by: Filippo Fontana <[email protected]>
1 parent a1daae7 commit 2417108

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/arch/riscv/interrupts.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ void interrupts_arch_ipi_send(cpuid_t target_cpu, irqid_t ipi_id)
4747
if (USE_ACLINT_IPI()) {
4848
aclint_send_ipi(target_cpu);
4949
} else {
50-
sbi_send_ipi(1UL << target_cpu, 0);
50+
irqc_send_ipi(target_cpu, ipi_id);
5151
}
5252
}
5353

0 commit comments

Comments
 (0)