kernel-fxtec-pro1x/arch/powerpc/platforms/pseries
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
..
cmm.c powerpc: Replace __FUNCTION__ with __func__ 2008-08-20 16:34:57 +10:00
eeh.c powerpc/eeh: Don't panic when EEH_MAX_FAILS is exceeded 2008-07-22 10:39:37 +10:00
eeh_cache.c [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries 2008-04-24 21:08:12 +10:00
eeh_driver.c powerpc: Guard print_device_node_tree() with #if 0 2008-08-20 16:34:57 +10:00
eeh_event.c
eeh_sysfs.c [POWERPC] Show EEH per-device false positives 2007-06-14 22:29:55 +10:00
firmware.c [POWERPC] pseries/firmware.c should include pseries/pseries.h 2008-05-14 22:32:00 +10:00
hotplug-cpu.c [POWERPC] Split xics_teardown_cpu() 2008-02-07 11:40:19 +11:00
hotplug-memory.c powerpc: Oops in pseries_lmb_remove() 2008-10-10 15:55:17 +11:00
hvCall.S
hvCall_inst.c
hvconsole.c
hvcserver.c
iommu.c powerpc/pseries: iommu enablement for CMO 2008-07-25 15:44:43 +10:00
Kconfig powerpc/pseries: Add collaborative memory manager 2008-07-25 15:44:42 +10:00
kexec.c powerpc/pseries: Call pseries_kexec_setup only on pseries 2008-06-30 22:30:57 +10:00
lpar.c powerpc: Remove unnecessary condition when sanity-checking WIMG bits 2008-07-15 12:24:59 +10:00
Makefile powerpc/pseries: Add collaborative memory manager 2008-07-25 15:44:42 +10:00
msi.c [POWERPC] Read back MSI message in rtas_setup_msi_irqs() so restore works 2007-11-08 14:15:29 +11:00
nvram.c [POWERPC] Add missing of_node_put in pseries/nvram.c 2008-06-16 15:00:32 +10:00
pci.c
pci_dlpar.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
phyp_dump.c [POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot 2008-04-17 07:46:14 +10:00
plpar_wrappers.h powerpc: Fix CMM page loaning on 64k page kernel with 4k hardware pages 2008-08-18 14:22:35 +10:00
power.c [POWERPC] Fix warning in pseries/power.c 2008-02-20 13:33:37 +11:00
pseries.h [POWERPC] Move prototype for find_udbg_vterm() into a header file 2008-04-17 10:00:59 +10:00
ras.c [POWERPC] Fix sparse warnings in arch/powerpc/platforms/pseries 2008-05-14 22:32:02 +10:00
reconfig.c powerpc: Check rc of notifier chain for memory remove 2008-09-15 11:07:52 -07:00
rtasd.c powerpc: Honor O_NONBLOCK flag when reading RTAS log 2008-10-07 14:26:21 +11:00
scanlog.c [POWERPC] Assign PDE->data before gluing PDE into /proc tree 2008-05-05 16:47:14 +10:00
setup.c powerpc: Export CMO_PageSize 2008-08-26 10:24:47 +10:00
smp.c [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries 2008-04-24 21:08:12 +10:00
xics.c powerpc/xics: EOI unmapped irqs after disabling them 2008-10-13 10:55:47 +11:00
xics.h [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c 2008-04-18 15:36:10 +10:00