Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/boot: Add a global entry point for pseries

When entering the boot wrapper in little endian, we will need to fix
the endian order using a fixup trampoline like in the kernel. This
patch overrides the _zimage_start entry point for this purpose.

Signed-off-by: Cédric Le Goater <clg@fr.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Cédric Le Goater and committed by
Benjamin Herrenschmidt
2d9afb36 f16e9684

+11 -1
+5
arch/powerpc/boot/Makefile
··· 99 99 src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c 100 100 src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c 101 101 src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c 102 + src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S 103 + src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S 104 + src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S 105 + src-plat-$(CONFIG_PPC_CELLEB) += pseries-head.S 106 + src-plat-$(CONFIG_PPC_CELL_QPACE) += pseries-head.S 102 107 103 108 src-wlib := $(sort $(src-wlib-y)) 104 109 src-plat := $(sort $(src-plat-y))
+5
arch/powerpc/boot/pseries-head.S
··· 1 + .text 2 + 3 + .globl _zimage_start 4 + _zimage_start: 5 + b _zimage_start_lib
+1 -1
arch/powerpc/boot/wrapper
··· 152 152 make_space=n 153 153 ;; 154 154 pseries) 155 - platformo="$object/of.o $object/epapr.o" 155 + platformo="$object/pseries-head.o $object/of.o $object/epapr.o" 156 156 link_address='0x4000000' 157 157 make_space=n 158 158 ;;