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)
Mon, Oct 21, 4:27 AM
Unknown Object (File)
Oct 4 2024, 4:14 AM
Unknown Object (File)
Oct 2 2024, 12:58 AM
Unknown Object (File)
Oct 1 2024, 6:29 PM
Unknown Object (File)
Sep 30 2024, 12:43 AM
Unknown Object (File)
Sep 29 2024, 12:36 AM
Unknown Object (File)
Sep 21 2024, 8:14 PM
Unknown Object (File)
Sep 13 2024, 11:47 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.