HomeFreeBSD

plic: support irq distribution

Description

plic: support irq distribution

Our PLIC implementation only enables interrupts on the boot cpu.
Implement plic_bind_intr() so that they can be redistributed near the
end of boot during intr_irq_shuffle().

This also slightly modifies how enable bits are handled in an attempt to
better fit the PIC interface. plic_enable_intr()/plic_disable_intr() are
converted to manage an interrupt source's threshold value, since this
value can be used as to globally enable/disable an irq. All handing of the
per-context enable bits is moved to the new methods plic_setup_intr()
and plic_bind_intr().

Reviewed by: br
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D21928

Details

Provenance
mhorneAuthored on
Reviewer
br
Differential Revision
D21928: plic: support irq distribution
Parents
rS354717: plic: fix context calculation
Branches
Unknown
Tags
Unknown