Hi, Le 02/06/2016 à 14:45, Alexander Graf a écrit : > > > On 02.06.16 14:32, Peter Maydell wrote: >> 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...) > > I do too, let's involve a few people who know :). Not exposing it as > coherent is definitely wrong, but whether "dma-coherent" is the right > choice I don't know.
For information, on AMD overdrive the PCI host controller is marked as dma-coherent too but I do not observe any issue with 82574L (e1000e) and it worked fine as well on X540T1 Intel NIC. I just tested with e1000e and dma-coherent guest PCI controller and works fine too. Don't have x540t1 anymore so can't test with that PCIe CARD. With Intel I35OT1 and guest non dma-coherent PCIe controller I cope with some issues when assigning the PF but I don't know yet if there is any relationship. Best Regards Eric > > > Alex >