summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/hotplug.c
diff options
context:
space:
mode:
authorGregory CLEMENT <gregory.clement@free-electrons.com>2012-11-14 22:51:08 +0100
committerGregory CLEMENT <gregory.clement@free-electrons.com>2012-11-21 16:49:38 +0100
commit45f5984a8a528f7507f3ec860d297934d4449ad1 (patch)
tree2491bbc83f450f2630ab2b3792698f29c374b79b /arch/arm/mach-mvebu/hotplug.c
parentde4901933f6dfc0180f761790d3f47fc64e6270f (diff)
downloadop-kernel-dev-45f5984a8a528f7507f3ec860d297934d4449ad1.zip
op-kernel-dev-45f5984a8a528f7507f3ec860d297934d4449ad1.tar.gz
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.c30
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 0000000..b228b6a
--- /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);
+}
OpenPOWER on IntegriCloud