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)
Wed, Jul 8, 11:12 PM
Unknown Object (File)
Sat, Jul 4, 4:45 AM
Unknown Object (File)
Fri, Jul 3, 5:49 PM
Unknown Object (File)
Wed, Jun 24, 12:04 PM
Unknown Object (File)
Thu, Jun 18, 1:34 PM
Unknown Object (File)
Jun 16 2026, 1:50 AM
Unknown Object (File)
Jun 15 2026, 1:50 PM
Unknown Object (File)
Jun 12 2026, 12:26 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