> -----Original Message-----
> From: Qemu-devel 
> [mailto:qemu-devel-bounces+mihai.caraman=freescale....@nongnu.org] On Behalf 
> Of Peter Maydell
> Sent: Thursday, June 02, 2016 3:33 PM
> To: Bogdan Purcareata <bogdan.purcare...@nxp.com>
> Cc: QEMU Developers <qemu-devel@nongnu.org>; Peter Crosthwaite 
> <crosthwaite.pe...@gmail.com>; Alexander Graf <ag...@suse.de>; qemu-arm 
> <qemu-...@nongnu.org>; Eric Auger <eric.au...@linaro.org>
> Subject: Re: [Qemu-devel] [PATCH 2/2] arm/virt: Mark pcie controller node as 
> dma-coherent
> 
> On 2 June 2016 at 13:26, Bogdan Purcareata <bogdan.purcare...@nxp.com> wrote:
> > A PCI device is marked either as coherent or non-coherent based on the 
> > pcie controller "dma-coherent" property. This is further used when 
> > configuring the IOMMU ops for the device DMA resources (e.g. descriptor 
> > rings, for e1000e).
> >
> > This dma-coherent property needs to be configured in the guest 
> > environment, in case there's a directly assigned VFIO PCI device. 
> > Since the guest only receives one emulated pcie controller bus - 
> > regardless of the host configuration - add this property if there's at 
> > least one host pcie host controller that is DMA coherent (this implies 
> > that the host interconnect is coherent as well).
> 
> This patch seems to change the property of the emulated PCIe controller based 
> on the host PCIe controller even if we're not doing any PCIe passthrough at 
> all. That seems definitely wrong to me.
> 
> (Should the purely-emulated case be marked DMA-coherent anyway?
> I forget the fiddly details...)
> 
> thanks
> -- PMM

In particular for virtual and emulated devices the host CPU behaves as a DMA 
coherent 'device'. This should have been stated in patch description.

Regards,
Mike

Reply via email to