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, Mar 7, 5:14 AM
Unknown Object (File)
Fri, Mar 6, 9:59 PM
Unknown Object (File)
Mon, Mar 2, 9:59 PM
Unknown Object (File)
Fri, Feb 27, 5:02 AM
Unknown Object (File)
Tue, Feb 17, 6:44 AM
Unknown Object (File)
Jan 19 2026, 11:42 PM
Unknown Object (File)
Jan 19 2026, 2:23 AM
Unknown Object (File)
Jan 18 2026, 3:23 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