aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorStefan Assmann <sassmann@suse.de>2008-07-15 07:48:55 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-18 13:31:19 -0400
commit41b9eb264c8407655db57b60b4457fe1b2ec9977 (patch)
tree873262f099a1b5b437de11fad5d7bb1070d9f828 /arch/x86/Kconfig
parent3e370b29d35fb01bfb92c2814d6f79bf6a2cb970 (diff)
x86, pci: introduce config option for pci reroute quirks (was: [PATCH 0/3] Boot IRQ quirks for Broadcom and AMD/ATI)
This is against linux-2.6-tip, branch pci-ioapic-boot-irq-quirks. From: Stefan Assmann <sassmann@suse.de> Subject: Introduce config option for pci reroute quirks The config option X86_REROUTE_FOR_BROKEN_BOOT_IRQS is introduced to enable (or disable) the redirection of the interrupt handler to the boot interrupt line by default. Depending on the existence of interrupt masking / threaded interrupt handling in the kernel (vanilla, rt, ...) and the maturity of the rerouting patch, users can enable or disable the redirection by default. This means that the reroute quirk can be applied to any kernel without changing it. Interrupt sharing could be increased if this option is enabled. However this option is vital for threaded interrupt handling, as done by the RT kernel. It should simplify the consolidation with the RT kernel. The option can be overridden by either pci=ioapicreroute or pci=noioapicreroute. Signed-off-by: Stefan Assmann <sassmann@suse.de> Signed-off-by: Olaf Dabrunz <od@suse.de> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Jon Masters <jonathan@jonmasters.org> Cc: Ihno Krumreich <ihno@suse.de> Cc: Sven Dietrich <sdietrich@suse.de> Cc: Daniel Gollub <dgollub@suse.de> Cc: Felix Foerster <ffoerster@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 96e0c2ebc388..09521332636b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -665,6 +665,30 @@ config X86_VISWS_APIC
665 def_bool y 665 def_bool y
666 depends on X86_32 && X86_VISWS 666 depends on X86_32 && X86_VISWS
667 667
668config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
669 bool "Reroute for broken boot IRQs"
670 default n
671 depends on X86_IO_APIC
672 help
673 This option enables a workaround that fixes a source of
674 spurious interrupts. This is recommended when threaded
675 interrupt handling is used on systems where the generation of
676 superfluous "boot interrupts" cannot be disabled.
677
678 Some chipsets generate a legacy INTx "boot IRQ" when the IRQ
679 entry in the chipset's IO-APIC is masked (as, e.g. the RT
680 kernel does during interrupt handling). On chipsets where this
681 boot IRQ generation cannot be disabled, this workaround keeps
682 the original IRQ line masked so that only the equivalent "boot
683 IRQ" is delivered to the CPUs. The workaround also tells the
684 kernel to set up the IRQ handler on the boot IRQ line. In this
685 way only one interrupt is delivered to the kernel. Otherwise
686 the spurious second interrupt may cause the kernel to bring
687 down (vital) interrupt lines.
688
689 Only affects "broken" chipsets. Interrupt sharing may be
690 increased on these systems.
691
668config X86_MCE 692config X86_MCE
669 bool "Machine Check Exception" 693 bool "Machine Check Exception"
670 depends on !X86_VOYAGER 694 depends on !X86_VOYAGER