[PATCH v2 1/2] ARM: setupc_32: remove relocation code from setup_c

Sascha Hauer s.hauer at pengutronix.de
Wed Mar 11 12:08:26 PDT 2026


On Wed, Mar 11, 2026 at 03:41:04PM +0100, Ahmad Fatoum wrote:
> Hello Sascha,
> 
> On 3/4/26 8:53 AM, Sascha Hauer wrote:
> > All callers of setup_c() already call relocate_to_current_adr() or
> > relocate_to_adr() before setup_c(), so the relocation (memcpy) code
> > in setup_c is dead and also the sync_caches_for_execution() is unnecessary
> > Remove it and reduce setup_c to just clearing BSS.
> 
> David reports this breaks his enclustra-sa2 and I observe also a hang on
> Qemu Virt:
> 
> $ make multi_v7_defconfig
> $ pytest --interactive
> Using -bios device tree at 40000000
> <hang>
> 
> Please drop from next, it's likely also what's breaking CI.

r4 should be restored before returning. Let's try again with the fix
below.

Sascha

---------------------------8<------------------------------

>From 139e75d06150896add0555f2164dac0c7f90e644 Mon Sep 17 00:00:00 2001
From: Sascha Hauer <s.hauer at pengutronix.de>
Date: Wed, 11 Mar 2026 20:02:58 +0100
Subject: [PATCH] fixup! ARM: setupc_32: remove relocation code from setup_c

---
 arch/arm/cpu/setupc_32.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/setupc_32.S b/arch/arm/cpu/setupc_32.S
index c2c3f97528..c3e53b220e 100644
--- a/arch/arm/cpu/setupc_32.S
+++ b/arch/arm/cpu/setupc_32.S
@@ -10,13 +10,13 @@
  * setup_c: clear bss
  */
 ENTRY(setup_c)
-       mov     r4, lr
+       push    {r4, lr}
        ldr     r0, =__bss_start
        mov     r1, #0
        ldr     r2, =__bss_stop
        sub     r2, r2, r0
        bl      __memset                /* clear bss */
-       ret     r4
+       pop     {r4, pc}
 ENDPROC(setup_c)
 
 /*
-- 
2.47.3
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list