This patchset aims at unifying the different BMIPS support code to allow building a kernel that runs on multiple BCM63XX SoCs which might have different BMIPS flavours on them, regardless of SMP support enabled in the kernel. The first few patches clean up BMIPS itself and prepare it for multi-cpu support, while the latter add support to BCM63XX for running a SMP kernel with support for all SoCs, even those that do not have a SMP capable CPU. This patchset is runtime tested on BCM6348, BCM6328 and BCM6368, to verify that it actually does what it claims it does. Lacking hardware, it is only build tested for BMIPS4380 and BMIPS5000. Jonas Gorski (10): MIPS: bmips: fix compilation for BMIPS5000 MIPS: allow asm/cpu.h to be included from assembly MIPS: bmips: add macros for testing the current bmips CPU MIPS: bmips: change compile time checks to runtime checks MIPS: bmips: merge CPU options into one option MIPS: BCM63XX: let the individual SoCs select the appropriate CPUs MIPS: bmips: add a helper function for registering smp ops MIPS: BCM63XX: always register bmips smp ops MIPS: BCM63XX: change the guard to a BMIPS4350 check MIPS: BCM63XX: disable SMP also on BCM3368 arch/mips/Kconfig | 78 ++++++------- arch/mips/bcm63xx/Kconfig | 8 ++ arch/mips/bcm63xx/prom.c | 14 +-- arch/mips/include/asm/bmips.h | 52 ++++++--- arch/mips/include/asm/cpu.h | 3 + arch/mips/kernel/bmips_vec.S | 55 ++++++++-- arch/mips/kernel/smp-bmips.c | 241 ++++++++++++++++++++++------------------- 7 files changed, 264 insertions(+), 187 deletions(-) -- 1.7.10.4