diff options
author | Kevin Cernekee <cernekee@gmail.com> | 2010-10-16 17:22:30 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-10-29 14:08:50 -0400 |
commit | 602977b0d672687909b0cb0542ede134ed6ef858 (patch) | |
tree | 8f40b3cfbf2cc32a445a69a548837521fcdfd7d6 /arch/mips/mm | |
parent | 3a9ab99e0341558e451327fbbfc39b0d3cff7e9a (diff) |
MIPS: Decouple BMIPS CPU support from bcm47xx/bcm63xx SoC code
BMIPS processor cores are used in 50+ different chipsets spread across
5+ product lines. In many cases the chipsets do not share the same
peripheral register layouts, the same register blocks, the same
interrupt controllers, the same memory maps, or much of anything else.
But, across radically different SoCs that share nothing more than the
same BMIPS CPU, a few things are still mostly constant:
SMP operations
Access to performance counters
DMA cache coherency quirks
Cache and memory bus configuration
So, it makes sense to treat each BMIPS processor type as a generic
"building block," rather than tying it to a specific SoC. This makes it
easier to support a large number of BMIPS-based chipsets without
unnecessary duplication of code, and provides the infrastructure needed
to support BMIPS-proprietary features.
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Cc: mbizon@freebox.fr
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Tested-by: Florian Fainelli <ffainelli@freebox.fr>
Patchwork: https://patchwork.linux-mips.org/patch/1706/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org
Diffstat (limited to 'arch/mips/mm')
-rw-r--r-- | arch/mips/mm/tlbex.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index 4510e61883eb..93816f3bca67 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -338,13 +338,12 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l, | |||
338 | case CPU_4KSC: | 338 | case CPU_4KSC: |
339 | case CPU_20KC: | 339 | case CPU_20KC: |
340 | case CPU_25KF: | 340 | case CPU_25KF: |
341 | case CPU_BCM3302: | 341 | case CPU_BMIPS32: |
342 | case CPU_BCM4710: | 342 | case CPU_BMIPS3300: |
343 | case CPU_BMIPS4350: | ||
344 | case CPU_BMIPS4380: | ||
345 | case CPU_BMIPS5000: | ||
343 | case CPU_LOONGSON2: | 346 | case CPU_LOONGSON2: |
344 | case CPU_BCM6338: | ||
345 | case CPU_BCM6345: | ||
346 | case CPU_BCM6348: | ||
347 | case CPU_BCM6358: | ||
348 | case CPU_R5500: | 347 | case CPU_R5500: |
349 | if (m4kc_tlbp_war()) | 348 | if (m4kc_tlbp_war()) |
350 | uasm_i_nop(p); | 349 | uasm_i_nop(p); |