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
F171057267: D38895.id.diff
Tue, Sep 8, 11:01 AM
F171035948: D38895.id118272.diff
Tue, Sep 8, 7:57 AM
Unknown Object (File)
Sun, Sep 6, 7:29 AM
Unknown Object (File)
Sun, Sep 6, 2:18 AM
Unknown Object (File)
Sun, Sep 6, 12:43 AM
Unknown Object (File)
Sat, Sep 5, 6:00 PM
Unknown Object (File)
Fri, Sep 4, 3:27 AM
Unknown Object (File)
Thu, Sep 3, 6:05 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.