From ee63aa9e6b535ca7572d891fd7274e06af215574 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Sun, 30 Jun 2013 13:10:00 +0000
Subject: bcm63xx: make smp kernels boot on older SoCs

Enhance BMIPS support so SMP kernels work on older chips.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37099 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 ...add-a-helper-function-for-registering-smp.patch | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 target/linux/brcm63xx/patches-3.9/106-MIPS-bmips-add-a-helper-function-for-registering-smp.patch

(limited to 'target/linux/brcm63xx/patches-3.9/106-MIPS-bmips-add-a-helper-function-for-registering-smp.patch')

diff --git a/target/linux/brcm63xx/patches-3.9/106-MIPS-bmips-add-a-helper-function-for-registering-smp.patch b/target/linux/brcm63xx/patches-3.9/106-MIPS-bmips-add-a-helper-function-for-registering-smp.patch
new file mode 100644
index 0000000000..ad357b6ab2
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.9/106-MIPS-bmips-add-a-helper-function-for-registering-smp.patch
@@ -0,0 +1,42 @@
+From aa15ac91faccc3bf01a29670b1f9ae1945cea056 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 23 Jun 2013 14:04:51 +0200
+Subject: [PATCH 07/10] MIPS: bmips: add a helper function for registering smp
+ ops
+
+Add a helper similar to the generic register_XXX_smp_ops() for bmips.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/include/asm/bmips.h |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- a/arch/mips/include/asm/bmips.h
++++ b/arch/mips/include/asm/bmips.h
+@@ -47,6 +47,7 @@
+ #include <linux/cpumask.h>
+ #include <asm/cpu-features.h>
+ #include <asm/r4kcache.h>
++#include <asm/smp-ops.h>
+ 
+ #define cpu_is_bmips32()	(current_cpu_type() == CPU_BMIPS32)
+ #define cpu_is_bmips3300()	(IS_ENABLED(CONFIG_CPU_BMIPS3300) && \
+@@ -59,6 +60,18 @@
+ 				 current_cpu_type() == CPU_BMIPS5000)
+ 
+ extern struct plat_smp_ops bmips_smp_ops;
++
++static inline int register_bmips_smp_ops(void)
++{
++#ifdef CONFIG_CPU_BMIPS
++	register_smp_ops(&bmips_smp_ops);
++
++	return 0;
++#else
++	return -ENODEV;
++#endif
++}
++
+ extern char bmips_reset_nmi_vec;
+ extern char bmips_reset_nmi_vec_end;
+ extern char bmips_smp_movevec;
-- 
cgit v1.2.3