[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/8] x86/iommu: iommu_igfx, iommu_qinval and iommu_snoop are VT-d specific




On 1/12/23 13:49, Xenia Ragiadakou wrote:

On 1/12/23 13:31, Jan Beulich wrote:
On 04.01.2023 09:44, Xenia Ragiadakou wrote:
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -82,11 +82,13 @@ static int __init cf_check parse_iommu_param(const char *s)           else if ( ss == s + 23 && !strncmp(s, "quarantine=scratch-page", 23) )
              iommu_quarantine = IOMMU_quarantine_scratch_page;
  #endif
-#ifdef CONFIG_X86
+#ifdef CONFIG_INTEL_IOMMU
          else if ( (val = parse_boolean("igfx", s, ss)) >= 0 )
              iommu_igfx = val;
          else if ( (val = parse_boolean("qinval", s, ss)) >= 0 )
              iommu_qinval = val;
+#endif

You want to use no_config_param() here as well then.

Yes. I will fix it.


--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -74,9 +74,13 @@ extern enum __packed iommu_intremap {
     iommu_intremap_restricted,
     iommu_intremap_full,
  } iommu_intremap;
-extern bool iommu_igfx, iommu_qinval, iommu_snoop;
  #else
  # define iommu_intremap false
+#endif
+
+#ifdef CONFIG_INTEL_IOMMU
+extern bool iommu_igfx, iommu_qinval, iommu_snoop;
+#else
  # define iommu_snoop false
  #endif

Do these declarations really need touching? In patch 2 you didn't move
amd_iommu_perdev_intremap's either.

Ok, I will revert this change (as I did in v2 of patch 2) since it is not needed.

Actually, my patch was altering the current behavior by defining iommu_snoop as false when !INTEL_IOMMU.

IIUC, there is no control over snoop behavior when using the AMD iommu. Hence, iommu_snoop should evaluate to true for AMD iommu. However, when using the INTEL iommu the user can disable it via the "iommu" param, right?

If that's the case then iommu_snoop needs to be moved from vtd/iommu.c to x86/iommu.c and iommu_snoop assignment via iommu param needs to be guarded by CONFIG_INTEL_IOMMU.

--
Xenia



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.