riscv: Flush pipeline and instruction cache

Flush the instruction cache and pipeline when handling
a reschedule IPI.
This commit is contained in:
Yanyan Shen
2019-08-06 19:44:44 +10:00
committed by Yanyan Shen
parent 4741fb6492
commit a269298c71

View File

@@ -79,6 +79,9 @@ void handleIPI(irq_t irq, bool_t irqPath)
handleRemoteCall(remoteCall, get_ipi_arg(0), get_ipi_arg(1), get_ipi_arg(2), irqPath);
} else if (IDX_TO_IRQ(irq) == irq_reschedule_ipi) {
rescheduleRequired();
#ifdef CONFIG_ARCH_RISCV
ifence_local();
#endif
} else {
fail("Invalid IPI");
}