x86/IOMMU: don't restrict IRQ affinities to online CPUs
authorJan Beulich <jbeulich@suse.com>
Thu, 25 Jul 2019 10:14:52 +0000 (12:14 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 25 Jul 2019 10:14:52 +0000 (12:14 +0200)
commit05f41944a05cc89652b6ceb7a08ecb22468d9188
treeb20dd2ca2c74325ffbf5470b6c0a910d55c88c15
parent094796affb7c87f6b2daccdbe192208af715e088
x86/IOMMU: don't restrict IRQ affinities to online CPUs

In line with "x86/IRQ: desc->affinity should strictly represent the
requested value" the internally used IRQ(s) also shouldn't be restricted
to online ones. Make set_desc_affinity() (set_msi_affinity() then does
by implication) cope with a NULL mask being passed (just like
assign_irq_vector() does), and have IOMMU code pass NULL instead of
&cpu_online_map (when, for VT-d, there's no NUMA node information
available).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Brian Woods <brian.woods@amd.com>
xen/arch/x86/irq.c
xen/drivers/passthrough/amd/iommu_init.c
xen/drivers/passthrough/vtd/iommu.c