Re: [PATCH] Enable AT_PLATFORM for Loongson 2F CPU

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

 



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



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

  Powered by Linux