On 11/04/2010 05:18 AM, Robert Millan wrote:
Please consider this patch, it enables AT_PLATFORM for Loongson 2F CPU.
[...]
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 71620e1..504f3b1 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -614,6 +614,8 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
case PRID_IMP_LOONGSON2:
c->cputype = CPU_LOONGSON2;
__cpu_name[cpu] = "ICT Loongson-2";
+ if (cpu == 0)
+ __elf_platform = "loongson-2f";
c->isa_level = MIPS_CPU_ISA_III;
c->options = R4K_OPTS |
MIPS_CPU_FPU | MIPS_CPU_LLSC |
This doesn't look right to me.
You are claiming that all loongson2 are loongson-2f. Is that really
true? Or are there other types of loongson2 that are not loongson-2f?
You need to be very careful here. This is part of the userspace ABI, so
if you get it wrong, you are stuck with it forever.
One question you didn't address is why userspace would care that it is
running on exactly "loongson-2f" instead of just mips4.
The __elf_platform gets converted to a directory name by ld.so, so you
may want to choose a value without '-' in it.
My suggestion would be to set "loongson2" for the generic CPU_LOONGSON2,
and if there is a good reason for it, "loongson2f" for the 'f' variant.
David Daney