Re: [PATCH V16 02/12] MIPS: Loongson: Add basic Loongson-3 CPU support

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

 



On Sun, Jan 12, 2014 at 05:03:51PM +0800, Huacai Chen wrote:
> On Fri, Jan 10, 2014 at 5:36 AM, Aurelien Jarno <aurelien@xxxxxxxxxxx> wrote:
> > On Thu, Jan 09, 2014 at 04:30:54PM +0800, Huacai Chen wrote:
> >> On Thu, Jan 9, 2014 at 3:58 AM, Aurelien Jarno <aurelien@xxxxxxxxxxx> wrote:
> >>
> >> > On Wed, Jan 08, 2014 at 10:44:18AM +0800, Huacai Chen wrote:
> >> > > Basic Loongson-3 CPU support include CPU probing and TLB/cache
> >> > > initializing.
> >> > >
> >> > > Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
> >> > > Signed-off-by: Hongliang Tao <taohl@xxxxxxxxxx>
> >> > > Signed-off-by: Hua Yan <yanh@xxxxxxxxxx>
> >> > > ---
> >> > >  arch/mips/include/asm/cpu-type.h |    4 ++
> >> > >  arch/mips/kernel/cpu-probe.c     |   14 ++++++--
> >> > >  arch/mips/mm/c-r4k.c             |   59
> >> > ++++++++++++++++++++++++++++++++++++++
> >> > >  arch/mips/mm/tlb-r4k.c           |    5 ++-
> >> > >  arch/mips/mm/tlbex.c             |    1 +
> >> > >  5 files changed, 77 insertions(+), 6 deletions(-)
> >> > >
> >> > > diff --git a/arch/mips/include/asm/cpu-type.h
> >> > b/arch/mips/include/asm/cpu-type.h
> >> > > index 4a402cc..a591e63 100644
> >> > > --- a/arch/mips/include/asm/cpu-type.h
> >> > > +++ b/arch/mips/include/asm/cpu-type.h
> >> > > @@ -20,6 +20,10 @@ static inline int __pure __get_cpu_type(const int
> >> > cpu_type)
> >> > >       case CPU_LOONGSON2:
> >> > >  #endif
> >> > >
> >> > > +#ifdef CONFIG_SYS_HAS_CPU_LOONGSON3
> >> > > +     case CPU_LOONGSON3:
> >> > > +#endif
> >> > > +
> >> > >  #ifdef CONFIG_SYS_HAS_CPU_LOONGSON1B
> >> > >       case CPU_LOONGSON1:
> >> > >  #endif
> >> > > diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
> >> > > index c814287..4bc81b2 100644
> >> > > --- a/arch/mips/kernel/cpu-probe.c
> >> > > +++ b/arch/mips/kernel/cpu-probe.c
> >> > > @@ -639,17 +639,23 @@ static inline void cpu_probe_legacy(struct
> >> > cpuinfo_mips *c, unsigned int cpu)
> >> > >                            MIPS_CPU_LLSC;
> >> > >               c->tlbsize = 64;
> >> > >               break;
> >> > > -     case PRID_IMP_LOONGSON2:
> >> > > -             c->cputype = CPU_LOONGSON2;
> >> > > -             __cpu_name[cpu] = "ICT Loongson-2";
> >> > > -
> >> > > +     case PRID_IMP_LOONGSON2: /* Loongson-2/3 have the same PRID_IMP
> >> > field */
> >> >
> >> > What about renaming that as something like PRID_IMP_LOONGSON23 given
> >> > it is for both Loongson 2 and 3?
> >> >
> >> Since Loongson-1 is 32-bit CPU and Loongson-2/3 are 64 bit, can I use
> >> PRID_IMP_LOONGSON_32 and PRID_IMP_LOONGSON_64?
> >> In my opinion these names are better.
> >
> > That would be the best I agree.
> >
> >> >
> >> > >               switch (c->processor_id & PRID_REV_MASK) {
> >> > >               case PRID_REV_LOONGSON2E:
> >> > > +                     c->cputype = CPU_LOONGSON2;
> >> > > +                     __cpu_name[cpu] = "ICT Loongson-2E";
> >> > >                       set_elf_platform(cpu, "loongson2e");
> >> > >                       break;
> >> > >               case PRID_REV_LOONGSON2F:
> >> > > +                     c->cputype = CPU_LOONGSON2;
> >> > > +                     __cpu_name[cpu] = "ICT Loongson-2F";
> >> > >                       set_elf_platform(cpu, "loongson2f");
> >> > >                       break;
> >> >
> >> > As remarked by Aaro Koskinen, changing the names of the Loongson 2 CPUs
> >> > (which is displayedd in /proc/cpuinfo) will break at least
> >> > GCC -march=native option. The name should be left unchanged.
> >> >
> >> Can I keep it as is and then submit a patch to GCC? I think it is important
> >> to distinguish 2E/2F/3A in cpuinfo.
> >
> > I think first the patch has to be integrated to GCC, and then you have
> > to wait at least a few months so that people start using the new
> > version. Then it should be possible to modify this.
> >
> > That said, other programs than GCC might use this information from
> > /proc/cpuinfo and might also break with this change.
> The GCC patch has been accepted yesterday, and the coming V17 patchset
> won't be accept at least in kernel-3.14,
> So, I'll keep the name in V17.

Kernel 3.15 is expected in roughly 6 months, it might still be a bit
tight for the change to propagate, even if I have seen it has been added
to the 4.8 branch. What the others things? Aaro?

Aurelien

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@xxxxxxxxxxx                 http://www.aurel32.net


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

  Powered by Linux