HomeFreeBSD

intrng: Allow alternative IPI PICs to be registered and used

Description

intrng: Allow alternative IPI PICs to be registered and used

On RISC-V, the root PIC (whether the PLIC or, as will be the case in
future, the local interrupt controller) cannot send IPIs, relying on
another means to trigger the necessary software interrupts (firmware
calls), but there are upcoming standard devices that will be able to
inject them, so we can't just put the firmware calls in the root PIC
driver.

Thus, split out a new intr_ipi_dev from intr_irq_root_dev to use for
sending IPIs. New devices can be registered with a given priority up
until the first IPI is set up, when the best device seen so far gets
frozen as the IPI device to use.

Reviewed by: mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35899

Details

Provenance
jrtc27Authored on Jan 24 2024, 11:49 PM
Reviewer
mhorne
Differential Revision
D35899: intrng: Allow alternative IPI PICs to be registered and used
Parents
rGfae8755f16ff: intrng: Extract arm/arm64 IPI->PIC glue code
Branches
Unknown
Tags
Unknown