openwrt/target/linux/mpc85xx/patches-6.1/010-powerpc-add-compressed-zImage-for-mpc85xx.patch
David Bauer c2a5cd110c mpc85xx: only build zImage on required targets
Make the OF-compatible zImage per-board selectable. This allows the
image to only be built with the wrapper if the target actually uses it.

This fixes build-failures for the mpc85xx-p2020 subtarget.

Fixes: 557c094f0579 ("mpc85xx: only build zImage on required targets")

Signed-off-by: David Bauer <mail@david-bauer.net>
2024-06-08 17:30:20 +02:00

62 lines
2.1 KiB
Diff

From b30ba76a980b3a9282f309c23e3bb0b0eb2c72cd Mon Sep 17 00:00:00 2001
From: David Bauer <mail@david-bauer.net>
Date: Thu, 30 May 2024 02:55:38 +0200
Subject: [PATCH] powerpc: add compressed zImage for mpc85xx
Add a universal zImage which can be loaded by mpc85xx boards at
load address 0x3000000. This allows boards to boot kernels larger than
16MB even if the image is loaded temporarily from NAND at offset
0x1000000 which some bootloaders do by default.
Signed-off-by: David Bauer <mail@david-bauer.net>
---
arch/powerpc/boot/Makefile | 1 +
arch/powerpc/boot/wrapper | 5 +++++
2 files changed, 6 insertions(+)
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -175,6 +175,7 @@ src-plat-$(CONFIG_EMBEDDED6xx) += cuboot
src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c
src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c
src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
+src-plat-$(CONFIG_PPC_ZIMAGE_LA3000000) += fixed-head.S
src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
@@ -345,6 +346,7 @@ image-$(CONFIG_MPC836x_MDS) += cuImage.
image-$(CONFIG_ASP834x) += dtbImage.asp834x-redboot
# Board ports in arch/powerpc/platform/85xx/Kconfig
+image-$(CONFIG_PPC_ZIMAGE_LA3000000) += zImage.la3000000
image-$(CONFIG_MPC8540_ADS) += cuImage.mpc8540ads
image-$(CONFIG_MPC8560_ADS) += cuImage.mpc8560ads
image-$(CONFIG_MPC85xx_CDS) += cuImage.mpc8541cds \
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -254,6 +254,11 @@ if [ -n "$esm_blob" -a "$platform" != "p
fi
case "$platform" in
+la3000000)
+ binary=y
+ platformo="$object/fixed-head.o $object/of.o $object/epapr.o"
+ link_address='0x3000000'
+ ;;
of)
platformo="$object/of.o $object/epapr.o"
make_space=n
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -74,6 +74,10 @@ config NMI_IPI
depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR)
default y
+config PPC_ZIMAGE_LA3000000
+ bool
+ default n
+
config PPC_WATCHDOG
bool
depends on HARDLOCKUP_DETECTOR