Re: [RFC V2] virtio: Add platform specific DMA API translation for virito devices

From: Benjamin Herrenschmidt
Date: Fri Jun 15 2018 - 21:09:27 EST


On Fri, 2018-06-15 at 02:16 -0700, Christoph Hellwig wrote:
> On Wed, Jun 13, 2018 at 11:11:01PM +1000, Benjamin Herrenschmidt wrote:
> > Actually ... the stuff in lib/dma-direct.c seems to be just it, no ?
> >
> > There's no cache flushing and there's no architecture hooks that I can
> > see other than the AMD security stuff which is probably fine.
> >
> > Or am I missing something ?
>
> You are missing the __phys_to_dma arch hook that allows architectures
> to adjust the dma address. Various systems have offsets, or even
> multiple banks with different offsets there. Most of them don't
> use the dma-direct code yet (working on it), but there are a few
> examples in the tree already.

Ok and on those systems, qemu will bypass said offset ? Maybe we could
just create a device DMA "flag" or (or use the attributes) to instruct
dma-direct to not use that for legacy virtio ?

Cheers,
Ben.