[PATCH v2 1/1] arm: Add SPL build check to SPL early bss clear
Brian Moyer
bdm310 at gmail.com
Sun Jul 26 22:17:53 CEST 2020
SPL_CLEAR_BSS is called regardless of build type if
CONFIG_SPL_EARLY_BSS is defined. Add a guard for CONFIG_SPL_BUILD
to fix.
Signed-off-by: Brian Moyer <bdm310 at gmail.com>
---
Changes in v2:
- Adding a check to the first SPL_CLEAR_BSS resulted in BSS never
getting cleared for u-boot proper. Added an or condition to the
second call.
- SPL_CLEAR_BSS is the only bss clearing operation. Renamed to
just CLEAR_BSS for clarity.
arch/arm/lib/crt0.S | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index df9dd83e40..46b6be21a8 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -64,7 +64,7 @@
* can afford it due to sufficient memory being available early.
*/
-.macro SPL_CLEAR_BSS
+.macro CLEAR_BSS
ldr r0, =__bss_start /* this is auto-relocated! */
#ifdef CONFIG_USE_ARCH_MEMSET
@@ -109,8 +109,8 @@ ENTRY(_main)
mov r9, r0
bl board_init_f_init_reserve
-#if defined(CONFIG_SPL_EARLY_BSS)
- SPL_CLEAR_BSS
+#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_EARLY_BSS)
+ CLEAR_BSS
#endif
mov r0, #0
@@ -150,8 +150,8 @@ here:
#endif
#if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(FRAMEWORK)
-#if !defined(CONFIG_SPL_EARLY_BSS)
- SPL_CLEAR_BSS
+#if !defined(CONFIG_SPL_BUILD) || !defined(CONFIG_SPL_EARLY_BSS)
+ CLEAR_BSS
#endif
# ifdef CONFIG_SPL_BUILD
--
2.17.1
More information about the U-Boot
mailing list