Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
On Fri, May 15, 2020 at 08:43:51AM -0700, Christoph Hellwig wrote: > Can you please lift the untrusted flag into struct device? It really > isn't a PCI specific concept, and we should not have code poking into > pci_dev all over the iommu code. I suppose that could go in a separate series once other buses need it? The only methods for setting this bit at the moment apply to PCI ports. (ACPI ExternalFacingPort and dt external-facing properties declared by firmware). Thanks, Jean ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
On Mon, May 18, 2020 at 04:47:17PM +0100, David Woodhouse wrote: > On Fri, 2020-05-15 at 10:19 -0700, Raj, Ashok wrote: > > Hi Christoph > > > > On Fri, May 15, 2020 at 08:43:51AM -0700, Christoph Hellwig wrote: > > > Can you please lift the untrusted flag into struct device? It really > > > isn't a PCI specific concept, and we should not have code poking into > > > pci_dev all over the iommu code. > > > > Just for clarification: All IOMMU's today mostly pertain to only PCI devices > > and for devices that aren't PCI like HPET for instance we give a PCI > > identifier. Facilities like ATS for instance require the platform to have > > an IOMMU. > > > > what additional problems does moving this to struct device solve? > > Even the Intel IOMMU supports ACPI devices for which there is no struct > pci_dev; only a B/D/F in the ANDD record indicating which entry in the > context table to use. Yes, spaced out :-).. just don't work on those platforms on a daily basis and its easy to forget :-( ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
On Fri, 2020-05-15 at 10:19 -0700, Raj, Ashok wrote: > Hi Christoph > > On Fri, May 15, 2020 at 08:43:51AM -0700, Christoph Hellwig wrote: > > Can you please lift the untrusted flag into struct device? It really > > isn't a PCI specific concept, and we should not have code poking into > > pci_dev all over the iommu code. > > Just for clarification: All IOMMU's today mostly pertain to only PCI devices > and for devices that aren't PCI like HPET for instance we give a PCI > identifier. Facilities like ATS for instance require the platform to have > an IOMMU. > > what additional problems does moving this to struct device solve? Even the Intel IOMMU supports ACPI devices for which there is no struct pci_dev; only a B/D/F in the ANDD record indicating which entry in the context table to use. smime.p7s Description: S/MIME cryptographic signature ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
Hi, On Fri, May 15, 2020 at 10:19:49AM -0700, Raj, Ashok wrote: > On Fri, May 15, 2020 at 08:43:51AM -0700, Christoph Hellwig wrote: > > Can you please lift the untrusted flag into struct device? It really > > isn't a PCI specific concept, and we should not have code poking into > > pci_dev all over the iommu code. > > Just for clarification: All IOMMU's today mostly pertain to only PCI devices > and for devices that aren't PCI like HPET for instance we give a PCI > identifier. Facilities like ATS for instance require the platform to have > an IOMMU. > > what additional problems does moving this to struct device solve? ATS is PCI specific, but IOMMUs certainly aren't! The vast majority of IOMMUs deployed in arm/arm64 SoCs are /not/ using any sort of PCI. Will ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
Hi Christoph On Fri, May 15, 2020 at 08:43:51AM -0700, Christoph Hellwig wrote: > Can you please lift the untrusted flag into struct device? It really > isn't a PCI specific concept, and we should not have code poking into > pci_dev all over the iommu code. Just for clarification: All IOMMU's today mostly pertain to only PCI devices and for devices that aren't PCI like HPET for instance we give a PCI identifier. Facilities like ATS for instance require the platform to have an IOMMU. what additional problems does moving this to struct device solve? Cheers, Ashok ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
Can you please lift the untrusted flag into struct device? It really isn't a PCI specific concept, and we should not have code poking into pci_dev all over the iommu code. ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
[PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement
I sent these in March as part of ATS enablement for device-tree [1], but haven't found the time to address the largest comment on that series about consolidating the root bridge ATS support between the different ACPI tables. I'm resending only the bits that consolidate the 'untrusted' check for ATS, since there have been more discussions about this [2]. Patch 1 moves the 'untrusted' check to drivers/pci/ats.c and patches 2-4 modify the ATS-capable IOMMU drivers. The only functional change should be to the AMD IOMMU driver. With this change all IOMMU drivers block 'Translated' PCIe transactions and Translation Requests from untrusted devices. [1] https://lore.kernel.org/linux-iommu/20200311124506.208376-1-jean-phili...@linaro.org/ [2] https://lore.kernel.org/linux-pci/20200513151929.GA38418@bjorn-Precision-5520/ Jean-Philippe Brucker (4): PCI/ATS: Only enable ATS for trusted devices iommu/amd: Use pci_ats_supported() iommu/arm-smmu-v3: Use pci_ats_supported() iommu/vt-d: Use pci_ats_supported() include/linux/pci-ats.h | 3 +++ drivers/iommu/amd_iommu.c | 12 drivers/iommu/arm-smmu-v3.c | 20 +--- drivers/iommu/intel-iommu.c | 9 +++-- drivers/pci/ats.c | 18 +- 5 files changed, 32 insertions(+), 30 deletions(-) -- 2.26.2 ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu