diff options
author | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2012-11-14 22:51:08 +0100 |
---|---|---|
committer | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2012-11-21 16:49:38 +0100 |
commit | 45f5984a8a528f7507f3ec860d297934d4449ad1 (patch) | |
tree | 2491bbc83f450f2630ab2b3792698f29c374b79b /arch/arm/mach-mvebu/hotplug.c | |
parent | de4901933f6dfc0180f761790d3f47fc64e6270f (diff) | |
download | talos-obmc-linux-45f5984a8a528f7507f3ec860d297934d4449ad1.tar.gz talos-obmc-linux-45f5984a8a528f7507f3ec860d297934d4449ad1.zip |
arm: mvebu: Add SMP support for Armada XP
This enables SMP support on the Armada XP processor. It adds the
mandatory functions to support SMP such as: the SMP initialization
functions in platsmp.c, the secondary CPU entry point in headsmp.S and
the CPU hotplug initial support in hotplug.c.
Signed-off-by: Yehuda Yitschak <yehuday@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/mach-mvebu/hotplug.c')
-rw-r--r-- | arch/arm/mach-mvebu/hotplug.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/hotplug.c b/arch/arm/mach-mvebu/hotplug.c new file mode 100644 index 000000000000..b228b6a80c85 --- /dev/null +++ b/arch/arm/mach-mvebu/hotplug.c @@ -0,0 +1,30 @@ +/* + * Symmetric Multi Processing (SMP) support for Armada XP + * + * Copyright (C) 2012 Marvell + * + * Lior Amsalem <alior@marvell.com> + * Gregory CLEMENT <gregory.clement@free-electrons.com> + * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ +#include <linux/kernel.h> +#include <linux/errno.h> +#include <linux/smp.h> +#include <asm/proc-fns.h> + +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void __ref armada_xp_cpu_die(unsigned int cpu) +{ + cpu_do_idle(); + + /* We should never return from idle */ + panic("mvebu: cpu %d unexpectedly exit from shutdown\n", cpu); +} |