mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
..., i.e. namely that of a PCI serial card with an IRQ above the legacy range. This had got broken by the switch to cpumask_any() in cpu_mask_to_apicid_phys(). Fix this by allowing all CPUs for that IRQ (via setup_vector_irq() properly updating a booting CPU's vector_irq[], thus avoiding "No irq handler for vector" messages and the interrupt not working). Cleanup coding style and types there at once. While doing this I also noticed that io_apic_set_pci_routing() can't be quite right: It sets up the destination _before_ getting a vector allocated (which on other than systems using the flat APIC mode affects the possible destinations), and also didn't restrict affinity to ->arch.cpu_mask (as established by assign_irq_vector()). Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>