Page MenuHomeFreeBSD

arm64: Use the common activate function in nexus
AcceptedPublic

Authored by andrew on Fri, Oct 25, 2:20 PM.

Details

Reviewers
jhb
cperciva
manu
Group Reviewers
arm64
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.Fri, Oct 25, 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