linux/arch/arm64
Arun KS 90f51a09ef arm64: Fix machine_shutdown() definition
This patch ports most of commit 19ab428f4b "ARM: 7759/1: decouple CPU
offlining from reboot/shutdown" by Stephen Warren from arch/arm to
arch/arm64.

machine_shutdown() is a hook for kexec. Add a comment saying so, since
it isn't obvious from the function name.

Halt, power-off, and restart have different requirements re: stopping
secondary CPUs than kexec has. The former simply require the secondary
CPUs to be quiesced somehow, whereas kexec requires them to be
completely non-operational, so that no matter where the kexec target
images are written in RAM, they won't influence operation of the
secondary CPUS,which could happen if the CPUs were still executing some
kind of pin loop. To this end, modify machine_halt, power_off, and
restart to call smp_send_stop() directly, rather than calling
machine_shutdown().

In machine_shutdown(), replace the call to smp_send_stop() with a call
to disable_nonboot_cpus(). This completely disables all but one CPU,
thus satisfying the kexec requirements a couple paragraphs above.

Signed-off-by: Arun KS <getarunks@gmail.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-05-16 18:03:18 +01:00
..
boot arm64: Mark the Applied Micro X-Gene SATA controller as DMA coherent 2014-05-03 22:20:35 +01:00
configs arm64: defconfig: Expand default enabled features 2014-02-07 17:17:28 +00:00
crypto arm64/crypto: AES-ECB/CBC/CTR/XTS using ARMv8 NEON and Crypto Extensions 2014-05-14 10:04:16 -07:00
include arm64: Support arch_irq_work_raise() via self IPIs 2014-05-16 17:42:21 +01:00
kernel arm64: Fix machine_shutdown() definition 2014-05-16 18:03:18 +01:00
kvm arm64: kvm: use inner-shareable barriers for inner-shareable maintenance 2014-05-09 17:04:24 +01:00
lib arm64: atomics: fix use of acquire + release for full barrier semantics 2014-02-07 16:45:43 +00:00
mm Revert "arm64: Introduce execute-only page access permissions" 2014-05-16 16:44:32 +01:00
xen xen/arm,arm64: enable SWIOTLB_XEN 2013-10-10 13:40:44 +00:00
Kconfig 2014-05-15 for-3.16 pull request 2014-05-16 10:05:11 +01:00
Kconfig.debug arm64: Add missing Kconfig for CONFIG_STRICT_DEVMEM 2014-04-07 17:33:13 +01:00
Makefile arm64/crypto: SHA-1 using ARMv8 Crypto Extensions 2014-05-14 10:03:17 -07:00