From: David Bauer Date: Sun, 9 Jun 2024 17:34:46 +0000 (+0200) Subject: mpc85xx: fix WS-AP3710i boot X-Git-Tag: v23.05.4~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3001d3c5d446bf53fc222640d49a4cc79e04a2f3;p=thirdparty%2Fopenwrt.git mpc85xx: fix WS-AP3710i boot On master, the bootwrapper link-address for all simpleImage targets was relocated to 0x15000000 due to growing kernel size. This was not done on OpenWrt 23.05, as the decompressed kernel still fits. However, with the wrapper for the WS-AP3710i, the bootloader attempts execute in-place with the uImage load-address of 0x1000000. As the image is compiled without the uImage header in mind, this naturally fails. In order to fix this, link the WS-AP3715i simpleImage at 0x15000000 as done in master. This will force the bootloader to relocate the code to the proper address and skip XIP. Signed-off-by: David Bauer --- diff --git a/target/linux/mpc85xx/image/p1020.mk b/target/linux/mpc85xx/image/p1020.mk index b9fb15ed932..1ec90a233d9 100644 --- a/target/linux/mpc85xx/image/p1020.mk +++ b/target/linux/mpc85xx/image/p1020.mk @@ -63,8 +63,8 @@ define Device/enterasys_ws-ap3710i DEVICE_MODEL := WS-AP3710i BLOCKSIZE := 128k KERNEL_NAME := simpleImage.ws-ap3710i - KERNEL_ENTRY := 0x1000000 - KERNEL_LOADADDR := 0x1000000 + KERNEL_ENTRY := 0x1500000 + KERNEL_LOADADDR := 0x1500000 KERNEL = kernel-bin | uImage none KERNEL_INITRAMFS := kernel-bin | uImage none IMAGES := sysupgrade.bin diff --git a/target/linux/mpc85xx/patches-5.15/106-powerpc-85xx-ws-ap3710i-support.patch b/target/linux/mpc85xx/patches-5.15/106-powerpc-85xx-ws-ap3710i-support.patch index 1edc2aa56bd..c189d695abf 100644 --- a/target/linux/mpc85xx/patches-5.15/106-powerpc-85xx-ws-ap3710i-support.patch +++ b/target/linux/mpc85xx/patches-5.15/106-powerpc-85xx-ws-ap3710i-support.patch @@ -48,13 +48,15 @@ --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper -@@ -326,7 +326,8 @@ adder875-redboot) - platformo="$object/fixed-head.o $object/redboot-8xx.o" +@@ -331,6 +331,11 @@ simpleboot-tl-wdr4900-v1) + link_address='0x1000000' binary=y ;; --simpleboot-tl-wdr4900-v1) -+simpleboot-tl-wdr4900-v1|\ +simpleboot-ws-ap3710i) ++ platformo="$object/fixed-head.o $object/simpleboot.o" ++ link_address='0x1500000' ++ binary=y ++ ;; + simpleboot-*) platformo="$object/fixed-head.o $object/simpleboot.o" - link_address='0x1000000' binary=y diff --git a/target/linux/mpc85xx/patches-5.15/107-powerpc-85xx-add-ws-ap3825i-support.patch b/target/linux/mpc85xx/patches-5.15/107-powerpc-85xx-add-ws-ap3825i-support.patch index 3f05c906af8..ddd16d369e8 100644 --- a/target/linux/mpc85xx/patches-5.15/107-powerpc-85xx-add-ws-ap3825i-support.patch +++ b/target/linux/mpc85xx/patches-5.15/107-powerpc-85xx-add-ws-ap3825i-support.patch @@ -47,12 +47,12 @@ WS-AP3825i AP. --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper -@@ -327,7 +327,8 @@ adder875-redboot) +@@ -326,7 +326,8 @@ adder875-redboot) + platformo="$object/fixed-head.o $object/redboot-8xx.o" binary=y ;; - simpleboot-tl-wdr4900-v1|\ --simpleboot-ws-ap3710i) -+simpleboot-ws-ap3710i|\ +-simpleboot-tl-wdr4900-v1) ++simpleboot-tl-wdr4900-v1|\ +simpleboot-ws-ap3825i) platformo="$object/fixed-head.o $object/simpleboot.o" link_address='0x1000000' diff --git a/target/linux/mpc85xx/patches-5.15/109-powerpc-85xx-add-ws-ap3715i-support.patch b/target/linux/mpc85xx/patches-5.15/109-powerpc-85xx-add-ws-ap3715i-support.patch index fe9abbb1e2f..ad8f4840b98 100644 --- a/target/linux/mpc85xx/patches-5.15/109-powerpc-85xx-add-ws-ap3715i-support.patch +++ b/target/linux/mpc85xx/patches-5.15/109-powerpc-85xx-add-ws-ap3715i-support.patch @@ -40,10 +40,10 @@ image-$(CONFIG_MVME7100) += dtbImage.mvme7100 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper -@@ -328,6 +328,7 @@ adder875-redboot) +@@ -327,6 +327,7 @@ adder875-redboot) + binary=y ;; simpleboot-tl-wdr4900-v1|\ - simpleboot-ws-ap3710i|\ +simpleboot-ws-ap3715i|\ simpleboot-ws-ap3825i) platformo="$object/fixed-head.o $object/simpleboot.o" diff --git a/target/linux/mpc85xx/patches-5.15/110-powerpc-85xx-br200-wp-support.patch b/target/linux/mpc85xx/patches-5.15/110-powerpc-85xx-br200-wp-support.patch index ef05df34303..51968a0c915 100644 --- a/target/linux/mpc85xx/patches-5.15/110-powerpc-85xx-br200-wp-support.patch +++ b/target/linux/mpc85xx/patches-5.15/110-powerpc-85xx-br200-wp-support.patch @@ -53,5 +53,5 @@ ;; +simpleboot-br200-wp|\ simpleboot-tl-wdr4900-v1|\ - simpleboot-ws-ap3710i|\ simpleboot-ws-ap3715i|\ + simpleboot-ws-ap3825i) diff --git a/target/linux/mpc85xx/patches-5.15/111-powerpc-85xx-hpe-msm-support.patch b/target/linux/mpc85xx/patches-5.15/111-powerpc-85xx-hpe-msm-support.patch index 10ad4b98bdd..d9c2e83efa8 100644 --- a/target/linux/mpc85xx/patches-5.15/111-powerpc-85xx-hpe-msm-support.patch +++ b/target/linux/mpc85xx/patches-5.15/111-powerpc-85xx-hpe-msm-support.patch @@ -1,6 +1,6 @@ --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig -@@ -114,6 +114,17 @@ config FIREBOX_T10 +@@ -123,6 +123,17 @@ config FIREBOX_T10 This board is a VPN Gateway-Router with a Freescale P1010 SoC.