Commit 990785dcf5f47148bd92b312179be5e8404dd727
Committed by
Greg Kroah-Hartman
1 parent
7b6b3d67f0
x86/apic: Re-enable PCI_MSI support for non-SMP X86_32
commit 38a1dfda8e77d7ba74c94d06d8bc41ba98a4bc8c upstream. Commit 0dbc6078c06bc0 ('x86, build, pci: Fix PCI_MSI build on !SMP') introduced the dependency that X86_UP_APIC is only available when PCI_MSI is false. This effectively prevents PCI_MSI support on 32bit UP systems because it disables both APIC and IO-APIC. But APIC support is architecturally required for PCI_MSI. The intention of the patch was to enforce APIC support when PCI_MSI is enabled, but failed to do so. Remove the !PCI_MSI dependency from X86_UP_APIC and enforce X86_UP_APIC when PCI_MSI support is enabled on 32bit UP systems. [ tglx: Massaged changelog ] Fixes 0dbc6078c06bc0 'x86, build, pci: Fix PCI_MSI build on !SMP' Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Suggested-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: http://lkml.kernel.org/r/1421967529-9037-1-git-send-email-pure.logic@nexus-software.ie Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 5 additions and 1 deletions Side-by-side Diff
arch/x86/Kconfig
... | ... | @@ -856,7 +856,7 @@ |
856 | 856 | |
857 | 857 | config X86_UP_APIC |
858 | 858 | bool "Local APIC support on uniprocessors" |
859 | - depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI | |
859 | + depends on X86_32 && !SMP && !X86_32_NON_STANDARD | |
860 | 860 | ---help--- |
861 | 861 | A local APIC (Advanced Programmable Interrupt Controller) is an |
862 | 862 | integrated interrupt controller in the CPU. If you have a single-CPU |
... | ... | @@ -866,6 +866,10 @@ |
866 | 866 | all. The local APIC supports CPU-generated self-interrupts (timer, |
867 | 867 | performance counters), and the NMI watchdog which detects hard |
868 | 868 | lockups. |
869 | + | |
870 | +config X86_UP_APIC_MSI | |
871 | + def_bool y | |
872 | + select X86_UP_APIC if X86_32 && !SMP && !X86_32_NON_STANDARD && PCI_MSI | |
869 | 873 | |
870 | 874 | config X86_UP_IOAPIC |
871 | 875 | bool "IO-APIC support on uniprocessors" |