On Tue, Jan 13 2026 at 16:11, Stafford Horne wrote:
> Commit c05671846451 ("openrisc: sleep instead of spin on secondary
> wait") fixed OpenRISC SMP Linux for QEMU. However, stability was never
> achieved on FPGA development boards.  This is because the above patch
> has a step to unmask IPIs on non-boot cpu's but on hardware without
> power management, IPIs remain masked.
>
> This meant that IPI's were never actually working on the simple SMP
> systems we run on development boards.  The systems booted but stability
> was very suspect.
>
> Add the ability to unmask IPI's on the non-boot cores.  This is done by
> making the OMPIC IRQs proper percpu IRQs.  We can then use the
> enabled_percpu_irq() to unmask IRQ on the non-boot cpus.
>
> Update the or1k PIC driver to use a flow handler that can switch between
> percpu and the configured level or edge flow handlers at runtime.
> This mechanism is inspired by that done in the J-Core AIC driver.
>
> Signed-off-by: Stafford Horne <[email protected]>

Acked-by: Thomas Gleixner <[email protected]>

Reply via email to