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

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

 



David Daney a écrit :
> 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.
> 

You should definitely define here loongson-2e and loongson-2f
separately. They have the same instruction set, but different opcodes
for the loongson specific instructions, hence they are not compatible.


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