mpc85xx: fix WS-AP3710i boot
authorDavid Bauer <mail@david-bauer.net>
Sun, 9 Jun 2024 17:34:46 +0000 (19:34 +0200)
committerDavid Bauer <mail@david-bauer.net>
Mon, 10 Jun 2024 01:37:03 +0000 (03:37 +0200)
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 <mail@david-bauer.net>
target/linux/mpc85xx/image/p1020.mk
target/linux/mpc85xx/patches-5.15/106-powerpc-85xx-ws-ap3710i-support.patch
target/linux/mpc85xx/patches-5.15/107-powerpc-85xx-add-ws-ap3825i-support.patch
target/linux/mpc85xx/patches-5.15/109-powerpc-85xx-add-ws-ap3715i-support.patch
target/linux/mpc85xx/patches-5.15/110-powerpc-85xx-br200-wp-support.patch
target/linux/mpc85xx/patches-5.15/111-powerpc-85xx-hpe-msm-support.patch

index b9fb15ed93211060064a0f2583c6e4635b28432c..1ec90a233d9c5dae3991c770c58798e133247b60 100644 (file)
@@ -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
index 1edc2aa56bd9dbaaaffa6449f0cb5c8e38f356e4..c189d695abf9d6050c729b7b345e64ab87b6df1c 100644 (file)
  
 --- 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
index 3f05c906af8390261413321f9ef1318ba739dcff..ddd16d369e815acedceec1df03d2ecd97ec4a562 100644 (file)
@@ -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'
index fe9abbb1e2fd8294d935803d8135b3dc218ff409..ad8f4840b9897559e15bb4e842ac9d925a7def3d 100644 (file)
  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"
index ef05df3430371e8a33d6c88b55b0d2457538edfc..51968a0c91533aa57b1f0b35ce823ef82492b7c0 100644 (file)
@@ -53,5 +53,5 @@
      ;;
 +simpleboot-br200-wp|\
  simpleboot-tl-wdr4900-v1|\
- simpleboot-ws-ap3710i|\
  simpleboot-ws-ap3715i|\
+ simpleboot-ws-ap3825i)
index 10ad4b98bdd083ca406197264c8005b0bb64472b..d9c2e83efa850cf2ecc933f0ddd25e75025d0ffa 100644 (file)
@@ -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.