kernel/3.10: add a generic patch for cpu_has_mmips override
authorGabor Juhos <juhosg@openwrt.org>
Sat, 20 Jul 2013 10:14:05 +0000 (10:14 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 20 Jul 2013 10:14:05 +0000 (10:14 +0000)
Backport of commit 3ddc14add5e6341cf8ef4058c34c67ba7fd15317
from 3.11-rc1

Suggested-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37479

target/linux/generic/patches-3.10/002-MIPS-Only-set-cpu_has_mmips-if-SYS_SUPPORTS_MICROMIP.patch [new file with mode: 0644]

diff --git a/target/linux/generic/patches-3.10/002-MIPS-Only-set-cpu_has_mmips-if-SYS_SUPPORTS_MICROMIP.patch b/target/linux/generic/patches-3.10/002-MIPS-Only-set-cpu_has_mmips-if-SYS_SUPPORTS_MICROMIP.patch
new file mode 100644 (file)
index 0000000..b1eddc6
--- /dev/null
@@ -0,0 +1,45 @@
+From 15a051ad98309f71989f9bda4b020fff160f4022 Mon Sep 17 00:00:00 2001
+From: David Daney <david.daney@cavium.com>
+Date: Fri, 24 May 2013 20:54:10 +0000
+Subject: [PATCH 2/2] MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
+
+commit 3ddc14add5e6341cf8ef4058c34c67ba7fd15317 upstream.
+
+As Jonas Gorske said in his patch:
+
+   Disable cpu_has_mmips for everything but SEAD3 and MALTA. Most of
+   these platforms are from before the micromips introduction, so they
+   are very unlikely to implement it.
+
+   Reduces an -Os compiled, uncompressed kernel image by 8KiB for
+   BCM63XX.
+
+This patch taks a different approach than his, we gate the runtime
+test for microMIPS by the config symbol SYS_SUPPORTS_MICROMIPS.
+
+Signed-off-by: David Daney <david.daney@cavium.com>
+Cc: Jonas Gorski <jogo@openwrt.org>
+Cc: Steven J. Hill <Steven.Hill@imgtec.com>
+Acked-by: Steven J. Hill <Steven.Hill@imgtec.com>
+Cc: linux-mips@linux-mips.org
+Patchwork: https://patchwork.linux-mips.org/patch/5327/
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+---
+ arch/mips/include/asm/cpu-features.h |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/arch/mips/include/asm/cpu-features.h
++++ b/arch/mips/include/asm/cpu-features.h
+@@ -99,7 +99,11 @@
+ #define cpu_has_rixi          (cpu_data[0].options & MIPS_CPU_RIXI)
+ #endif
+ #ifndef cpu_has_mmips
+-#define cpu_has_mmips         (cpu_data[0].options & MIPS_CPU_MICROMIPS)
++# ifdef CONFIG_SYS_SUPPORTS_MICROMIPS
++#  define cpu_has_mmips               (cpu_data[0].options & MIPS_CPU_MICROMIPS)
++# else
++#  define cpu_has_mmips               0
++# endif
+ #endif
+ #ifndef cpu_has_vtag_icache
+ #define cpu_has_vtag_icache   (cpu_data[0].icache.flags & MIPS_CACHE_VTAG)