openwrt/target/linux/mpc85xx/patches-6.1/010-powerpc-add-compressed-zImage-for-mpc85xx.patch

62 lines
2.1 KiB
Diff
Raw Normal View History

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