On Fri, 6 May 2005, Maciej W. Rozycki wrote: > Instead of polluting all the cpu_probe_*() functions, it should actually > be moved to decode_config0(). I can apply a suitable fix. How about this? Maciej patch-mips-2.6.12-rc3-20050506-4ktlb-0 Index: arch/mips/kernel/cpu-probe.c =================================================================== RCS file: /home/cvs/linux/arch/mips/kernel/cpu-probe.c,v retrieving revision 1.46 diff -u -p -r1.46 cpu-probe.c --- arch/mips/kernel/cpu-probe.c 6 May 2005 14:31:13 -0000 1.46 +++ arch/mips/kernel/cpu-probe.c 6 May 2005 18:10:01 -0000 @@ -429,7 +429,7 @@ static inline unsigned int decode_config config0 = read_c0_config(); if (((config0 & MIPS_CONF_MT) >> 7) == 1) - c->options |= MIPS_CPU_TLB; + c->options |= MIPS_CPU_TLB | MIPS_CPU_4KTLB; isa = (config0 & MIPS_CONF_AT) >> 13; switch (isa) { case 0: @@ -515,7 +515,6 @@ static inline void decode_configs(struct static inline void cpu_probe_mips(struct cpuinfo_mips *c) { decode_configs(c); - c->options |= MIPS_CPU_4KTLB; switch (c->processor_id & 0xff00) { case PRID_IMP_4KC: c->cputype = CPU_4KC; @@ -549,7 +548,6 @@ static inline void cpu_probe_mips(struct static inline void cpu_probe_alchemy(struct cpuinfo_mips *c) { decode_configs(c); - c->options |= MIPS_CPU_4KTLB; switch (c->processor_id & 0xff00) { case PRID_IMP_AU1_REV1: case PRID_IMP_AU1_REV2: @@ -580,7 +578,6 @@ static inline void cpu_probe_alchemy(str static inline void cpu_probe_sibyte(struct cpuinfo_mips *c) { decode_configs(c); - c->options |= MIPS_CPU_4KTLB; switch (c->processor_id & 0xff00) { case PRID_IMP_SB1: c->cputype = CPU_SB1; @@ -595,7 +592,6 @@ static inline void cpu_probe_sibyte(stru static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c) { decode_configs(c); - c->options |= MIPS_CPU_4KTLB; switch (c->processor_id & 0xff00) { case PRID_IMP_SR71000: c->cputype = CPU_SR71000;