PERFORCE change 135517 for review
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
>>> in place, but there is some general problem with U-Boot that leads
>> 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)
> changed the dedicated regs layout... with r29 going -> r2 due to
> 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
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/
> 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!
xcllnt at mac.com
More information about the p4-projects