Re: [PATCH 2/2] thunderbolt: Use pre-boot DMA protection on AMD systems

From: Christoph Hellwig
Date: Tue Mar 15 2022 - 12:48:36 EST


On Tue, Mar 15, 2022 at 11:24:55AM -0500, Mario Limonciello wrote:
> - * handled natively using IOMMU. It is enabled when IOMMU is
> - * enabled and ACPI DMAR table has DMAR_PLATFORM_OPT_IN set.
> + * handled natively using IOMMU. It is enabled when the IOMMU is
> + * enabled and either:
> + * ACPI DMAR table has DMAR_PLATFORM_OPT_IN set
> + * or
> + * ACPI IVRS table has DMA_REMAP bitset
> */
> return sprintf(buf, "%d\n",
> - iommu_present(&pci_bus_type) && dmar_platform_optin());
> + iommu_present(&pci_bus_type) &&
> + (dmar_platform_optin() || amd_ivrs_remap_support()));

Yikes. No, the thunderbot code does not have any business poking into
either dmar_platform_optin or amd_ivrs_remap_support. This needs
a proper abstration from the IOMMU code.