Re: [PATCH] malta4kec hang in calibrate_delay fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> >> 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.


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux