]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] powerpc: Turn cpu_irq_down into kexec_cpu_down
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 11 Nov 2005 13:06:05 +0000 (00:06 +1100)
committerPaul Mackerras <paulus@samba.org>
Mon, 14 Nov 2005 05:33:09 +0000 (16:33 +1100)
commitea59d2b6ab0b5082596f3865e9c3ebfdd5707914
tree9a92ab7168cd45eb5104ce662e82626b62609aa4
parent4c9ecf434157e574b7f0353f71c8a2cfa19441a1
[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>
arch/powerpc/platforms/pseries/setup.c
arch/ppc64/kernel/machine_kexec.c
include/asm-powerpc/machdep.h