[RFC PATCH 03/19] powerpc: gamecube: bootwrapper bits
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Nov 26 15:35:42 EST 2009
On Tue, 2009-11-24 at 18:38 +0100, Albert Herranz wrote:
> 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?
Just do a .S file :-)
> 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.
Right but I agree with Segher here, it would be nicer as a .S file.
> >> + * 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.
Ouch. I wouldn't be surprised if those guys don't do cache coherency
in the bridge anyways.
> So everything is designed and working assuming M=0.
> This can be re-checked again later if needed.
Agreed.
> >> + 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 ;).
Cheers,
Ben.
> >
> >
> > Segher
> >
> >
>
> Thanks,
> Albert
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
More information about the Linuxppc-dev
mailing list