Page MenuHomeFreeBSD

arm64: use non-posted device memory if nonposted-mmio is set
AbandonedPublic

Authored by kevans on Mar 3 2023, 5:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 21, 9:49 PM
Unknown Object (File)
Fri, Sep 12, 10:28 PM
Unknown Object (File)
Sep 3 2025, 3:39 PM
Unknown Object (File)
Aug 28 2025, 3:28 AM
Unknown Object (File)
Aug 25 2025, 3:25 PM
Unknown Object (File)
Aug 21 2025, 1:51 AM
Unknown Object (File)
Aug 8 2025, 11:49 AM
Unknown Object (File)
Jul 28 2025, 3:20 PM
Subscribers

Details

Reviewers
manu
Group Reviewers
arm64
Summary

Apple silicon machines need nonposted memory for a number of devices,
and it's denoted by setting nonposted-mmio on the parent simple-bus.
Look out for the nonposted-mmio prop and honor it if it's found,
otherwise use nGnRE.

(I think this patch was entirely Andy, and I've tentatively set --author
as such)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 50133
Build 47025: arc lint + arc unit

Event Timeline

kevans requested review of this revision.Mar 3 2023, 5:01 PM

(I think this patch was entirely Andy, and I've tentatively set --author as such)

Yes, D34333. I don't remember why I didn't commit that one. Maybe it was because of the PCI issue, althought I have D30079 for that.

sys/arm64/arm64/nexus.c
392

I think this should be VM_MEMATTR_DEVICE. It's currently the same as VM_MEMATTR_DEVICE_NP because PCIe config space needs it to be non-posted, but if we can fix the PCIe drivers we can change it & this code will then e correct.