[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xen: AMD IOMMU: Automatically enable per-device vector maps
# HG changeset patch # User George Dunlap <george.dunlap@xxxxxxxxxxxxx> # Date 1311701852 -3600 # Node ID fa4e2ca9ecffbc432b451f495ad0a403644a6be8 # Parent 2e0cf9428554da666616982cd0074024ff85b221 xen: AMD IOMMU: Automatically enable per-device vector maps Automatically enable per-device vector maps when using IOMMU, unless disabled specifically by an IOMMU parameter. Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> --- diff -r 2e0cf9428554 -r fa4e2ca9ecff xen/arch/x86/irq.c --- a/xen/arch/x86/irq.c Tue Jul 26 18:37:16 2011 +0100 +++ b/xen/arch/x86/irq.c Tue Jul 26 18:37:32 2011 +0100 @@ -32,6 +32,7 @@ unsigned int __read_mostly nr_irqs; integer_param("nr_irqs", nr_irqs); +/* This default may be changed by the AMD IOMMU code */ bool_t __read_mostly opt_irq_perdev_vector_map = 0; boolean_param("irq-perdev-vector-map", opt_irq_perdev_vector_map); diff -r 2e0cf9428554 -r fa4e2ca9ecff xen/drivers/passthrough/amd/pci_amd_iommu.c --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c Tue Jul 26 18:37:16 2011 +0100 +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c Tue Jul 26 18:37:32 2011 +0100 @@ -25,6 +25,9 @@ #include <asm/amd-iommu.h> #include <asm/hvm/svm/amd-iommu-proto.h> +extern bool_t __read_mostly opt_irq_perdev_vector_map; +extern bool_t __read_mostly iommu_amd_perdev_vector_map; + struct amd_iommu *find_iommu_for_device(int bdf) { BUG_ON ( bdf >= ivrs_bdf_entries ); @@ -148,6 +151,18 @@ return -ENODEV; } + /* Enable use of per-device vector map unless otherwise + * specified */ + if ( iommu_amd_perdev_vector_map ) + { + printk("AMD-Vi: Enabling per-device vector maps\n"); + opt_irq_perdev_vector_map=1; + } + else + { + printk("AMD-Vi: WARNING - not enabling per-device vector maps\n"); + } + return scan_pci_devices(); } diff -r 2e0cf9428554 -r fa4e2ca9ecff xen/drivers/passthrough/iommu.c --- a/xen/drivers/passthrough/iommu.c Tue Jul 26 18:37:16 2011 +0100 +++ b/xen/drivers/passthrough/iommu.c Tue Jul 26 18:37:32 2011 +0100 @@ -49,6 +49,7 @@ bool_t __read_mostly iommu_intremap = 1; bool_t __read_mostly iommu_hap_pt_share; bool_t __read_mostly iommu_debug; +bool_t __read_mostly iommu_amd_perdev_vector_map = 1; static void __init parse_iommu_param(char *s) { @@ -81,6 +82,8 @@ iommu_dom0_strict = 1; else if ( !strcmp(s, "sharept") ) iommu_hap_pt_share = 1; + else if ( !strcmp(s, "no-perdev-vector-map") ) + iommu_amd_perdev_vector_map = 0; s = ss + 1; } while ( ss ); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |