linux-sg2042/arch/powerpc/boot
Oliver O'Halloran a1ff57416a powerpc/boot: Fix the early OPAL console wrappers
When configured with CONFIG_PPC_EARLY_DEBUG_OPAL=y the kernel expects
the OPAL entry and base addresses to be passed in r8 and r9
respectively. Currently the wrapper does not attempt to restore these
values before entering the decompressed kernel which causes the kernel
to branch into whatever happens to be in r9 when doing a write to the
OPAL console in early boot.

This patch adds a platform_ops hook that can be used to branch into the
new kernel. The OPAL console driver patches this at runtime so that if
the console is used it will be restored just prior to entering the
kernel.

Fixes: 656ad58ef1 ("powerpc/boot: Add OPAL console to epapr wrappers")
Cc: stable@vger.kernel.org # v4.8+
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-11-24 17:34:01 +11:00
..
dts powerpc updates for 4.8 # 1 2016-07-30 21:01:36 -07:00
.gitignore
4xx.c
4xx.h
44x.h
Makefile powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
README
addnote.c
bamboo.c
cpm-serial.c
crt0.S
crtsavres.S
cuboot-8xx.c
cuboot-52xx.c
cuboot-83xx.c
cuboot-85xx-cpm2.c
cuboot-85xx.c
cuboot-824x.c
cuboot-acadia.c
cuboot-amigaone.c
cuboot-bamboo.c
cuboot-c2k.c powerpc/boot: Remove the legacy gzip wrapper 2016-09-28 14:31:50 +10:00
cuboot-ebony.c
cuboot-hotfoot.c
cuboot-katmai.c
cuboot-kilauea.c
cuboot-mpc7448hpc2.c
cuboot-pq2.c
cuboot-rainier.c
cuboot-sam440ep.c
cuboot-sequoia.c
cuboot-taishan.c
cuboot-warp.c
cuboot-yosemite.c
cuboot.c
cuboot.h
dcr.h
decompress.c powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
devtree.c
div64.S
dummy.c
ebony.c
elf.h
elf_util.c
ep88xc.c
ep405.c
ep8248e.c
epapr-wrapper.c
epapr.c
fixed-head.S
fixup-headers.sed powerpc/boot: Add sed script 2016-09-28 14:20:44 +10:00
fsl-soc.c
fsl-soc.h
gamecube-head.S
gamecube.c
hack-coff.c
holly.c
install.sh
io.h
libfdt-wrapper.c
libfdt_env.h
main.c powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
mktree.c
motload-head.S powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
mpc8xx.c
mpc8xx.h
mpc52xx-psc.c
mpsc.c
mv64x60.c
mv64x60.h
mv64x60_i2c.c
mvme5100.c
mvme7100.c powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
ns16550.c
of.c
of.h
ofconsole.c
oflib.c
opal-calls.S powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
opal.c powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
ops.h powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
page.h powerpc: Fix _ALIGN_* errors due to type difference. 2015-10-09 08:02:25 +11:00
planetcore.c
planetcore.h
ppc_asm.h powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
ppcboot-hotfoot.h
ppcboot.h powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
pq2.c
pq2.h
ps3-head.S
ps3-hvcall.S
ps3.c
pseries-head.S
redboot-8xx.c
redboot-83xx.c
redboot.h
reg.h
rs6000.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
serial.c powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
simple_alloc.c
simpleboot.c
stdbool.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
stdint.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
stdio.c
stdio.h
stdlib.c
stdlib.h
string.S
string.h
swab.h
treeboot-akebono.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-bamboo.c
treeboot-currituck.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-ebony.c
treeboot-iss4xx.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-walnut.c
types.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
uartlite.c
ugecon.c
ugecon.h
util.S
virtex.c
virtex405-head.S
wii-head.S
wii.c
wrapper powerpc/boot: Add XZ support to the wrapper script 2016-09-28 14:32:27 +10:00
xz_config.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
zImage.coff.lds.S
zImage.lds.S
zImage.ps3.lds.S

README

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