android_kernel_xiaomi_sm8350/arch/ppc64/boot
Mark Bellon 3cc747e964 [PATCH] PPC64: large INITRD causes kernel not to boot
In PPC64 there are number of problems in arch/ppc64/boot/main.c that
prevent a kernel from making use of a large (greater than ~16MB) INITRD.
This is 64 bit architecture and really large INITRD images should be
possible.

Simply put the existing code has a fixed reservation (claim) address and
once the kernel plus initrd image are large enough to pass this address
all sorts of bad things occur. The fix is the dynamically establish the
first claim address above the loaded kernel plus initrd (plus some
"padding" and rounding). If PROG_START is defined this will be used as
the minimum safe address - currently known to be 0x01400000 for the
firmwares tested so far.

Signed-off-by: Mark Bellon <mbellon@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-09-09 22:11:37 +10:00
..
addnote.c [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
addRamDisk.c
crt0.S [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
div64.S [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
elf.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
install.sh [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
main.c [PATCH] PPC64: large INITRD causes kernel not to boot 2005-09-09 22:11:37 +10:00
Makefile [PATCH] ppc64: makefile cleanup 2005-09-09 22:11:35 +10:00
page.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
ppc_asm.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
prom.c [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
prom.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
README
stdio.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
string.h [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
string.S [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
zImage.lds
zlib.c [PATCH] ppc64: make arch/ppc64/boot standalone 2005-08-29 10:53:31 +10:00
zlib.h

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