ARM: tango: add HOTPLUG_CPU support
Subsystems (2)
PATCH 1/1 ARM: tango: add HOTPLUG_CPU support
From: Marc Gonzalez <[email protected]>
cpu_die() and cpu_kill() are implemented in firmware.
Signed-off-by Marc Gonzalez <[email protected]>
--- arch/arm/mach-tango/platsmp.c | 17 +++++++++++++++++ arch/arm/mach-tango/smc.h | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-)
arch/arm/mach-tango/platsmp.c +17 -0
@@ -9,8 +9,25 @@ static int tango_boot_secondary(unsigned int cpu, struct task_struct *idle)return 0 ; } +#ifdef CONFIG_HOTPLUG_CPU +static int tango_cpu_kill (unsigned int cpu) +{ +return tango_aux_core_kill (cpu); +} + +static void tango_cpu_die (unsigned int cpu) +{ +tango_aux_core_die (cpu); +} +#else +#define tango_cpu_kill NULL +#define tango_cpu_die NULL +#endif +static const struct smp_operations tango_smp_ops__initconst = { .smp_boot_secondary = tango_boot_secondary, + .cpu_kill = tango_cpu_kill, + .cpu_die = tango_cpu_die, };CPU_METHOD_OF_DECLARE (tango4_smp,"sigma,tango4-smp" , &tango_smp_ops);
arch/arm/mach-tango/smc.h +3 -1
@@ -2,4 +2,6 @@ extern int tango_smc(unsigned int val, unsigned int service);#define tango_set_l2_control (val) tango_smc(val, 0x102)#define tango_start_aux_core (val) tango_smc(val, 0x104) -#define tango_set_aux_boot_addr (val) tango_smc((unsigned int)val, 0x105) +#define tango_set_aux_boot_addr (val) tango_smc(val, 0x105) +#define tango_aux_core_die (val) tango_smc(val, 0x121) +#define tango_aux_core_kill (val) tango_smc(val, 0x122)
Signature · 1 line
2.8.2