Page MenuHomeFreeBSD

acpica: support parsing of arm64 affinity in acpi_pxm.c
ClosedPublic

Authored by jchandra on Nov 11 2018, 2:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 25, 5:28 AM
Unknown Object (File)
Nov 22 2024, 4:17 PM
Unknown Object (File)
Nov 7 2024, 12:27 PM
Unknown Object (File)
Oct 27 2024, 3:09 AM
Unknown Object (File)
Oct 22 2024, 10:23 PM
Unknown Object (File)
Oct 6 2024, 10:50 AM
Unknown Object (File)
Oct 6 2024, 2:06 AM
Unknown Object (File)
Oct 5 2024, 10:40 PM
Subscribers

Details

Summary

ACPI SRAT table on arm64 uses GICC entries to provide CPU locality information. These entries uses a AcpiProcessorUid to identify the cpu (unlike on x86 where entries have an APIC ID).

Update acpi_pxm.c to extend the cpus_add/cpus_find/cpus_get_info functions to be able to handle AcpiProcessorUid, and then use it when parsing ACPI_SRAT_GICC_AFFINITY entry for arm64.

Add dev/acpica/acpi_pxm.c to arm64 compilation if acpi is enabled.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 20748

Event Timeline

jchandra retitled this revision from acpica: support parsing of arm64 affinity acpi_pxm.c to acpica: support parsing of arm64 affinity in acpi_pxm.c.
sys/dev/acpica/acpi_pxm.c
247

It doesn't really matter here, but this should be imin().

316

"APIC ID" looks like the wrong term.

jchandra marked 2 inline comments as done.

Thanks for the review, will update the diff.

sys/dev/acpica/acpi_pxm.c
247

This is a bug (had the Linux behavior in mind) - I should use imax() here.

316

Yes, will fix.

Addressed markj's comments.

  • use the UID instead of APIC id in prints for arm64
  • the comment on 'max' is already handled in preceding commit

Also fixed one issue - in arm64 cpu_add was checking last_cpu limit incorrectly.

This revision was not accepted when it landed; it landed in state Needs Review.Dec 8 2018, 7:32 PM
This revision was automatically updated to reflect the committed changes.