Page MenuHomeFreeBSD

arm64/gicv5: Use ArmMpidr to find the correct CPU
Needs ReviewPublic

Authored by andrew on Thu, Sep 24, 4:45 PM.

Details

Reviewers
sarah.walker2_arm.com
manu
Group Reviewers
arm64
Summary

The GICv5 ACPI code uses CpuInterfaceNumber to as the CPU ID. This a
GICv5 CPU ID and may not be the same as the appropriate FreeBSD value.

It is also possible the target CPU is disabled, e.g. when the hw.ncpu
tunable is uses to limit CPUs. If this is the case we don't want to
enable the CPU in the cpu set as it is offline so cannot handle
interrupts.

Switch to use ArmMpidr to find which pcpu to use when finding which
CPUs the IRS is attached to.

Fixes: 9556306213e1 ("arm64: Add ACPI support to GICv5 driver")
Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77286
Build 74169: arc lint + arc unit