diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2014-05-16 16:08:32 +0200 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2014-05-16 16:08:32 +0200 |
commit | 3f04e3d3eb77ac9df70619b9c87da71b0eeddc36 (patch) | |
tree | cf1cbadc390888d1910a81ffc40161f783363075 /arch/x86/kernel/vsmp_64.c | |
parent | 8cffcb0ca33381e07cee4ebe1301d0794054fc97 (diff) | |
parent | 2779ac167b1a1bf8153dca9f3a141c6148c6b89f (diff) | |
download | linux-3f04e3d3eb77ac9df70619b9c87da71b0eeddc36.tar.gz linux-3f04e3d3eb77ac9df70619b9c87da71b0eeddc36.tar.bz2 linux-3f04e3d3eb77ac9df70619b9c87da71b0eeddc36.zip |
Merge remote-tracking branch 'tip/timers/core/timers/core' into clockevents/3.16
Diffstat (limited to 'arch/x86/kernel/vsmp_64.c')
-rw-r--r-- | arch/x86/kernel/vsmp_64.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c index f6584a90aba3..5edc34b5b951 100644 --- a/arch/x86/kernel/vsmp_64.c +++ b/arch/x86/kernel/vsmp_64.c @@ -26,6 +26,9 @@ #define TOPOLOGY_REGISTER_OFFSET 0x10 +/* Flag below is initialized once during vSMP PCI initialization. */ +static int irq_routing_comply = 1; + #if defined CONFIG_PCI && defined CONFIG_PARAVIRT /* * Interrupt control on vSMPowered systems: @@ -101,6 +104,10 @@ static void __init set_vsmp_pv_ops(void) #ifdef CONFIG_SMP if (cap & ctl & BIT(8)) { ctl &= ~BIT(8); + + /* Interrupt routing set to ignore */ + irq_routing_comply = 0; + #ifdef CONFIG_PROC_FS /* Don't let users change irq affinity via procfs */ no_irq_affinity = 1; @@ -218,7 +225,9 @@ static void vsmp_apic_post_init(void) { /* need to update phys_pkg_id */ apic->phys_pkg_id = apicid_phys_pkg_id; - apic->vector_allocation_domain = fill_vector_allocation_domain; + + if (!irq_routing_comply) + apic->vector_allocation_domain = fill_vector_allocation_domain; } void __init vsmp_init(void) |