diff options
-rw-r--r-- | arch/mips/include/asm/cpu-features.h | 3 | ||||
-rw-r--r-- | arch/mips/include/asm/cpu.h | 3 | ||||
-rw-r--r-- | arch/mips/include/asm/mipsregs.h | 1 | ||||
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 7 | ||||
-rw-r--r-- | arch/mips/kernel/proc.c | 1 | ||||
-rw-r--r-- | arch/mips/mm/c-r4k.c | 1 | ||||
-rw-r--r-- | arch/mips/mm/tlbex.c | 1 | ||||
-rw-r--r-- | arch/mips/oprofile/common.c | 1 | ||||
-rw-r--r-- | arch/mips/oprofile/op_model_mipsxx.c | 4 |
9 files changed, 22 insertions, 0 deletions
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h index c507b931b484..00171cddb6d5 100644 --- a/arch/mips/include/asm/cpu-features.h +++ b/arch/mips/include/asm/cpu-features.h | |||
@@ -98,6 +98,9 @@ | |||
98 | #ifndef cpu_has_rixi | 98 | #ifndef cpu_has_rixi |
99 | #define cpu_has_rixi (cpu_data[0].options & MIPS_CPU_RIXI) | 99 | #define cpu_has_rixi (cpu_data[0].options & MIPS_CPU_RIXI) |
100 | #endif | 100 | #endif |
101 | #ifndef cpu_has_mmips | ||
102 | #define cpu_has_mmips (cpu_data[0].options & MIPS_CPU_MICROMIPS) | ||
103 | #endif | ||
101 | #ifndef cpu_has_vtag_icache | 104 | #ifndef cpu_has_vtag_icache |
102 | #define cpu_has_vtag_icache (cpu_data[0].icache.flags & MIPS_CACHE_VTAG) | 105 | #define cpu_has_vtag_icache (cpu_data[0].icache.flags & MIPS_CACHE_VTAG) |
103 | #endif | 106 | #endif |
diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h index 90112adb1940..2de2fee16cc4 100644 --- a/arch/mips/include/asm/cpu.h +++ b/arch/mips/include/asm/cpu.h | |||
@@ -96,6 +96,7 @@ | |||
96 | #define PRID_IMP_1004K 0x9900 | 96 | #define PRID_IMP_1004K 0x9900 |
97 | #define PRID_IMP_1074K 0x9a00 | 97 | #define PRID_IMP_1074K 0x9a00 |
98 | #define PRID_IMP_M14KC 0x9c00 | 98 | #define PRID_IMP_M14KC 0x9c00 |
99 | #define PRID_IMP_M14KEC 0x9e00 | ||
99 | 100 | ||
100 | /* | 101 | /* |
101 | * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE | 102 | * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE |
@@ -264,6 +265,7 @@ enum cpu_type_enum { | |||
264 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K, | 265 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K, |
265 | CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350, | 266 | CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350, |
266 | CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC, CPU_LOONGSON1, CPU_M14KC, | 267 | CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC, CPU_LOONGSON1, CPU_M14KC, |
268 | CPU_M14KEC, | ||
267 | 269 | ||
268 | /* | 270 | /* |
269 | * MIPS64 class processors | 271 | * MIPS64 class processors |
@@ -322,6 +324,7 @@ enum cpu_type_enum { | |||
322 | #define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */ | 324 | #define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */ |
323 | #define MIPS_CPU_PCI 0x00400000 /* CPU has Perf Ctr Int indicator */ | 325 | #define MIPS_CPU_PCI 0x00400000 /* CPU has Perf Ctr Int indicator */ |
324 | #define MIPS_CPU_RIXI 0x00800000 /* CPU has TLB Read/eXec Inhibit */ | 326 | #define MIPS_CPU_RIXI 0x00800000 /* CPU has TLB Read/eXec Inhibit */ |
327 | #define MIPS_CPU_MICROMIPS 0x01000000 /* CPU has microMIPS capability */ | ||
325 | 328 | ||
326 | /* | 329 | /* |
327 | * CPU ASE encodings | 330 | * CPU ASE encodings |
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h index 7e4e6f8fab37..3e36745670b2 100644 --- a/arch/mips/include/asm/mipsregs.h +++ b/arch/mips/include/asm/mipsregs.h | |||
@@ -595,6 +595,7 @@ | |||
595 | #define MIPS_CONF3_DSP2P (_ULCAST_(1) << 11) | 595 | #define MIPS_CONF3_DSP2P (_ULCAST_(1) << 11) |
596 | #define MIPS_CONF3_RXI (_ULCAST_(1) << 12) | 596 | #define MIPS_CONF3_RXI (_ULCAST_(1) << 12) |
597 | #define MIPS_CONF3_ULRI (_ULCAST_(1) << 13) | 597 | #define MIPS_CONF3_ULRI (_ULCAST_(1) << 13) |
598 | #define MIPS_CONF3_ISA (_ULCAST_(3) << 14) | ||
598 | 599 | ||
599 | #define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0) | 600 | #define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0) |
600 | #define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14) | 601 | #define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14) |
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 9f31334ed1de..ba169022fe1d 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -201,6 +201,7 @@ void __init check_wait(void) | |||
201 | break; | 201 | break; |
202 | 202 | ||
203 | case CPU_M14KC: | 203 | case CPU_M14KC: |
204 | case CPU_M14KEC: | ||
204 | case CPU_24K: | 205 | case CPU_24K: |
205 | case CPU_34K: | 206 | case CPU_34K: |
206 | case CPU_1004K: | 207 | case CPU_1004K: |
@@ -439,6 +440,8 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c) | |||
439 | c->ases |= MIPS_ASE_MIPSMT; | 440 | c->ases |= MIPS_ASE_MIPSMT; |
440 | if (config3 & MIPS_CONF3_ULRI) | 441 | if (config3 & MIPS_CONF3_ULRI) |
441 | c->options |= MIPS_CPU_ULRI; | 442 | c->options |= MIPS_CPU_ULRI; |
443 | if (config3 & MIPS_CONF3_ISA) | ||
444 | c->options |= MIPS_CPU_MICROMIPS; | ||
442 | 445 | ||
443 | return config3 & MIPS_CONF_M; | 446 | return config3 & MIPS_CONF_M; |
444 | } | 447 | } |
@@ -861,6 +864,10 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu) | |||
861 | c->cputype = CPU_M14KC; | 864 | c->cputype = CPU_M14KC; |
862 | __cpu_name[cpu] = "MIPS M14Kc"; | 865 | __cpu_name[cpu] = "MIPS M14Kc"; |
863 | break; | 866 | break; |
867 | case PRID_IMP_M14KEC: | ||
868 | c->cputype = CPU_M14KEC; | ||
869 | __cpu_name[cpu] = "MIPS M14KEc"; | ||
870 | break; | ||
864 | case PRID_IMP_1004K: | 871 | case PRID_IMP_1004K: |
865 | c->cputype = CPU_1004K; | 872 | c->cputype = CPU_1004K; |
866 | __cpu_name[cpu] = "MIPS 1004Kc"; | 873 | __cpu_name[cpu] = "MIPS 1004Kc"; |
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 07dff54f2ce8..239ae03f3330 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c | |||
@@ -73,6 +73,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
73 | if (cpu_has_dsp) seq_printf(m, "%s", " dsp"); | 73 | if (cpu_has_dsp) seq_printf(m, "%s", " dsp"); |
74 | if (cpu_has_dsp2) seq_printf(m, "%s", " dsp2"); | 74 | if (cpu_has_dsp2) seq_printf(m, "%s", " dsp2"); |
75 | if (cpu_has_mipsmt) seq_printf(m, "%s", " mt"); | 75 | if (cpu_has_mipsmt) seq_printf(m, "%s", " mt"); |
76 | if (cpu_has_mmips) seq_printf(m, "%s", " micromips"); | ||
76 | seq_printf(m, "\n"); | 77 | seq_printf(m, "\n"); |
77 | 78 | ||
78 | seq_printf(m, "shadow register sets\t: %d\n", | 79 | seq_printf(m, "shadow register sets\t: %d\n", |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 0f7d788e8810..606e8286970c 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -1057,6 +1057,7 @@ static void __cpuinit probe_pcache(void) | |||
1057 | break; | 1057 | break; |
1058 | 1058 | ||
1059 | case CPU_M14KC: | 1059 | case CPU_M14KC: |
1060 | case CPU_M14KEC: | ||
1060 | case CPU_24K: | 1061 | case CPU_24K: |
1061 | case CPU_34K: | 1062 | case CPU_34K: |
1062 | case CPU_74K: | 1063 | case CPU_74K: |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index 1c8ac49ec72c..074d6595e7b3 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -581,6 +581,7 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l, | |||
581 | case CPU_4KC: | 581 | case CPU_4KC: |
582 | case CPU_4KEC: | 582 | case CPU_4KEC: |
583 | case CPU_M14KC: | 583 | case CPU_M14KC: |
584 | case CPU_M14KEC: | ||
584 | case CPU_SB1: | 585 | case CPU_SB1: |
585 | case CPU_SB1A: | 586 | case CPU_SB1A: |
586 | case CPU_4KSC: | 587 | case CPU_4KSC: |
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c index e32db1ff02c7..fc41aa997f1a 100644 --- a/arch/mips/oprofile/common.c +++ b/arch/mips/oprofile/common.c | |||
@@ -78,6 +78,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) | |||
78 | switch (current_cpu_type()) { | 78 | switch (current_cpu_type()) { |
79 | case CPU_5KC: | 79 | case CPU_5KC: |
80 | case CPU_M14KC: | 80 | case CPU_M14KC: |
81 | case CPU_M14KEC: | ||
81 | case CPU_20KC: | 82 | case CPU_20KC: |
82 | case CPU_24K: | 83 | case CPU_24K: |
83 | case CPU_25KF: | 84 | case CPU_25KF: |
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c index 786254630403..18c3afefa67d 100644 --- a/arch/mips/oprofile/op_model_mipsxx.c +++ b/arch/mips/oprofile/op_model_mipsxx.c | |||
@@ -351,6 +351,10 @@ static int __init mipsxx_init(void) | |||
351 | op_model_mipsxx_ops.cpu_type = "mips/M14Kc"; | 351 | op_model_mipsxx_ops.cpu_type = "mips/M14Kc"; |
352 | break; | 352 | break; |
353 | 353 | ||
354 | case CPU_M14KEC: | ||
355 | op_model_mipsxx_ops.cpu_type = "mips/M14KEc"; | ||
356 | break; | ||
357 | |||
354 | case CPU_20KC: | 358 | case CPU_20KC: |
355 | op_model_mipsxx_ops.cpu_type = "mips/20K"; | 359 | op_model_mipsxx_ops.cpu_type = "mips/20K"; |
356 | break; | 360 | break; |