[PATCH v1 1/2] arm64: Fix machine_shutdown() definition
Stephen Warren
swarren at wwwdotorg.org
Wed May 7 08:43:29 PDT 2014
On 05/06/2014 07:41 PM, arunks.linux at gmail.com wrote:
> From: Arun KS <arun.linux at gmail.com>
>
> This patch ports most of commit 19ab428f4b79 "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.
I assume the code changes apply equally well to arm64 so,
Acked-by: Stephen Warren <swarren at nvidia.com>
More information about the linux-arm-kernel
mailing list