Page MenuHomeFreeBSD

arm64: gicv3: setup PPIs on all APs after they're online
ClosedPublic

Authored by kevans on May 15 2023, 5:28 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 25, 7:27 AM
Unknown Object (File)
Wed, Oct 23, 11:27 PM
Unknown Object (File)
Oct 16 2024, 8:13 AM
Unknown Object (File)
Oct 8 2024, 12:29 AM
Unknown Object (File)
Oct 1 2024, 11:29 AM
Unknown Object (File)
Oct 1 2024, 9:41 AM
Unknown Object (File)
Sep 18 2024, 6:39 PM
Unknown Object (File)
Sep 16 2024, 12:15 PM

Details

Summary

For all PPIs setup earlier than SI_SUB_SMP, PIC_INIT_SECONDARY ends up
cleaning these up for each AP as it comes online. Once they're online,
we don't currently do anything to make sure they're configured for other
APs. Fix it by using smp_rendezvous for the meaty bits of configuring a
PPI, which will just do single-thread behavior before APs are online but
do the right thing for other CPUs after.

While we're here, make sure redistributor config is correct for other
APs as they come online in gic_v3_init_secondary. (Is this needed?)

Reported/Tested by: Souradeep Chakrabarti (Microsoft/Hyper-V)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 51504
Build 48395: arc lint + arc unit