Alexey Kardashevskiy <a...@ozlabs.ru> writes:
> On 11/05/2019 08:36, Thiago Jung Bauermann wrote: >> >> Alexey Kardashevskiy <a...@ozlabs.ru> writes: >> >>> The commit 8617a5c5bc00 ("powerpc/dma: handle iommu bypass in >>> dma_iommu_ops") merged direct DMA ops into the IOMMU DMA ops allowing >>> SWIOTLB as well but only for mapping; the unmapping and bouncing parts >>> were left unmodified. >>> >>> This adds missing direct unmapping calls to .unmap_page() and .unmap_sg(). >>> >>> This adds missing sync callbacks and directs them to the direct DMA hooks. >>> >>> Fixes: 8617a5c5bc00 (powerpc/dma: handle iommu bypass in dma_iommu_ops) >>> Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> >> >> Nice! Thanks for working on this. I have the patch at the end of this >> email to get virtio-scsi-pci and virtio-blk-pci working in a secure >> guest. > > I saw the set_pci_dma_ops(NULL) patch but could not figure out how pass > NULL there sets the DMA ops to direct. That causes pcibios_setup_device() to call set_dma_ops(&dev->dev, NULL), which in turn causes dma_is_direct(get_dma_ops(dev)) to return true. >> I applied your patch and reverted my patch and unfortunately the guest >> hangs right after mounting the disk: > > Have you applied it on upstream kernel? I cannot see how it affects > current guests as it is... I applied it on a branch containing both Claudio Carvalho's "kvmppc: Paravirtualize KVM to support ultravisor" series as well as my "Secure Virtual Machine Enablement" patch series. https://lore.kernel.org/linuxppc-dev/20190518142524.28528-1-cclau...@linux.ibm.com/ https://lore.kernel.org/linuxppc-dev/20190521044912.1375-1-bauer...@linux.ibm.com/ -- Thiago Jung Bauermann IBM Linux Technology Center