• Dave Martin's avatar
    ARM: 7848/1: mcpm: Implement cpu_kill() to synchronise on powerdown · 0de0d646
    Dave Martin authored
    CPU hotplug and kexec rely on smp_ops.cpu_kill(), which is supposed
    to wait for the CPU to park or power down, and perform the last
    rites (such as disabling clocks etc., where the platform doesn't do
    this automatically).
    
    kexec in particular is unsafe without performing this
    synchronisation to park secondaries.  Without it, the secondaries
    might not be parked when kexec trashes the kernel.
    
    There is no generic way to do this synchronisation, so a new mcpm
    platform_ops method power_down_finish() is added by this patch.
    
    The new method is mandatory.  A platform which provides no way to
    detect when CPUs are parked is likely broken.
    Signed-off-by: default avatarDave Martin <Dave.Martin@arm.com>
    Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    0de0d646
mcpm_entry.c 7.89 KB