qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] arm/virt: Mark pcie controller node as dma-


From: Mihai Claudiu Caraman
Subject: Re: [Qemu-devel] [PATCH 2/2] arm/virt: Mark pcie controller node as dma-coherent
Date: Fri, 3 Jun 2016 14:22:48 +0000

> -----Original Message-----
> From: Qemu-devel [mailto:address@hidden On Behalf Of Peter Maydell
> Sent: Thursday, June 02, 2016 3:33 PM
> To: Bogdan Purcareata <address@hidden>
> Cc: QEMU Developers <address@hidden>; Peter Crosthwaite <address@hidden>; 
> Alexander Graf <address@hidden>; qemu-arm <address@hidden>; Eric Auger 
> <address@hidden>
> 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 <address@hidden> 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

[Prev in Thread] Current Thread [Next in Thread]