Message ID | 1572902923-8096-3-git-send-email-linuxram@us.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Enable IOMMU support for pseries Secure VMs | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (b9ba205b97bda75388e4014914ae0bdc0022464c) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 16 lines checked |
Ram Pai <linuxram@us.ibm.com> writes: > This enables IOMMU support for pseries Secure VMs. Can you give us some more explanation please? This is basically a revert of commit: edea902c1c1e ("powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests") But neglects to remove the now unnecessary include of svm.h. > diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c > index 07f0847..189717b 100644 > --- a/arch/powerpc/platforms/pseries/iommu.c > +++ b/arch/powerpc/platforms/pseries/iommu.c > @@ -1333,15 +1333,7 @@ void iommu_init_early_pSeries(void) > of_reconfig_notifier_register(&iommu_reconfig_nb); > register_memory_notifier(&iommu_mem_nb); > > - /* > - * Secure guest memory is inacessible to devices so regular DMA isn't > - * possible. > - * > - * In that case keep devices' dma_map_ops as NULL so that the generic > - * DMA code path will use SWIOTLB to bounce buffers for DMA. Please explain what has changed to make this no longer necessary. cheers > - */ > - if (!is_secure_guest()) > - set_pci_dma_ops(&dma_iommu_ops); > + set_pci_dma_ops(&dma_iommu_ops); > } > > static int __init disable_multitce(char *str) > -- > 1.8.3.1
On Thu, Nov 07, 2019 at 09:26:28PM +1100, Michael Ellerman wrote: > Ram Pai <linuxram@us.ibm.com> writes: > > This enables IOMMU support for pseries Secure VMs. > > Can you give us some more explanation please? Yes. Will do. The simple explanation is -- it was a mistake. We should not have disabled IOMMU ops for secure guests. Though it enabled us to use virtio devices, with the help of some additional patches to the virtio subsystem; in hindsight, we should not have disabled IOMMU ops for secure VMs :-(. RP > > This is basically a revert of commit: > edea902c1c1e ("powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests") > > But neglects to remove the now unnecessary include of svm.h. > > > diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c > > index 07f0847..189717b 100644 > > --- a/arch/powerpc/platforms/pseries/iommu.c > > +++ b/arch/powerpc/platforms/pseries/iommu.c > > @@ -1333,15 +1333,7 @@ void iommu_init_early_pSeries(void) > > of_reconfig_notifier_register(&iommu_reconfig_nb); > > register_memory_notifier(&iommu_mem_nb); > > > > - /* > > - * Secure guest memory is inacessible to devices so regular DMA isn't > > - * possible. > > - * > > - * In that case keep devices' dma_map_ops as NULL so that the generic > > - * DMA code path will use SWIOTLB to bounce buffers for DMA. > > Please explain what has changed to make this no longer necessary. > > cheers > > > - */ > > - if (!is_secure_guest()) > > - set_pci_dma_ops(&dma_iommu_ops); > > + set_pci_dma_ops(&dma_iommu_ops); > > } > > > > static int __init disable_multitce(char *str) > > -- > > 1.8.3.1
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index 07f0847..189717b 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c @@ -1333,15 +1333,7 @@ void iommu_init_early_pSeries(void) of_reconfig_notifier_register(&iommu_reconfig_nb); register_memory_notifier(&iommu_mem_nb); - /* - * Secure guest memory is inacessible to devices so regular DMA isn't - * possible. - * - * In that case keep devices' dma_map_ops as NULL so that the generic - * DMA code path will use SWIOTLB to bounce buffers for DMA. - */ - if (!is_secure_guest()) - set_pci_dma_ops(&dma_iommu_ops); + set_pci_dma_ops(&dma_iommu_ops); } static int __init disable_multitce(char *str)
This enables IOMMU support for pseries Secure VMs. Signed-off-by: Ram Pai <linuxram@us.ibm.com> --- arch/powerpc/platforms/pseries/iommu.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)