aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2013-06-30 13:10:00 +0000
committerJonas Gorski <jogo@openwrt.org>2013-06-30 13:10:00 +0000
commite7d93889d79d7ae97c70fcbb164f60f81dc10f01 (patch)
tree7bc2d16490f666f55a2e7738a1bfb004b972a10e /target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch
parent66f8f30f473eebdf2c36b5b4841ab23fb53726c7 (diff)
downloadupstream-e7d93889d79d7ae97c70fcbb164f60f81dc10f01.tar.gz
upstream-e7d93889d79d7ae97c70fcbb164f60f81dc10f01.tar.bz2
upstream-e7d93889d79d7ae97c70fcbb164f60f81dc10f01.zip
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> SVN-Revision: 37099
Diffstat (limited to 'target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch b/target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch
new file mode 100644
index 0000000000..6f4763420b
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.9/100-MIPS-bmips-fix-compilation-for-BMIPS5000.patch
@@ -0,0 +1,67 @@
+From d55975b74389b2cf1a38732062ff89303940f6e1 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sat, 29 Jun 2013 11:46:56 +0200
+Subject: [PATCH 01/10] MIPS: bmips: fix compilation for BMIPS5000
+
+Replace the macro names in strings with actual macro invocation.
+
+Fixes the following build error:
+
+ CC arch/mips/kernel/smp-bmips.o
+{standard input}: Assembler messages:
+{standard input}:951: Error: Unrecognized opcode `_ssnop'
+{standard input}:952: Error: Unrecognized opcode `_ssnop'
+(...)
+make[6]: *** [arch/mips/kernel/smp-bmips.o] Error 1
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/include/asm/bmips.h | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+--- a/arch/mips/include/asm/bmips.h
++++ b/arch/mips/include/asm/bmips.h
+@@ -70,15 +70,15 @@ static inline unsigned long bmips_read_z
+ ".set noreorder\n"
+ "cache %1, 0(%2)\n"
+ "sync\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
+ "mfc0 %0, $28, 3\n"
+- "_ssnop\n"
++ __stringify(___ssnop) "\n"
+ ".set pop\n"
+ : "=&r" (ret)
+ : "i" (Index_Load_Tag_S), "r" (ZSCM_REG_BASE + offset)
+@@ -92,13 +92,13 @@ static inline void bmips_write_zscm_reg(
+ ".set push\n"
+ ".set noreorder\n"
+ "mtc0 %0, $28, 3\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
+ "cache %1, 0(%2)\n"
+- "_ssnop\n"
+- "_ssnop\n"
+- "_ssnop\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
++ __stringify(___ssnop) "\n"
+ : /* no outputs */
+ : "r" (data),
+ "i" (Index_Store_Tag_S), "r" (ZSCM_REG_BASE + offset)