linux/arch
Will Deacon 6fa99b7f80 ARM: 7405/1: kexec: call platform_cpu_kill on the killer rather than the victim
When performing a kexec on an SMP system, the secondary cores are stopped
by calling machine_shutdown(), which in turn issues IPIs to offline the
other CPUs. Unfortunately, this isn't enough to reboot the cores into
a new kernel (since they are just executing a cpu_relax loop somewhere
in memory) so we make use of platform_cpu_kill, part of the CPU hotplug
implementation, to place the cores somewhere safe. This function expects
to be called on the killing CPU for each core that it takes out.

This patch moves the platform_cpu_kill callback out of the IPI handler
and into smp_send_stop, therefore ensuring that it executes on the
killing CPU rather than on the victim, matching what the hotplug code
requires.

Cc: stable@vger.kernel.org
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-04-28 11:01:31 +01:00
..
alpha alpha: fix build failures from system.h dismemberment 2012-04-13 13:15:16 -04:00
arm ARM: 7405/1: kexec: call platform_cpu_kill on the killer rather than the victim 2012-04-28 11:01:31 +01:00
avr32 avr32: fix nop compile fails from system.h split up 2012-04-04 08:23:44 -07:00
blackfin blackfin: update defconfig for bf527-ezkit 2012-04-06 10:25:03 +08:00
c6x irq: Kill pointless irqd_to_hw export 2012-04-10 22:39:17 -06:00
cris
frv frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL 2012-04-02 14:41:26 -07:00
h8300
hexagon Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
ia64 kill mm argument of vm_munmap() 2012-04-21 01:58:20 -04:00
m32r
m68k m68knommu: make sure 2nd FEC eth interface pins are enabled on 5275 ColdFire 2012-04-17 17:06:34 +10:00
microblaze Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
mips Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
mn10300
openrisc
parisc parisc: fix missing cmpxchg file error from system.h split 2012-04-02 14:41:26 -07:00
powerpc powerpc/mpic: Properly set default triggers 2012-04-23 11:04:30 +10:00
s390 [S390] Fix compile error in swab.h 2012-04-11 14:28:26 +02:00
score
sh SuperH updates for 3.4-rc1 2012-04-07 09:52:46 -07:00
sparc sparc32,leon: add notify_cpu_starting() 2012-04-21 16:35:06 -04:00
tile VM: add "vm_mmap()" helper function 2012-04-20 17:29:13 -07:00
um um: uml_setup_stubs': warning: unused variable 'pages' 2012-04-10 00:13:45 +02:00
unicore32 Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
x86 kill mm argument of vm_munmap() 2012-04-21 01:58:20 -04:00
xtensa
.gitignore
Kconfig