Page MenuHomeFreeBSD

arm64: apple: fix aic for !SMP configurations
ClosedPublic

Authored by kevans on Jan 2 2025, 4:37 PM.
Tags
None
Referenced Files
F109527712: D48289.diff
Thu, Feb 6, 6:53 AM
Unknown Object (File)
Mon, Jan 27, 6:49 PM
Unknown Object (File)
Mon, Jan 27, 10:53 AM
Unknown Object (File)
Mon, Jan 13, 6:16 AM
Unknown Object (File)
Fri, Jan 10, 12:03 AM
Unknown Object (File)
Thu, Jan 9, 5:11 PM
Unknown Object (File)
Jan 6 2025, 5:16 PM
Unknown Object (File)
Jan 6 2025, 2:21 PM
Subscribers

Details

Summary

Record the BSP CPU identification in attach for later use in our
bus_setup_intr implementation.

Diff Detail

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

Event Timeline

kevans requested review of this revision.Jan 2 2025, 4:37 PM
This revision is now accepted and ready to land.Jan 2 2025, 5:43 PM
sys/arm64/apple/apple_aic.c
142

I would be tempted to make #ifdef's a bit smaller by keeping sc_cpuids around always so that only sc_ipimasks and sc_ipi_srcs are under the #ifdef. It means you will end up allocating a single-element array for sc_cpuids, but that's fine. No one will probably use a UP kernel anyway so I'd optimize for minimizing diffs.

Reverse course, just move sc_cpuids out from underneath SMP and let it allocatee
a single-entry sc_cpuids. The overhead of still doing intr_irq_next_cpu() is
minimal since it's simply a PCPU_GET(cpuid) on !SMP kernels.

This revision now requires review to proceed.Jan 3 2025, 10:26 PM
This revision is now accepted and ready to land.Thu, Jan 9, 9:17 PM
This revision was automatically updated to reflect the committed changes.