# 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
|