AMD IOMMU: untie remap and vector maps With the specific IRTEs used for an interrupt no longer depending on the vector, there's no need to tie the remap sharing model to the vector sharing one. Signed-off-by: Jan Beulich Acked-by: George Dunlap --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -207,35 +207,6 @@ int __init amd_iov_detect(void) init_done = 1; - /* - * AMD IOMMUs don't distinguish between vectors destined for - * different cpus when doing interrupt remapping. This means - * that interrupts going through the same intremap table - * can't share the same vector. - * - * If irq_vector_map isn't specified, choose a sensible default: - * - If we're using per-device interemap tables, per-device - * vector non-sharing maps - * - If we're using a global interemap table, global vector - * non-sharing map - */ - if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_DEFAULT ) - { - if ( amd_iommu_perdev_intremap ) - { - printk("AMD-Vi: Enabling per-device vector maps\n"); - opt_irq_vector_map = OPT_IRQ_VECTOR_MAP_PERDEV; - } - else - { - printk("AMD-Vi: Enabling global vector map\n"); - opt_irq_vector_map = OPT_IRQ_VECTOR_MAP_GLOBAL; - } - } - else - { - printk("AMD-Vi: Not overriding irq_vector_map setting\n"); - } if ( !amd_iommu_perdev_intremap ) printk(XENLOG_WARNING "AMD-Vi: Using global interrupt remap table is not recommended (see XSA-36)!\n"); return scan_pci_devices();