> -----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