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

Powerpc IRQ handling breaks strict EABI compliance



Valette Eric wrote:
> Till Straumann wrote:
> 
>> OK, I fixed the motorola/shared BSP to not clobber R2/R13 anymore.
> 
> 
> Thanks a lot.
> 
>> However, the question remains:
>>
>>  - who is responsible for the setup (calling __eabi()) ?
>>    RTEMS or application code?
> 
> 
> 
> I'm not sure we need to have to have all BSP being fully EABI compliant 
> and thus frozing two registers. At least I'm not sure it was done on 
> old-execption-handling compliant BSP. I think that what is important is 
> that IRQ code does not prevent a specific BSP, or via a compilation 
> option to be fully EABI compliant.

Yes, but it seems that quite a couple of ppc BSPs have versions of
irq_asm.S/vector.S derived from your original ones and hence clobber R2
(R13 looks better, AFAIK).

> 
> Now, if for some reason fully EABI compliant code is more efficient 
> because the compiler optimize something that is worth having two 
> register less,
> 
> 
> My two cents,
> 
> -- eric
>