Page MenuHomeFreeBSD

arm64: Use the common activate function in nexus
ClosedPublic

Authored by andrew on Oct 25 2024, 2:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 20, 2:44 PM
Unknown Object (File)
Thu, Dec 18, 9:31 AM
Unknown Object (File)
Nov 26 2025, 12:04 AM
Unknown Object (File)
Nov 21 2025, 11:51 PM
Unknown Object (File)
Nov 21 2025, 10:21 PM
Unknown Object (File)
Nov 16 2025, 1:04 PM
Unknown Object (File)
Nov 10 2025, 5:41 AM
Unknown Object (File)
Oct 29 2025, 4:21 PM
Subscribers

Details

Summary

For non-memory and non-ioport spaces use the common
bus_generic_rman_activate_resource function in the arm64 nexus. We
can't currently use it for memory types as it doesn't support
non-posted memory.

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

Is the same change needed for nexus drivers on other INTRNG platforms? I guess it isn't required, per se, but it is a nice cleanup to reduce duplicated code?

This revision is now accepted and ready to land.Oct 25 2024, 4:21 PM

I think the other drivers can use bus_generic_rman_activate_resource directly, however I can't easily test them.

Should I be testing this on Graviton (with my _AEI patches minus the bogus resource activation one)?

+1 for deduplication

sys/arm64/arm64/nexus.c
362

Isn't removing intr_activate_irq() a mistake? I can't find who calls it after the patch...

Should I be testing this on Graviton (with my _AEI patches minus the bogus resource activation one)?

This one is optional, it's a cleanup after merging common code.

sys/arm64/arm64/nexus.c
362

See D47282