iommu: Deprecate Intel and AMD cmdline methods to enable strict mode
authorJohn Garry <john.garry@huawei.com>
Mon, 12 Jul 2021 11:12:15 +0000 (19:12 +0800)
committerJoerg Roedel <jroedel@suse.de>
Mon, 26 Jul 2021 11:27:38 +0000 (13:27 +0200)
Now that the x86 drivers support iommu.strict, deprecate the custom
methods.

Signed-off-by: John Garry <john.garry@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/1626088340-5838-2-git-send-email-john.garry@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Documentation/admin-guide/kernel-parameters.txt
drivers/iommu/amd/init.c
drivers/iommu/intel/iommu.c

index bdb2200..a04d274 100644 (file)
        amd_iommu=      [HW,X86-64]
                        Pass parameters to the AMD IOMMU driver in the system.
                        Possible values are:
-                       fullflush - enable flushing of IO/TLB entries when
-                                   they are unmapped. Otherwise they are
-                                   flushed before they will be reused, which
-                                   is a lot of faster
+                       fullflush - Deprecated, equivalent to iommu.strict=1
                        off       - do not initialize any AMD IOMMU found in
                                    the system
                        force_isolation - Force device isolation for all
                        this case, gfx device will use physical address for
                        DMA.
                strict [Default Off]
-                       With this option on every unmap_single operation will
-                       result in a hardware IOTLB flush operation as opposed
-                       to batching them for performance.
+                       Deprecated, equivalent to iommu.strict=1.
                sp_off [Default Off]
                        By default, super page will be supported if Intel IOMMU
                        has the capability. With this option, super page will
index 46280e6..3a2fb80 100644 (file)
@@ -3098,8 +3098,10 @@ static int __init parse_amd_iommu_intr(char *str)
 static int __init parse_amd_iommu_options(char *str)
 {
        for (; *str; ++str) {
-               if (strncmp(str, "fullflush", 9) == 0)
+               if (strncmp(str, "fullflush", 9) == 0) {
+                       pr_warn("amd_iommu=fullflush deprecated; use iommu.strict=1 instead\n");
                        amd_iommu_unmap_flush = true;
+               }
                if (strncmp(str, "force_enable", 12) == 0)
                        amd_iommu_force_enable = true;
                if (strncmp(str, "off", 3) == 0)
index dd22fc7..c6da5da 100644 (file)
@@ -454,6 +454,7 @@ static int __init intel_iommu_setup(char *str)
                        pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n");
                        iommu_dma_forcedac = true;
                } else if (!strncmp(str, "strict", 6)) {
+                       pr_warn("intel_iommu=strict deprecated; use iommu.strict=1 instead\n");
                        pr_info("Disable batched IOTLB flush\n");
                        intel_iommu_strict = 1;
                } else if (!strncmp(str, "sp_off", 6)) {