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

[Xen-changelog] [xen-4.0-testing] iommu: Remove pointless iommu=pv boot option.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1279183692 -3600
# Node ID 020f5f799f46bccf6ea2c87609b04c9d2bb38c4f
# Parent  d5727c760ff074177ce1d9e7c36dbbe2c1f4f37f
iommu: Remove pointless iommu=pv boot option.

Allow devices to always be passed through to PV domains, just as they
can be to HVM domains.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   21770:510c797ee115
xen-unstable date:        Fri Jul 09 15:39:35 2010 +0100
---
 xen/arch/ia64/xen/dom0_ops.c    |   12 ------------
 xen/arch/x86/domctl.c           |   11 -----------
 xen/drivers/passthrough/iommu.c |   11 -----------
 xen/include/xen/iommu.h         |    2 +-
 4 files changed, 1 insertion(+), 35 deletions(-)

diff -r d5727c760ff0 -r 020f5f799f46 xen/arch/ia64/xen/dom0_ops.c
--- a/xen/arch/ia64/xen/dom0_ops.c      Thu Jul 15 10:43:50 2010 +0100
+++ b/xen/arch/ia64/xen/dom0_ops.c      Thu Jul 15 09:48:12 2010 +0100
@@ -339,12 +339,6 @@ long arch_do_domctl(xen_domctl_t *op, XE
         bus = (op->u.assign_device.machine_bdf >> 16) & 0xff;
         devfn = (op->u.assign_device.machine_bdf >> 8) & 0xff;
 
-        if ( !iommu_pv_enabled && !is_hvm_domain(d) )
-        {
-            ret = -ENOSYS;
-            break;
-        }
-
         if ( device_assigned(bus, devfn) )
         {
             gdprintk(XENLOG_ERR, "XEN_DOMCTL_assign_device: "
@@ -380,12 +374,6 @@ long arch_do_domctl(xen_domctl_t *op, XE
         }
         bus = (op->u.assign_device.machine_bdf >> 16) & 0xff;
         devfn = (op->u.assign_device.machine_bdf >> 8) & 0xff;
-
-        if ( !iommu_pv_enabled && !is_hvm_domain(d) )
-        {
-            ret = -ENOSYS;
-            break;
-        }
 
         if ( !device_assigned(bus, devfn) )
             break;
diff -r d5727c760ff0 -r 020f5f799f46 xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c     Thu Jul 15 10:43:50 2010 +0100
+++ b/xen/arch/x86/domctl.c     Thu Jul 15 09:48:12 2010 +0100
@@ -840,12 +840,6 @@ long arch_do_domctl(
         bus = (domctl->u.assign_device.machine_bdf >> 16) & 0xff;
         devfn = (domctl->u.assign_device.machine_bdf >> 8) & 0xff;
 
-        if ( !iommu_pv_enabled && !is_hvm_domain(d) )
-        {
-            ret = -ENOSYS;
-            goto assign_device_out;
-        }
-
         ret = assign_device(d, bus, devfn);
         if ( ret )
             gdprintk(XENLOG_ERR, "XEN_DOMCTL_assign_device: "
@@ -881,11 +875,6 @@ long arch_do_domctl(
         bus = (domctl->u.assign_device.machine_bdf >> 16) & 0xff;
         devfn = (domctl->u.assign_device.machine_bdf >> 8) & 0xff;
 
-        if ( !iommu_pv_enabled && !is_hvm_domain(d) )
-        {
-            ret = -ENOSYS;
-            goto deassign_device_out;
-        }
         spin_lock(&pcidevs_lock);
         ret = deassign_device(d, bus, devfn);
         spin_unlock(&pcidevs_lock);
diff -r d5727c760ff0 -r 020f5f799f46 xen/drivers/passthrough/iommu.c
--- a/xen/drivers/passthrough/iommu.c   Thu Jul 15 10:43:50 2010 +0100
+++ b/xen/drivers/passthrough/iommu.c   Thu Jul 15 09:48:12 2010 +0100
@@ -27,8 +27,6 @@ static int iommu_populate_page_table(str
  * value may contain:
  *
  *   off|no|false|disable       Disable IOMMU (default)
- *   pv                         Enable IOMMU for PV domains
- *   no-pv                      Disable IOMMU for PV domains (default)
  *   force|required             Don't boot unless IOMMU is enabled
  *   workaround_bios_bug        Workaround some bios issue to still enable
                                 VT-d, don't guarantee security
@@ -40,7 +38,6 @@ static int iommu_populate_page_table(str
  */
 custom_param("iommu", parse_iommu_param);
 bool_t __read_mostly iommu_enabled = 1;
-bool_t __read_mostly iommu_pv_enabled;
 bool_t __read_mostly force_iommu;
 bool_t __read_mostly iommu_verbose;
 bool_t __read_mostly iommu_workaround_bios_bug;
@@ -63,10 +60,6 @@ static void __init parse_iommu_param(cha
         if ( !strcmp(s, "off") || !strcmp(s, "no") || !strcmp(s, "false") ||
              !strcmp(s, "0") || !strcmp(s, "disable") )
             iommu_enabled = 0;
-        else if ( !strcmp(s, "pv") )
-            iommu_pv_enabled = 1;
-        else if ( !strcmp(s, "no-pv") )
-            iommu_pv_enabled = 0;
         else if ( !strcmp(s, "force") || !strcmp(s, "required") )
             force_iommu = 1;
         else if ( !strcmp(s, "workaround_bios_bug") )
@@ -294,15 +287,11 @@ int iommu_setup(void)
 
     if ( !iommu_enabled )
     {
-        iommu_pv_enabled = 0;
         iommu_snoop = 0;
         iommu_qinval = 0;
         iommu_intremap = 0;
     }
     printk("I/O virtualisation %sabled\n", iommu_enabled ? "en" : "dis");
-    if ( iommu_enabled )
-        printk("I/O virtualisation for PV guests %sabled\n",
-               iommu_pv_enabled ? "en" : "dis");
     return rc;
 }
 
diff -r d5727c760ff0 -r 020f5f799f46 xen/include/xen/iommu.h
--- a/xen/include/xen/iommu.h   Thu Jul 15 10:43:50 2010 +0100
+++ b/xen/include/xen/iommu.h   Thu Jul 15 09:48:12 2010 +0100
@@ -26,7 +26,7 @@
 #include <public/hvm/ioreq.h>
 #include <public/domctl.h>
 
-extern bool_t iommu_enabled, iommu_pv_enabled;
+extern bool_t iommu_enabled;
 extern bool_t force_iommu, iommu_verbose;
 extern bool_t iommu_workaround_bios_bug, iommu_passthrough;
 extern bool_t iommu_snoop, iommu_qinval, iommu_intremap;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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