HomeFreeBSD

gicv3_its: Don't restrict target CPUs based on SRAT

Description

gicv3_its: Don't restrict target CPUs based on SRAT

ACPI Sec 5.2.16.5 (SRAT, GIC Interrupt Translation Service (ITS)
Affinity Structure) says:

The GIC ITS Affinity Structure provides the association between
a GIC ITS and a proximity domain. This enables the OSPM to
discover the memory that is closest to the ITS, and use that in
allocating its management tables and command queue.

Previously the ITS driver was using the proximity domain to
restrict which CPUs can be targeted by an LPI. We keep that logic
just for the original dual socket ThunderX which cannot forward
LPIs between sockets.

We also use the SRAT entry for its intended purpose of attempting
to allocate ITS table structures near the ITS.

Reviewed by: andrew
Sponsored by: Ampere Computing LLC
Differential Revision: https://reviews.freebsd.org/D28340

Details

Provenance
scottphAuthored on Feb 16 2021, 6:07 PM
Reviewer
andrew
Differential Revision
D28340: gicv3_its: Don't restrict target CPUs based on SRAT
Parents
rG00065c7630c2: Giant: move back Giant removal until 14
Branches
Unknown
Tags
Unknown