From: Simon Glass <sjg@chromium.org>
Date: Wed, 29 Dec 2021 18:57:54 +0000 (-0700)
Subject: x86: efi: Don't set up global_data again with EFI
X-Git-Tag: v2025.01-rc5-pxa1908~1591^2~2^2
X-Git-Url: http://git.dujemihanovic.xyz/img/static/gitweb.css?a=commitdiff_plain;h=86bb48880d75653d692cd02edb81888a2ed2dbb2;p=u-boot.git

x86: efi: Don't set up global_data again with EFI

Since EFI does not relocate and uses the same global_data pointer
throughout the board-init process, drop this unnecessary setup, to avoid
a hang.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---

diff --git a/common/board_r.c b/common/board_r.c
index 6d520662db..760c2d05ed 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -841,9 +841,8 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
 	 * TODO(sjg@chromium.org): Consider doing this for all archs, or
 	 * dropping the new_gd parameter.
 	 */
-#if CONFIG_IS_ENABLED(X86_64)
-	arch_setup_gd(new_gd);
-#endif
+	if (CONFIG_IS_ENABLED(X86_64) && !IS_ENABLED(CONFIG_EFI_APP))
+		arch_setup_gd(new_gd);
 
 #ifdef CONFIG_NEEDS_MANUAL_RELOC
 	int i;