linux/arch/powerpc
Paul Mackerras 5564597d51 powerpc: Fix COFF zImage booting on old powermacs
Commit 6975a783d7 ("powerpc/boot: Allow building the zImage wrapper
as a relocatable ET_DYN", 2011-04-12) changed the procedure descriptor
at the start of crt0.S to have a hard-coded start address of 0x500000
rather than a reference to _zimage_start, presumably because having
a reference to a symbol introduced a relocation which is awkward to
handle in a position-independent executable.  Unfortunately, what is
at 0x500000 in the COFF image is not the first instruction, but the
procedure descriptor itself, that is, a word containing 0x500000,
which is not a valid instruction.  Hence, booting a COFF zImage
results in a "DEFAULT CATCH!, code=FFF00700" message from Open
Firmware.

This fixes the problem by (a) putting the procedure descriptor in the
data section and (b) adding a branch to _zimage_start as the first
instruction in the program.

Fixes: 6975a783d7 ("powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN")
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-11-27 10:55:11 +11:00
..
boot powerpc: Fix COFF zImage booting on old powermacs 2018-11-27 10:55:11 +11:00
configs powerpc/config: Enable CONFIG_PRINTK_TIME 2018-10-03 15:40:06 +10:00
crypto powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
include powerpc/64: Fix kernel stack 16-byte alignment 2018-11-15 14:48:43 +11:00
kernel powerpc/64: Fix kernel stack 16-byte alignment 2018-11-15 14:48:43 +11:00
kvm KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00
lib memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
math-emu
mm powerpc/numa: Suppress "VPHN is not supported" messages 2018-11-14 14:32:47 +11:00
net powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
oprofile powerpc updates for 4.20 2018-10-26 14:36:21 -07:00
perf powerpc/8xx: Use patch_site for perf counters setup 2018-10-26 21:58:58 +11:00
platforms powerpc/powernv/npu: Remove NPU DMA ops 2018-11-05 16:05:22 +11:00
purgatory powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
sysdev memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
tools powerpc: Add a checkpatch wrapper with our preferred settings 2018-08-07 21:49:25 +10:00
xmon powerpc/xmon: Relax frame size for clang 2018-10-31 20:39:25 +11:00
Kbuild powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00
Kconfig Kbuild updates for v4.20 (2nd) 2018-11-03 10:47:33 -07:00
Kconfig.debug powerpc: remove redundant 'default n' from Kconfig-s 2018-10-13 22:21:25 +11:00
Makefile kbuild: replace cc-name test with CONFIG_CC_IS_CLANG 2018-11-02 22:49:00 +09:00
Makefile.postlink