aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.9/104-MIPS-bmips-merge-CPU-options-into-one-option.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/104-MIPS-bmips-merge-CPU-options-into-one-option.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/104-MIPS-bmips-merge-CPU-options-into-one-option.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.9/104-MIPS-bmips-merge-CPU-options-into-one-option.patch126
1 files changed, 126 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.9/104-MIPS-bmips-merge-CPU-options-into-one-option.patch b/target/linux/brcm63xx/patches-3.9/104-MIPS-bmips-merge-CPU-options-into-one-option.patch
new file mode 100644
index 0000000000..386c63c1ae
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.9/104-MIPS-bmips-merge-CPU-options-into-one-option.patch
@@ -0,0 +1,126 @@
+From 1ecac776e6c652e3059d4f4d9dd8369e89ebef81 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Thu, 27 Jun 2013 23:57:20 +0200
+Subject: [PATCH 05/10] MIPS: bmips: merge CPU options into one option
+
+Instead of treating each flavour as an exclusive CPU to select, make
+BMIPS the only option and let SYS_HAS_CPU_BMIPS* decide for which
+flavours to include support.
+
+Run tested on BMIPS3300 and BMIPS4350, only build tested for BMIPS4380
+and BMISP5000.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/Kconfig | 77 +++++++++++++++++++++++++----------------------------
+ 1 file changed, 36 insertions(+), 41 deletions(-)
+
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -130,6 +130,7 @@ config BCM63XX
+ select DMA_NONCOHERENT
+ select IRQ_CPU
+ select SYS_HAS_CPU_MIPS32_R1
++ select SYS_HAS_CPU_BMIPS
+ select SYS_HAS_CPU_BMIPS4350 if !BCM63XX_CPU_6338 && !BCM63XX_CPU_6345 && !BCM63XX_CPU_6348
+ select NR_CPUS_DEFAULT_2
+ select SYS_SUPPORTS_32BIT_KERNEL
+@@ -1454,41 +1455,21 @@ config CPU_CAVIUM_OCTEON
+ can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
+ Full details can be found at http://www.caviumnetworks.com.
+
+-config CPU_BMIPS3300
+- bool "BMIPS3300"
+- depends on SYS_HAS_CPU_BMIPS3300
+- select CPU_BMIPS
+- help
+- Broadcom BMIPS3300 processors.
+-
+-config CPU_BMIPS4350
+- bool "BMIPS4350"
+- depends on SYS_HAS_CPU_BMIPS4350
+- select CPU_BMIPS
+- select SYS_SUPPORTS_SMP
+- select SYS_SUPPORTS_HOTPLUG_CPU
+- help
+- Broadcom BMIPS4350 ("VIPER") processors.
+-
+-config CPU_BMIPS4380
+- bool "BMIPS4380"
+- depends on SYS_HAS_CPU_BMIPS4380
+- select CPU_BMIPS
+- select SYS_SUPPORTS_SMP
+- select SYS_SUPPORTS_HOTPLUG_CPU
+- help
+- Broadcom BMIPS4380 processors.
+-
+-config CPU_BMIPS5000
+- bool "BMIPS5000"
+- depends on SYS_HAS_CPU_BMIPS5000
+- select CPU_BMIPS
+- select CPU_SUPPORTS_HIGHMEM
+- select MIPS_CPU_SCACHE
+- select SYS_SUPPORTS_SMP
+- select SYS_SUPPORTS_HOTPLUG_CPU
++config CPU_BMIPS
++ bool "Broadcom BMIPS"
++ depends on SYS_HAS_CPU_BMIPS
++ select CPU_MIPS32
++ select CPU_BMIPS3300 if SYS_HAS_CPU_BMIPS3300
++ select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
++ select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4380
++ select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
++ select CPU_SUPPORTS_32BIT_KERNEL
++ select DMA_NONCOHERENT
++ select IRQ_CPU
++ select SWAP_IO_SPACE
++ select WEAK_ORDERING
+ help
+- Broadcom BMIPS5000 processors.
++ Support for BMIPS3300/4350/4380 and BMIPS5000 processors.
+
+ config CPU_XLR
+ bool "Netlogic XLR SoC"
+@@ -1569,14 +1550,25 @@ config CPU_LOONGSON1
+ select CPU_SUPPORTS_32BIT_KERNEL
+ select CPU_SUPPORTS_HIGHMEM
+
+-config CPU_BMIPS
++config CPU_BMIPS3300
+ bool
+- select CPU_MIPS32
+- select CPU_SUPPORTS_32BIT_KERNEL
+- select DMA_NONCOHERENT
+- select IRQ_CPU
+- select SWAP_IO_SPACE
+- select WEAK_ORDERING
++
++config CPU_BMIPS4350
++ bool
++ select SYS_SUPPORTS_SMP
++ select SYS_SUPPORTS_HOTPLUG_CPU
++
++config CPU_BMIPS4380
++ bool
++ select SYS_SUPPORTS_SMP
++ select SYS_SUPPORTS_HOTPLUG_CPU
++
++config CPU_BMIPS5000
++ bool
++ select CPU_SUPPORTS_HIGHMEM
++ select MIPS_CPU_SCACHE
++ select SYS_SUPPORTS_SMP
++ select SYS_SUPPORTS_HOTPLUG_CPU
+
+ config SYS_HAS_CPU_LOONGSON2E
+ bool
+@@ -1650,6 +1642,9 @@ config SYS_HAS_CPU_SB1
+ config SYS_HAS_CPU_CAVIUM_OCTEON
+ bool
+
++config SYS_HAS_CPU_BMIPS
++ bool
++
+ config SYS_HAS_CPU_BMIPS3300
+ bool
+