HomeFreeBSD

INTRNG: only shuffle for !EARLY_AP_STARTUP

Description

INTRNG: only shuffle for !EARLY_AP_STARTUP

During device attachment, all interrupt sources will bind to the BSP,
as it is the only processor online. This means interrupts must be
redistributed ("shuffled") later, during SI_SUB_SMP.

For the EARLY_AP_STARTUP case, this is no longer true. SI_SUB_SMP will
execute much earlier, meaning APs will be online and available before
devices begin attachment, and there will therefore be nothing to
shuffle.

All PIC-conforming interrupt controllers will handle this early
distribution properly, except for RISC-V's PLIC. Make the necessary
tweak to the PLIC driver.

While here, convert irq_assign_cpu from a boolean_t to a bool.

Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D25693

Details

Provenance
mhorneAuthored on
Reviewer
markj
Differential Revision
D25693: INTRNG: only shuffle interrupts for !EARLY_AP_STARTUP
Parents
rS363403: Transition from rtrequest1_fib() to rib_action().
Branches
Unknown
Tags
Unknown