[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: why is iommu_platform set to off by default?
From: |
Michael S. Tsirkin |
Subject: |
Re: why is iommu_platform set to off by default? |
Date: |
Tue, 30 Nov 2021 18:44:01 -0500 |
On Tue, Nov 30, 2021 at 02:32:49PM +0000, Peter Maydell wrote:
> I've just spent a day or so trying to track down why PCI passthrough
> of a virtio-blk-pci device wasn't working. The problem turns out to be
> that by default virtio pci devices don't use the IOMMU, even when the
> machine model has created an IOMMU and arranged for the PCI bus to
> be underneath it. So when the L2 guest tries to program the virtio device,
> the virtio device treats the IPAs it writes as if they were PAs and
> of course the data structures it's looking for aren't there.
Because this is what legacy guests expect, and legacy configs are
much more common than nested.
> Why do we default this to 'off'? It seems pretty unhelpful not to
> honour the existence of the IOMMU, and the failure mode is pretty
> opaque (L2 guest just hangs)...
>
> thanks
> -- PMM
This should be handled by VFIO in L1 really, it can check for a
device quirk and refuse binding if the feature bit
is disabled.
--
MST