diff options
author | Leonid Yegoshin <yegoshin@mips.com> | 2012-07-06 15:56:01 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-07-19 05:22:48 -0400 |
commit | 78d4803f75277f78ab4fc3be7ad462d78f726df9 (patch) | |
tree | 6e40d49d0a2454f1f0a27641aceadbbf216d7c3c /arch/mips | |
parent | 113c62d9844d9037508fa156e47db1b5407a27c3 (diff) |
MIPS: Don't panic on 5KEc.
It's a bloody bog standard MIPS64R2 core with just a new PrId ID. Iow
that essentially means Linux just panics because it doesn't know how to
name the core.
[ralf@linux-mips.org: Split original patch into several smaller patches.]
Signed-off-by: Leonid Yegoshin <yegoshin@mips.com>
Signed-off-by: Steven J. Hill <sjhill@mips.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3792/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/cpu.h | 2 | ||||
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/traps.c | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h index c64910586b74..95e40c1e8ed1 100644 --- a/arch/mips/include/asm/cpu.h +++ b/arch/mips/include/asm/cpu.h | |||
@@ -266,7 +266,7 @@ enum cpu_type_enum { | |||
266 | /* | 266 | /* |
267 | * MIPS64 class processors | 267 | * MIPS64 class processors |
268 | */ | 268 | */ |
269 | CPU_5KC, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, | 269 | CPU_5KC, CPU_5KE, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, |
270 | CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, CPU_CAVIUM_OCTEON2, | 270 | CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, CPU_CAVIUM_OCTEON2, |
271 | CPU_XLR, CPU_XLP, | 271 | CPU_XLR, CPU_XLP, |
272 | 272 | ||
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index aaf39f3eaa51..f4630e1082ab 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -811,6 +811,10 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu) | |||
811 | c->cputype = CPU_5KC; | 811 | c->cputype = CPU_5KC; |
812 | __cpu_name[cpu] = "MIPS 5Kc"; | 812 | __cpu_name[cpu] = "MIPS 5Kc"; |
813 | break; | 813 | break; |
814 | case PRID_IMP_5KE: | ||
815 | c->cputype = CPU_5KE; | ||
816 | __cpu_name[cpu] = "MIPS 5KE"; | ||
817 | break; | ||
814 | case PRID_IMP_20KC: | 818 | case PRID_IMP_20KC: |
815 | c->cputype = CPU_20KC; | 819 | c->cputype = CPU_20KC; |
816 | __cpu_name[cpu] = "MIPS 20Kc"; | 820 | __cpu_name[cpu] = "MIPS 20Kc"; |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index f985b7292cd9..ce95f2c41f3f 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -1249,6 +1249,7 @@ static inline void parity_protection_init(void) | |||
1249 | break; | 1249 | break; |
1250 | 1250 | ||
1251 | case CPU_5KC: | 1251 | case CPU_5KC: |
1252 | case CPU_5KE: | ||
1252 | write_c0_ecc(0x80000000); | 1253 | write_c0_ecc(0x80000000); |
1253 | back_to_back_c0_hazard(); | 1254 | back_to_back_c0_hazard(); |
1254 | /* Set the PE bit (bit 31) in the c0_errctl register. */ | 1255 | /* Set the PE bit (bit 31) in the c0_errctl register. */ |