> >> In that case, your core is a 4Kc and not a 4KEc. > > > > Not quite true, early revisions of the 4KEc were only release 1. This > > seems to be a bug in arch/mips/cpu-probe.c: > > > > static inline void cpu_probe_mips(struct cpuinfo_mips *c) > > { > > decode_configs(c); > > switch (c->processor_id & 0xff00) { > > case PRID_IMP_4KC: > > c->cputype = CPU_4KC; > > break; > > case PRID_IMP_4KEC: > > c->cputype = CPU_4KEC; > > break; > > case PRID_IMP_4KECR2: > > c->cputype = CPU_4KEC; > > break; > > ... > > > > The type for PRID_IMP_4KEC should be CPU_4KC. > > > > > > Maybe the probing code should read the ISA revision level from the AR > bits (12:10) of the Config0 register to figure out which revision of the > ISA is implemented. It does. c->cputype isn't what needs to be modulated here, it's c->isa_level, which gets decoded as part of decode_configs(), as near as I can tell correctly in the most recent source tree I've got. And it's isa_level that's being tested by the cpu_has_mips32r2 et. al. macros. Regards, Kevin K.