HomeFreeBSD

o Implement a bounce buffer based on device reserved memory.

Description

o Implement a bounce buffer based on device reserved memory.

Grab device reserved physical memory regions from FDT using standard
"memory-region" property and use vmem(9) to allocate buffers from it.
The same vmem could be used by DMA engine drivers to allocate memory for
DMA descriptors.
This is required for platforms that provide uncached memory region
reserved exclusively for DMA operations.

o Change sleepable sx(9) lock type to non-sleepable mutex(9) since

network drivers usually hold mutex during DMA operations. So we don't
take sleepable lock after non-sleepable.

Tested on U.S. Government Furnished Equipment (GFE) 64-bit RISC-V cores.

Sponsored by: DARPA, AFRL

Details

Provenance
brAuthored on
Parents
rS347336: MFC r346511: Report DIF protection type the disk is formatted with.
Branches
Unknown
Tags
Unknown