Re: [LSF/MM TOPIC NOTES] x86 ZONE_DMA love

From: Christopher Lameter
Date: Fri Apr 27 2018 - 12:36:33 EST


On Fri, 27 Apr 2018, Matthew Wilcox wrote:

> Some devices have incredibly bogus hardware like 28 bit addressing
> or 39 bit addressing. We don't have a good way to allocate memory by
> physical address other than than saying "GFP_DMA for anything less than
> 32, GFP_DMA32 (or GFP_KERNEL on 32-bit) for anything less than 64 bit".
>
> Even CMA doesn't have a "cma_alloc_phys()". Maybe that's the right place
> to put such an allocation API.

The other way out of this would be to require a IOMMU?