1
linux/arch/powerpc/boot
Geoff Levand bafdb64577 [POWERPC] PS3: Bootwrapper support.
Add support to build the PS3 flash rom image and remove some unneeded
lmb calls.

The PS3's lv1 loader supports loading gzipped binary images from flash
rom to addr zero. The loader enters the image at addr 0x100.

In this implementation 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.

zImage.ps3 is a wrapped image that contains a flat device tree, an lv1
compatible entry point, and an optional initrd.  otheros.bld is the gzip
compresed rom image built from zImage.ps3.  otheros.bld is suitable for
programming into the PS3 boot flash memory.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-07-10 21:56:40 +10:00
..
dts [POWERPC] dts: kill hardcoded phandles 2007-07-10 00:34:08 -05:00
.gitignore [POWERPC] bootwrapper: Add a cuboot platform and a cuImage target 2007-04-24 21:31:54 +10:00
44x.c [POWERPC] Derive ebc ranges property from EBC registers 2007-06-14 22:30:16 +10:00
44x.h [POWERPC] Derive ebc ranges property from EBC registers 2007-06-14 22:30:16 +10:00
addnote.c
addRamDisk.c
crt0.S [POWERPC] Fix building of COFF zImages 2007-06-07 22:21:31 +10:00
cuboot-83xx.c [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
cuboot-85xx.c [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
cuboot-ebony.c [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
cuboot.c [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
cuboot.h [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
dcr.h [POWERPC] Derive ebc ranges property from EBC registers 2007-06-14 22:30:16 +10:00
devtree.c [POWERPC] Add dt_xlate_addr() to bootwrapper 2007-04-30 11:02:05 +10:00
div64.S
dummy.c
ebony.c [POWERPC] Derive ebc ranges property from EBC registers 2007-06-14 22:30:16 +10:00
elf_util.c [POWERPC] Move bootwrapper ELF parsing routines to a file 2007-04-13 03:55:16 +10:00
elf.h [POWERPC] Move bootwrapper ELF parsing routines to a file 2007-04-13 03:55:16 +10:00
flatdevtree_env.h [POWERPC] Add flatdevtree source 2006-10-23 12:49:18 +10:00
flatdevtree_misc.c [POWERPC] bootwrapper: Add dt_ops methods. 2007-03-21 22:35:21 +11:00
flatdevtree.c [POWERPC] Fix bug adding properties with flatdevtree.c's ft_set_prop() 2007-05-17 21:11:13 +10:00
flatdevtree.h [POWERPC] bootwrapper: Make ft_create_node() pay attention to the parent parameter. 2007-03-16 15:49:15 +11:00
gunzip_util.c [POWERPC] boot: More verbose gunzip error message 2007-04-27 21:13:49 +10:00
gunzip_util.h [POWERPC] Add documentation for the zImage's gunzip convenience functions 2007-03-16 16:38:19 +11:00
hack-coff.c
holly.c [POWERPC] Holly bootwrapper 2007-05-08 11:54:21 +10:00
install.sh
io.h [POWERPC] Add non-OF serial console support 2006-10-23 12:49:19 +10:00
main.c [POWERPC] Make kernel_entry_t have global scope in bootwrapper 2007-06-28 19:16:50 +10:00
Makefile [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00
mktree.c [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc 2007-05-08 14:47:32 +10:00
mpsc.c [POWERPC] Add bootwrapper support for Marvell MPSC 2007-05-12 11:32:49 +10:00
mv64x60_i2c.c [POWERPC] Add bootwrapper support for Marvell/mv64x60 I2C 2007-05-12 11:32:49 +10:00
mv64x60.c [POWERPC] Add bootwrapper support for Marvell/mv64x60 hostbridge 2007-05-12 11:32:49 +10:00
mv64x60.h [POWERPC] Add bootwrapper support for Marvell/mv64x60 hostbridge 2007-05-12 11:32:49 +10:00
ns16550.c [POWERPC] bootwrapper: Add dt_xlate_reg(), and use it to find serial registers. 2007-04-13 03:55:15 +10:00
of.c [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
of.h [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
ofconsole.c [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
oflib.c [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
ops.h [POWERPC] Make kernel_entry_t have global scope in bootwrapper 2007-06-28 19:16:50 +10:00
page.h
ppc_asm.h
ppcboot.h [POWERPC] bootwrapper: Add ppcboot.h 2007-04-24 21:31:55 +10:00
prpmc2800.c [POWERPC] Add bootwrapper support for Motorola PrPMC2800 platform 2007-05-12 11:32:50 +10:00
ps3-head.S [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00
ps3-hvcall.S [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00
ps3.c [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00
README
reg.h [POWERPC] New reg.h for the zImage 2007-03-26 15:11:20 +10:00
rs6000.h
serial.c [POWERPC] Fix constantness of bootwrapper arg 2007-06-28 19:16:49 +10:00
simple_alloc.c [POWERPC] bootwrapper: Use `unsigned long' for malloc sizes 2007-04-24 22:06:54 +10:00
stdio.c [POWERPC] Add u64 printf to bootwrapper 2007-06-28 19:16:48 +10:00
stdio.h [POWERPC] Add gcc format warnings to zImage printf() 2007-03-26 15:11:20 +10:00
string.h
string.S
treeboot-ebony.c [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc 2007-05-08 14:47:32 +10:00
types.h [POWERPC] Add signed types to bootwrapper 2007-06-28 19:16:47 +10:00
util.S [POWERPC] Add non-OF serial console support 2006-10-23 12:49:19 +10:00
wrapper [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00
zImage.coff.lds.S [POWERPC] zImage: Cleanup and improve zImage entry point 2007-03-13 13:35:03 +11:00
zImage.lds.S [POWERPC] zImage: Cleanup and improve zImage entry point 2007-03-13 13:35:03 +11:00
zImage.ps3.lds.S [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00

To extract the kernel vmlinux, System.map, .config or initrd from the zImage binary:

objcopy -j .kernel:vmlinux -O binary zImage vmlinux.gz
objcopy -j .kernel:System.map -O binary zImage System.map.gz
objcopy -j .kernel:.config -O binary zImage config.gz
objcopy -j .kernel:initrd -O binary zImage.initrd initrd.gz


	Peter