PERFORCE change 135517 for review

Marcel Moolenaar xcllnt at mac.com
Sun Feb 17 09:34:25 PST 2008


On Feb 17, 2008, at 7:07 AM, Rafal Jaworowski wrote:

> Marcel Moolenaar wrote:
>>>>    Save U-Boot's registers at startup and restore them when
>>>>    performing a syscall. This way we don't have to compile
>>>>    code specially to avoid using those registers. Otherwise
>>>>    we have to encode knowledge of those registers in at least
>>>>    4 makefiles and introduce a build knob to enable it all.
>>>>    This does not allow us to build everything with a single
>>>>    build world.
>>>
>>> Hi Marcel,
>>>
>>> I'm not quite sure this is sufficient... I already had a similar
>>> save/restore
>>> in place, but there is some general problem with U-Boot that leads  
>>> to
>>> hangs
>>> (experienced):
>>
>> Interesting, I didn't see any such problems with 1.3.2-rc1.
>>
>
> After a bit of digging, I guess this is why it didn't bite you up  
> front: very
> recently (last minute inclusions during 1.3.2-rc1 preparation)  
> Wolfgang
> changed the dedicated regs layout... with r29 going -> r2 due to  
> certain
> problems with gcc 4.x producing bigger code when not all 'high'  
> registers it
> likes are available in the whole block etc.

I'm happy I removed all that knowledge in makefiles and put it in a
single source file. Maybe we should save and restore all registers
so that we don't have to worry about it anymore.

> Anyway, the pointer to global_data
> now became r2, which is system/reserved according to ABI, so r29  
> unsafety is
> gone.

I like that change. It makes a lot of sense.

> I think the easiest way to go would be following this recent change  
> and switch
> r14 -> r13. R13 is also non-volatile in ABI and serves small data area
> pursposes, and we could use it for GOT ptr. This way no context save/ 
> restore
> would be necessary at all. I'll follow up on this on u-boot-users ML.

I like that too. If access to the GOT is not performance critical,
it can also be put in the global data so that there's only r2...

Anyway: Good catch!

-- 
Marcel Moolenaar
xcllnt at mac.com




More information about the p4-projects mailing list