linux/arch
Michael Ellerman c5e24354ef [PATCH] powerpc: Turn cpu_irq_down into kexec_cpu_down
We currently have a ppc_md member called cpu_irq_down, which disables IRQs
for the cpu in question. The only caller of cpu_irq_down is the kexec code.

On pSeries we need to do more than just teardown IRQs at kexec time, so rename
the ppc_md member to kexec_cpu_down and expand it. The pSeries code needs to
know, and other platforms might too, whether we're doing a crash shutdown (ie.
panicking) or a regular kexec, so add a flag for that.

The pSeries implementation of kexec_cpu_down does an unregister VPA call, which
tells the Hypervisor to stop writing stuff into our pacas. Without this we can
get weird memory corruption bugs when we kexec, caused by the Hypervisor
writing into the first kernel's pacas which happens to be somewhere interesting
in the second kernel's memory.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-11-14 16:33:09 +11:00
..
alpha [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-11-13 18:17:54 -08:00
arm26 [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
cris [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
frv [PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h 2005-11-13 18:14:10 -08:00
h8300 [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
i386 [PATCH] i386: generic cmpxchg 2005-11-13 18:14:15 -08:00
ia64 [IA64-SGI] set altix preferred console 2005-11-11 11:24:26 -08:00
m32r [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
m68k [PATCH] m68k: convert thread flags to use bit fields 2005-11-13 18:14:14 -08:00
m68knommu [PATCH] m68knommu: move some platform irq support out of irq.h 2005-11-07 08:00:47 -08:00
mips [PATCH] arch/mips/au1000/common/usbdev.c: don't concatenate __FUNCTION__ with strings 2005-11-13 18:14:16 -08:00
parisc [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
powerpc [PATCH] powerpc: Turn cpu_irq_down into kexec_cpu_down 2005-11-14 16:33:09 +11:00
ppc [PATCH] ppc32: Add support for handling PCI interrupts on MPC834x PCI expansion card 2005-11-13 18:14:13 -08:00
ppc64 [PATCH] powerpc: Turn cpu_irq_down into kexec_cpu_down 2005-11-14 16:33:09 +11:00
s390 [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
sh [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
sh64 [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
sparc [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
sparc64 [SBUSFB]: implement ->compat_ioctl 2005-11-12 12:11:12 -08:00
um [PATCH] uml: fix daemon transport exit path bug 2005-11-13 18:14:15 -08:00
v850 [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
x86_64 [PATCH] x86_64 two timer entries in /sys 2005-11-13 18:14:10 -08:00
xtensa Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00