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)
Tue, Apr 30, 10:04 AM
Unknown Object (File)
Tue, Apr 30, 10:04 AM
Unknown Object (File)
Tue, Apr 30, 10:04 AM
Unknown Object (File)
Tue, Apr 30, 6:46 AM
Unknown Object (File)
Mon, Apr 22, 12:39 PM
Unknown Object (File)
Dec 20 2023, 3:30 AM
Unknown Object (File)
Dec 12 2023, 1:06 AM
Unknown Object (File)
Oct 31 2023, 10:14 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 Not Applicable
Unit
Tests Not Applicable