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)
Feb 2 2024, 7:13 AM
Unknown Object (File)
Dec 27 2023, 5:25 AM
Unknown Object (File)
Dec 20 2023, 8:30 AM
Unknown Object (File)
Dec 11 2023, 2:20 AM
Unknown Object (File)
Nov 28 2023, 10:33 PM
Unknown Object (File)
Nov 28 2023, 4:06 AM
Unknown Object (File)
Nov 26 2023, 7:57 AM
Unknown Object (File)
Nov 24 2023, 10:54 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.