HomeFreeBSD

Add support for arm64 nGnRE device memory

Description

Add support for arm64 nGnRE device memory

On arm64 we can select how strongly we order device memory. Currently
we use the strongest type of non-Gathering, non-Reordering, no Early
write acknowledgement. This is equivalent to VM_MEMATTR_SO in the 32-bit
arm code.

Create a new memory type to remove the no Early write acknowledgement
option to create a memory attribute that is equivalent to the arm
VM_MEMATTR_DEVICE.

Keep the the old nGnRnE memory as what we provide for VM_MEMATTR_DEVICE
until we can test nGnRE on more hardware. A method for dynamically
switching back may be needed as at least one vendor is known to have
broken nGnRE memory.

Sponsored by: Innovate UK

(cherry picked from commit 13ec5a6da04b14c4d40d3b37335dfaef7469aeb5)

Details

Provenance
andrewAuthored on Feb 5 2021, 10:50 AM
Parents
rG60c952d47249: tty: Remove an incorrect assertion from ttyinq_line_iterate()
Branches
Unknown
Tags
Unknown