[Cbe-oss-dev] [FYI 3/27] ps3: romboot fixup

Geoff Levand geoffrey.levand at am.sony.com
Thu Nov 30 04:56:06 EST 2006


Stephen Rothwell wrote:
> Hi Geoff,
> 
> [Please try you rahrdest to post patches inline because attaching them
> makes it hard to supply inline commentary on them.  Thanks]


Sorry, I screwed up preparing the mails.


> On Tue, 28 Nov 2006 20:12:09 -0800 Geoff Levand <geoffrey.levand at am.sony.com> wrote:
>>
>> @@ -482,7 +487,11 @@
>>  	.globl __start_interrupts
>>  __start_interrupts:
>>
>> +#if defined(CONFIG_PPC_PS3_ROMBOOT)
>> +	b .__start_initialization_ps3
>> +#else
>>  	STD_EXCEPTION_PSERIES(0x100, system_reset)
>> +#endif
> 
> This is a pain!   It means that we can't build a single kernel that will
> boot on pSeries (etc) and PS3 (ROMBOOT?).   There may be other reasons,
> of course, but this on it own does it.
> 
> (I have spent considerable time trying to get a single image that will
> boot on any PPC64 machine, so this is in my thoughts).

This is just a hack until the proper wrapper code is made (patches welcome).
The final solution will have two types of wrapped images, zImage.ps3, and
zImage.ps3rom, both made from normal vmlinux's, which could also be
multi-platform builds.

zImage.ps3rom is the the 1st stage (kboot) kernel, to be programmed into flash.
This needs a wrapper that is setup to be loaded at lpar address zero and entered
at 0x100 (reset vector).  This is required by the HV loader.  This wrapper does
what ever is needed to get the normal vmlinux it wraps uncompressed and setup to
be entered at the normal kernel entry (_start).  So once this 1st stage wrapper
is made, this hack can be removed.  See the patch '[FYI 2/27] ps3: romboot wrapper'.  

zImage.ps3 will be a 2nd stage kernel, pretty much just a compressed vmlinux,
that is loaded from storage or network by the 1st stage (kboot) kernel.  This
image is optional.  One could always just put their final kernel image into flash,
if it is small enough (about 3.8M), and boot it directly.

I hope this makes sense.

-Geoff




More information about the cbe-oss-dev mailing list