linux/arch/powerpc/boot
Oliver O'Halloran 656ad58ef1 powerpc/boot: Add OPAL console to epapr wrappers
This patch adds an OPAL console backend to the powerpc boot wrapper so
that decompression failures inside the wrapper can be reported to the
user. This is important since it typically indicates data corruption in
the firmware and other nasty things.

Currently this only works when building a little endian kernel. When
compiling a 64 bit BE kernel the wrapper is always build 32 bit to be
compatible with some 32 bit firmwares. BE support will be added at a
later date. Another limitation of this is that only the "raw" type of
OPAL console is supported, however machines that provide a hvsi console
also provide a raw console so this is not an issue in practice.

Actually-written-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
[mpe: Move #ifdef __powerpc64__ to avoid warnings on 32-bit]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-05 23:58:54 +10:00
..
dts Merge branch 'for-4.7-dw' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2016-05-23 18:19:21 -07:00
.gitignore powerpc/boot: Ignore .dtb files. 2013-12-02 14:06:57 +11:00
4xx.c powerpc/44x: Fix UART clocks on 440SPe 2010-05-12 07:48:49 -04:00
4xx.h powerpc/405ex: provide necessary fixup function to support cuImage 2009-08-31 09:20:55 -04:00
44x.h
addnote.c powerpc/boot: Add 64bit and little endian support to addnote 2014-04-28 17:36:00 +10:00
bamboo.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cpm-serial.c [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. 2008-04-17 01:01:37 -05:00
crt0.S powerpc/boot: don't clobber r6 and r7 in epapr boot 2015-03-16 18:58:35 +11:00
crtsavres.S [POWERPC] Fix bootwrapper builds with newer gcc versions 2008-06-16 15:00:52 +10:00
cuboot-8xx.c
cuboot-52xx.c powerpc/52xx: Make cuImage more robust in locating immr node. 2008-10-15 11:09:59 -06:00
cuboot-83xx.c
cuboot-85xx-cpm2.c
cuboot-85xx.c powerpc/85xx: cuboot - Fix up ethernet3 MAC address on MPC85xx 2009-06-15 21:45:32 -05:00
cuboot-824x.c
cuboot-acadia.c powerpc/40x: Add cuboot wrapper for Acadia board 2008-10-17 10:31:19 -04:00
cuboot-amigaone.c powerpc/amigaone: Bootwrapper and serial console support for AmigaOne 2009-02-11 16:00:09 +11:00
cuboot-bamboo.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-c2k.c powerpc: Boot code for the C2K 2008-06-09 13:42:25 +10:00
cuboot-ebony.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-hotfoot.c powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
cuboot-katmai.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-kilauea.c powerpc/405ex: support cuImage via included dtb 2009-08-31 09:23:22 -04:00
cuboot-mpc7448hpc2.c
cuboot-pq2.c [POWERPC] cuboot-pq2: PCI fixes 2008-04-17 01:01:40 -05:00
cuboot-rainier.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-sam440ep.c powerpc/4xx: Sam440ep support 2008-06-11 08:32:49 -04:00
cuboot-sequoia.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-taishan.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-warp.c powerpc/44x: Warp patches for the new NDFC driver 2009-01-20 08:17:21 -05:00
cuboot-yosemite.c [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board 2008-03-26 07:19:17 -05:00
cuboot.c
cuboot.h
dcr.h IBM Akebono: Add the Akebono platform 2014-05-01 08:26:26 +10:00
devtree.c powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry to use 2008-12-21 14:21:17 +11:00
div64.S powerpc/boot: Add extended precision shifts to the boot wrapper. 2011-12-09 07:49:27 -05:00
dummy.c
ebony.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
elf_util.c powerpc/boot: Add little endian support to elf utils 2014-04-28 17:36:04 +10:00
elf.h
ep88xc.c
ep405.c
ep8248e.c
epapr-wrapper.c powerpc/zImage: make the "OF" wrapper support ePAPR boot 2013-09-25 14:18:44 +10:00
epapr.c powerpc/zImage: make the "OF" wrapper support ePAPR boot 2013-09-25 14:18:44 +10:00
fixed-head.S
fsl-soc.c
fsl-soc.h
gamecube-head.S powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
gamecube.c powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
gunzip_util.c powerpc/boot: Use correct zlib types for comparison 2014-08-13 15:13:45 +10:00
gunzip_util.h
hack-coff.c
holly.c
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
io.h powerpc: Fix wrong defintion in boot/io.h 2014-08-05 15:41:03 +10:00
libfdt_env.h libfdt: add fdt type definitions 2015-04-29 17:17:17 -05:00
libfdt-wrapper.c powerpc/boot/fdt: Use unsigned long for pointer casts 2015-03-16 18:58:30 +11:00
main.c powerpc/boot: Parse chosen/cmdline-timeout parameter 2014-11-10 09:59:30 +11:00
Makefile powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
mktree.c powerpc: use consistent types in mktree 2009-08-20 10:29:30 +10:00
mpc8xx.c
mpc8xx.h
mpc52xx-psc.c [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
mpsc.c [POWERPC] prpmc2800: Clean up dts properties 2008-04-15 21:21:24 +10:00
mv64x60_i2c.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.h
mvme5100.c powerpc/embedded6xx: Add support for Motorola/Emerson MVME5100 2014-01-09 17:52:20 -06:00
ns16550.c [POWERPC] Xilinx: boot support for Xilinx uart 16550. 2008-04-24 13:32:46 -05:00
of.c powerpc/boot: Rework of_claim() to make it 64bit friendly 2014-04-28 17:35:43 +10:00
of.h libfdt: add fdt type definitions 2015-04-29 17:17:17 -05:00
ofconsole.c powerpc/boot: Add byteswapping routines in oflib 2014-04-28 17:35:35 +10:00
oflib.c powerpc/boot: Define a routine to enter prom 2014-04-28 17:36:08 +10:00
opal-calls.S powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
opal.c powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
ops.h powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
page.h powerpc: Fix _ALIGN_* errors due to type difference. 2015-10-09 08:02:25 +11:00
planetcore.c powerpc/boot: drop planetcore_set_serial_speed 2015-03-16 18:50:17 +11:00
planetcore.h powerpc/boot: drop planetcore_set_serial_speed 2015-03-16 18:50:17 +11:00
ppc_asm.h powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
ppcboot-hotfoot.h powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
ppcboot.h
pq2.c
pq2.h
ps3-head.S [POWERPC] PS3: Bootwrapper improvements 2008-04-01 20:43:07 +11:00
ps3-hvcall.S [POWERPC] PS3: Fix bootwrapper hang bug 2008-02-14 22:11:01 +11:00
ps3.c powerpc: Rename duplicate COMMAND_LINE_SIZE define 2014-04-28 16:31:54 +10:00
pseries-head.S powerpc/boot: Add support for 64bit little endian wrapper 2014-04-28 17:36:21 +10:00
README
redboot-8xx.c
redboot-83xx.c [POWERPC] 83xx: Add support for Analogue & Micro ASP837E board 2008-06-02 14:44:25 -05:00
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 powerpc/simpleboot: fix comment 2014-08-26 09:35:57 +02:00
stdio.c powerpc/boot: Fix do_div for 64bit wrapper 2014-04-28 17:35:22 +10:00
stdio.h
stdlib.c
stdlib.h
string.h
string.S powerpc: Fix boot wrapper memcmp() called with zero length argument 2008-10-21 15:17:48 +11:00
swab.h powerpc/boot: Define byteswapping routines for little endian 2014-04-28 17:35:56 +10:00
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 [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
types.h powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
uartlite.c
ugecon.c powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg 2009-12-18 15:13:57 +11:00
ugecon.h powerpc: gamecube/wii: usbgecko bootwrapper console support 2009-12-12 22:24:26 -07:00
util.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
virtex405-head.S [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. 2008-04-02 20:36:11 -05:00
virtex.c powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440 2008-07-04 00:58:59 -06:00
wii-head.S powerpc: wii: bootwrapper bits 2009-12-12 22:24:29 -07:00
wii.c wii: bootwrapper: add fixup to calc useable mem2 2009-12-12 22:24:31 -07:00
wrapper powerpc/boot: allow wrapper to work on non-english system 2015-11-26 22:11:16 +11:00
zImage.coff.lds.S powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN 2011-04-20 16:59:20 +10:00
zImage.lds.S powerpc/boot: Add support for 64bit little endian wrapper 2014-04-28 17:36:21 +10:00
zImage.ps3.lds.S

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