Page MenuHomeFreeBSD

INTRNG: only shuffle interrupts for !EARLY_AP_STARTUP
ClosedPublic

Authored by mhorne on Jul 16 2020, 8:06 PM.

Details

Summary

During device attachment, all interrupt sources will bind to the BSP,
as it is the only processor online. This means interrupts must be
redistributed 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 boolean_t to a bool.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mhorne created this revision.
This revision is now accepted and ready to land.Jul 20 2020, 5:41 PM
This revision was automatically updated to reflect the committed changes.