1
linux/arch/powerpc/platforms
Milton Miller 8767e9badc powerpc/xics: EOI unmapped irqs after disabling them
When reciving an irq vector that does not have a linux mapping, the kernel
prints a message and calls RTAS to disable the irq source.   Previously
the kernel did not EOI the interrupt, causing the source to think it is
still being processed by software.  While this does add an additional
layer of protection against interrupt storms had RTAS failed to disable
the source, it also prevents the interrupt from working when a driver
later enables it.  (We could alternatively send an EOI on startup, but
that strategy would likely fail on an emulated xics.)

All interrupts should be disabled when the kernel starts, but this can
be observed if a driver does not shutdown an interrupt in its reboot
hook before starting a new kernel with kexec.

Michael reports this can be reproduced trivially by banging the keyboard
while kexec'ing on a P5 LPAR: even though the hvc_console driver request's
the console irq later in boot, the console is non-functional because
we're receiving no console interrupts.

Reported-By: Michael Ellerman
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-10-13 10:55:47 +11:00
..
8xx powerpc: Add support for the MPC852 based mgsuvd board from keymile. 2008-09-16 10:01:30 -05:00
40x [POWERPC] 4xx: Create common ppc4xx_reset_system() in ppc4xx_soc.c 2008-04-02 20:44:56 -05:00
44x powerpc/44x: Add AMCC Arches eval board support 2008-10-02 13:08:02 -04:00
52xx powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
82xx powerpc: Add support for mpc8247 based board MGCOGE from keymile. 2008-09-16 10:01:32 -05:00
83xx powerpc/fsl: proliferate simple-bus compatibility to soc nodes 2008-07-29 17:48:35 -05:00
85xx powerpc: Drop redundant machine type print in show_cpuinfo 2008-09-29 09:23:06 -05:00
86xx powerpc: Correct USB support for GE Fanuc SBC610 2008-09-29 09:25:47 -05:00
512x powerpc/mpc5121: Add support for CPLD on MPC5121ADS board 2008-07-12 12:10:55 -06:00
cell Merge commit 'jk/jk-merge' 2008-10-10 15:56:16 +11:00
chrp powerpc: Use bcd2bin/bin2bcd 2008-08-20 16:34:58 +10:00
embedded6xx powerpc: Drop redundant machine type print in show_cpuinfo 2008-09-29 09:23:06 -05:00
iseries powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
maple powerpc: Use bcd2bin/bin2bcd 2008-08-20 16:34:58 +10:00
pasemi powerpc/pseries: iommu enablement for CMO 2008-07-25 15:44:43 +10:00
powermac powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
prep
ps3 powerpc: Drop archdata numa_node 2008-09-24 16:26:43 -05:00
pseries powerpc/xics: EOI unmapped irqs after disabling them 2008-10-13 10:55:47 +11:00
fsl_uli1575.c powerpc/85xx/86xx: some refactoring for fsl_uli1575 code 2008-07-16 17:57:42 -05:00
Kconfig powerpc: Move 8xxx GPIO Kconfig under the platform menu 2008-09-23 23:36:32 -05:00
Kconfig.cputype POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical 2008-09-24 16:29:44 -05:00
Makefile powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00