From: Simon Glass <sjg@chromium.org>
Date: Sun, 15 Jan 2023 21:15:40 +0000 (-0700)
Subject: sandbox: Bring back setting mon_len in global_data
X-Git-Tag: v2025.01-rc5-pxa1908~1110^2~22
X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/html/%7B%7B%20%24image.RelPermalink%20%7D%7D?a=commitdiff_plain;h=2c88d5e110517ba7565b33eb8bfabb0ae0885eab;p=u-boot.git

sandbox: Bring back setting mon_len in global_data

This change was made for the benefit of RISC-V but broke other
architectures also. In particular, tracing cannot work without this value.
Add it back for architectures which support it.

Fixes: 3c9fc23c443 ("sandbox: don't refer to symbol _init")
Signed-off-by: Simon Glass <sjg@chromium.org>
---

diff --git a/common/board_f.c b/common/board_f.c
index 2b4edf30c9..f3c1ab53b1 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -290,7 +290,10 @@ static int setup_mon_len(void)
 {
 #if defined(__ARM__) || defined(__MICROBLAZE__)
 	gd->mon_len = (ulong)&__bss_end - (ulong)_start;
+#elif defined(CONFIG_SANDBOX) && !defined(__riscv)
+	gd->mon_len = (ulong)&_end - (ulong)_init;
 #elif defined(CONFIG_SANDBOX)
+	/* gcc does not provide _init in crti.o on RISC-V */
 	gd->mon_len = 0;
 #elif defined(CONFIG_EFI_APP)
 	gd->mon_len = (ulong)&_end - (ulong)_init;