diff options
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 9 | ||||
-rw-r--r-- | arch/mips/kernel/proc.c | 1 | ||||
-rw-r--r-- | arch/mips/mm/c-r4k.c | 4 | ||||
-rw-r--r-- | arch/mips/mm/pg-r4k.c | 1 | ||||
-rw-r--r-- | arch/mips/mm/tlbex.c | 1 | ||||
-rw-r--r-- | include/asm-mips/cpu.h | 4 |
6 files changed, 19 insertions, 1 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 17184921b71d..bef3e2dc7c52 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -433,6 +433,15 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c) | |||
433 | MIPS_CPU_LLSC; | 433 | MIPS_CPU_LLSC; |
434 | c->tlbsize = 64; | 434 | c->tlbsize = 64; |
435 | break; | 435 | break; |
436 | case PRID_IMP_R14000: | ||
437 | c->cputype = CPU_R14000; | ||
438 | c->isa_level = MIPS_CPU_ISA_IV; | ||
439 | c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX | | ||
440 | MIPS_CPU_FPU | MIPS_CPU_32FPR | | ||
441 | MIPS_CPU_COUNTER | MIPS_CPU_WATCH | | ||
442 | MIPS_CPU_LLSC; | ||
443 | c->tlbsize = 64; | ||
444 | break; | ||
436 | } | 445 | } |
437 | } | 446 | } |
438 | 447 | ||
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 197952c44467..9def554f335b 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c | |||
@@ -42,6 +42,7 @@ static const char *cpu_name[] = { | |||
42 | [CPU_R8000] = "R8000", | 42 | [CPU_R8000] = "R8000", |
43 | [CPU_R10000] = "R10000", | 43 | [CPU_R10000] = "R10000", |
44 | [CPU_R12000] = "R12000", | 44 | [CPU_R12000] = "R12000", |
45 | [CPU_R14000] = "R14000", | ||
45 | [CPU_R4300] = "R4300", | 46 | [CPU_R4300] = "R4300", |
46 | [CPU_R4650] = "R4650", | 47 | [CPU_R4650] = "R4650", |
47 | [CPU_R4700] = "R4700", | 48 | [CPU_R4700] = "R4700", |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 570bc4e30fd5..6b3541769602 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -335,6 +335,7 @@ static inline void local_r4k___flush_cache_all(void * args) | |||
335 | case CPU_R4400MC: | 335 | case CPU_R4400MC: |
336 | case CPU_R10000: | 336 | case CPU_R10000: |
337 | case CPU_R12000: | 337 | case CPU_R12000: |
338 | case CPU_R14000: | ||
338 | r4k_blast_scache(); | 339 | r4k_blast_scache(); |
339 | } | 340 | } |
340 | } | 341 | } |
@@ -833,6 +834,7 @@ static void __init probe_pcache(void) | |||
833 | 834 | ||
834 | case CPU_R10000: | 835 | case CPU_R10000: |
835 | case CPU_R12000: | 836 | case CPU_R12000: |
837 | case CPU_R14000: | ||
836 | icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29)); | 838 | icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29)); |
837 | c->icache.linesz = 64; | 839 | c->icache.linesz = 64; |
838 | c->icache.ways = 2; | 840 | c->icache.ways = 2; |
@@ -986,6 +988,7 @@ static void __init probe_pcache(void) | |||
986 | c->dcache.flags |= MIPS_CACHE_PINDEX; | 988 | c->dcache.flags |= MIPS_CACHE_PINDEX; |
987 | case CPU_R10000: | 989 | case CPU_R10000: |
988 | case CPU_R12000: | 990 | case CPU_R12000: |
991 | case CPU_R14000: | ||
989 | case CPU_SB1: | 992 | case CPU_SB1: |
990 | break; | 993 | break; |
991 | case CPU_24K: | 994 | case CPU_24K: |
@@ -1113,6 +1116,7 @@ static void __init setup_scache(void) | |||
1113 | 1116 | ||
1114 | case CPU_R10000: | 1117 | case CPU_R10000: |
1115 | case CPU_R12000: | 1118 | case CPU_R12000: |
1119 | case CPU_R14000: | ||
1116 | scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16); | 1120 | scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16); |
1117 | c->scache.linesz = 64 << ((config >> 13) & 1); | 1121 | c->scache.linesz = 64 << ((config >> 13) & 1); |
1118 | c->scache.ways = 2; | 1122 | c->scache.ways = 2; |
diff --git a/arch/mips/mm/pg-r4k.c b/arch/mips/mm/pg-r4k.c index e4390dc3eb48..b7c749232ffe 100644 --- a/arch/mips/mm/pg-r4k.c +++ b/arch/mips/mm/pg-r4k.c | |||
@@ -357,6 +357,7 @@ void __init build_clear_page(void) | |||
357 | 357 | ||
358 | case CPU_R10000: | 358 | case CPU_R10000: |
359 | case CPU_R12000: | 359 | case CPU_R12000: |
360 | case CPU_R14000: | ||
360 | pref_src_mode = Pref_LoadStreamed; | 361 | pref_src_mode = Pref_LoadStreamed; |
361 | pref_dst_mode = Pref_StoreStreamed; | 362 | pref_dst_mode = Pref_StoreStreamed; |
362 | break; | 363 | break; |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index 4ff07e2efcb3..54507be2ab5b 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -875,6 +875,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l, | |||
875 | 875 | ||
876 | case CPU_R10000: | 876 | case CPU_R10000: |
877 | case CPU_R12000: | 877 | case CPU_R12000: |
878 | case CPU_R14000: | ||
878 | case CPU_4KC: | 879 | case CPU_4KC: |
879 | case CPU_SB1: | 880 | case CPU_SB1: |
880 | case CPU_SB1A: | 881 | case CPU_SB1A: |
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h index 0117138149bc..dff2a0a52f8f 100644 --- a/include/asm-mips/cpu.h +++ b/include/asm-mips/cpu.h | |||
@@ -51,6 +51,7 @@ | |||
51 | #define PRID_IMP_R4300 0x0b00 | 51 | #define PRID_IMP_R4300 0x0b00 |
52 | #define PRID_IMP_VR41XX 0x0c00 | 52 | #define PRID_IMP_VR41XX 0x0c00 |
53 | #define PRID_IMP_R12000 0x0e00 | 53 | #define PRID_IMP_R12000 0x0e00 |
54 | #define PRID_IMP_R14000 0x0f00 | ||
54 | #define PRID_IMP_R8000 0x1000 | 55 | #define PRID_IMP_R8000 0x1000 |
55 | #define PRID_IMP_PR4450 0x1200 | 56 | #define PRID_IMP_PR4450 0x1200 |
56 | #define PRID_IMP_R4600 0x2000 | 57 | #define PRID_IMP_R4600 0x2000 |
@@ -198,7 +199,8 @@ | |||
198 | #define CPU_PR4450 61 | 199 | #define CPU_PR4450 61 |
199 | #define CPU_SB1A 62 | 200 | #define CPU_SB1A 62 |
200 | #define CPU_74K 63 | 201 | #define CPU_74K 63 |
201 | #define CPU_LAST 63 | 202 | #define CPU_R14000 64 |
203 | #define CPU_LAST 64 | ||
202 | 204 | ||
203 | /* | 205 | /* |
204 | * ISA Level encodings | 206 | * ISA Level encodings |