mpc85xx: copy missing patch from 5.15 to 6.1
authorPawel Dembicki <paweldembicki@gmail.com>
Wed, 13 Mar 2024 12:13:51 +0000 (13:13 +0100)
committerRobert Marko <robimarko@gmail.com>
Sun, 24 Mar 2024 20:20:46 +0000 (21:20 +0100)
patch 150-arch-powerpc-simpleboot-prevent-overwrite-of-CPU1-sp.patch
was missed durring copy from 5.15 to 6.1.

This patch restore it.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
target/linux/mpc85xx/patches-6.1/150-arch-powerpc-simpleboot-prevent-overwrite-of-CPU1-sp.patch [new file with mode: 0644]

diff --git a/target/linux/mpc85xx/patches-6.1/150-arch-powerpc-simpleboot-prevent-overwrite-of-CPU1-sp.patch b/target/linux/mpc85xx/patches-6.1/150-arch-powerpc-simpleboot-prevent-overwrite-of-CPU1-sp.patch
new file mode 100644 (file)
index 0000000..1ff80a5
--- /dev/null
@@ -0,0 +1,41 @@
+From 5f856ccc34df25060d36a5a81b7b45b574d86e35 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Sun, 3 Dec 2023 20:09:24 +0100
+Subject: [PATCH] arch: powerpc: simpleboot: prevent overwrite of CPU1
+ spin-table
+
+Don't overwrite the spin-table of additional CPU cores with loader-heap.
+
+U-Boot places the spin-table for CPU1 on P1020 SoCs in the top 1MB of
+system-memory. Instead of parsing reserved-memory (which would be
+considerable more work), reduce the available system-memory for the
+loader by 1MB.
+
+This prevents the loader from overwriting the spin-table of
+additional CPU cores on these platforms.
+
+Linux itself needs to be made aware by this using reserved-memory
+definitions.
+
+This patch is required for using CPU1 on the Extreme Networks
+WS-AP3825i.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ arch/powerpc/boot/simpleboot.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/arch/powerpc/boot/simpleboot.c
++++ b/arch/powerpc/boot/simpleboot.c
+@@ -65,6 +65,11 @@ void platform_init(unsigned long r3, uns
+       if (sizeof(void *) == 4 && memsize64 >= 0x100000000ULL)
+               memsize64 = 0xffffffff;
++      /* Reserve upper 1 MB of memory for CPU1 spin-table */
++      if (memsize64 > 0x100000) {
++              memsize64 = memsize64 - 0x100000;
++      }
++
+       /* finally, setup the timebase */
+       node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
+                                            "cpu", sizeof("cpu"));