[RFC PATCH 03/19] powerpc: gamecube: bootwrapper bits
Albert Herranz
albert_herranz at yahoo.es
Wed Nov 25 04:38:45 EST 2009
Segher Boessenkool wrote:
> Hi Albert,
>
>> +asm ("\n\
>
>
> A file scope asm?! Please don't.
>
So what's your proposal then? Placing it within a fake func?
That asm snippet is the entry point. I took as an example how prpmc2800.c deals with that, providing an own version of the (weak) _zImage_start.
>> + * We enter with the cache enabled, the MMU enabled and some known
>> legacy
>> + * memory mappings active. xBAT3 is unused
>
> It would be good if you could depend as little as possible on these things;
> that makes writing another bootloader a lot easier.
>
Ok. I'll do a similar approach as done on the wii bootwrapper.
>> + /* IBAT3,DBAT3 for first 16Mbytes */\n\
>> + li 8, 0x01ff /* 16MB */\n\
>> + li 9, 0x0002 /* rw */\n\
>> + mtspr 0x216, 8 /* IBAT3U */\n\
>> + mtspr 0x217, 9 /* IBAT3L */\n\
>> + mtspr 0x21e, 8 /* DBAT3U */\n\
>> + mtspr 0x21f, 9 /* DBAT3L */\n\
>
> WIMG=0000, are you sure? Not M=1?
>
To be honest, I don't recall the details now.
But it was tested in the very early days, the result was not the expected one and, in the end, manual cache coherency management was still needed.
So everything is designed and working assuming M=0.
This can be re-checked again later if needed.
>> + bcl- 20,4*cr7+so,1f\n\
>
> Just write bcl 20,31,1f .
Ok, I used two variants for this and I know which one you like now ;).
>
>
> Segher
>
>
Thanks,
Albert
More information about the Linuxppc-dev
mailing list