Subject: Re: [patch 30/33] PS3: Bootwrapper support.

From: Geoff Levand <[email-masked]>
Date: Mon, 18 Jun 2007 17:01:43 -0700

Mark A. Greer wrote:
>> Not bad.   Since this code doesn't have to be at any particular 
>> location when it is built (you have no .org or similar, its all PIC), I 
>> don't see anything that couldn't be done from an asm block in the 
>> platform .c file, like the entry point in prpmc2800.c file; that would 
>> save a file in the boot directory.  In that case __system_reset_kernel 
>> would be an array of 256 bytes.
> 
> Agree.
> 
> As for the rest of Geoff's patch, I think I get the gist of what's going
> on but it would be really nice to have it described in English (and put
> in the patch description).  That way others (like me) could understand
> the problem you're solving and what your solution is.

This is from the comment the patch adds to the wrapper script.  I think
it gives you what you need:

+ps3)
+    # The ps3's loader supports loading gzipped binary images from flash
+    # rom to addr zero. The loader enters the image at addr 0x100.  A
+    # bootwrapper overlay is use to arrange for the kernel to be loaded
+    # to addr zero and to have a suitable bootwrapper entry at 0x100.
+    # To construct the rom image, 0x100 bytes from offset 0x100 in the
+    # kernel is copied to the bootwrapper symbol __system_reset_kernel.
+    # The 0x100 bytes at the bootwrapper symbol __system_reset_overlay is
+    # then copied to offset 0x100.  At runtime the bootwrapper program
+    # copies the 0x100 bytes at __system_reset_kernel to addr 0x100.