From 3001d3c5d446bf53fc222640d49a4cc79e04a2f3 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 9 Jun 2024 19:34:46 +0200 Subject: [PATCH] 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 --- target/linux/mpc85xx/image/p1020.mk | 4 ++-- .../106-powerpc-85xx-ws-ap3710i-support.patch | 18 ++++++++++-------- ...7-powerpc-85xx-add-ws-ap3825i-support.patch | 8 ++++---- ...9-powerpc-85xx-add-ws-ap3715i-support.patch | 4 ++-- .../110-powerpc-85xx-br200-wp-support.patch | 2 +- .../111-powerpc-85xx-hpe-msm-support.patch | 2 +- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/target/linux/mpc85xx/image/p1020.mk b/target/linux/mpc85xx/image/p1020.mk index b9fb15ed93..1ec90a233d 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 1edc2aa56b..c189d695ab 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" - binary=y - ;; --simpleboot-tl-wdr4900-v1) -+simpleboot-tl-wdr4900-v1|\ -+simpleboot-ws-ap3710i) - platformo="$object/fixed-head.o $object/simpleboot.o" +@@ -331,6 +331,11 @@ simpleboot-tl-wdr4900-v1) link_address='0x1000000' binary=y + ;; ++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" + 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 3f05c906af..ddd16d369e 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 fe9abbb1e2..ad8f4840b9 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 ef05df3430..51968a0c91 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 10ad4b98bd..d9c2e83efa 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.