From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: [PATCH v4 0/4] virtio: Clean up scatterlists and use the DMA API Date: Wed, 03 Sep 2014 06:53:33 +1000 Message-ID: <1409691213.30640.37.camel@pasglop> References: <1409609814.30640.11.camel@pasglop> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org List-Archive: List-Post: To: Andy Lutomirski Cc: "linux-s390@vger.kernel.org" , Konrad Rzeszutek Wilk , "Michael S. Tsirkin" , Linux Virtualization , Christian Borntraeger , Paolo Bonzini , "linux390@de.ibm.com" List-ID: On Mon, 2014-09-01 at 22:55 -0700, Andy Lutomirski wrote: > > On x86, at least, I doubt that we'll ever see a physically addressed > PCI virtio device for which ACPI advertises an IOMMU, since any sane > hypervisor will just not advertise an IOMMU for the virtio device. > But are there arm64 or PPC guests that use virtio_pci, that have > IOMMUs, and that will malfunction if the virtio_pci driver ends up > using the IOMMU? I certainly hope not, since these systems might be > very hard-pressed to work right if someone plugged in a physical > virtio-speaking PCI device. It will definitely not work on ppc64. We always have IOMMUs on pseries, all PCI busses do, and because it's a paravirtualized environment, napping/unmapping pages means hypercalls -> expensive. But our virtio implementation bypasses it in qemu, so if virtio-pci starts using the DMA mapping API without changing the DMA ops under the hood, it will break for us. Cheers, Ben.