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