]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
x86: broadwell: Avoid initing the CPU twice
authorSimon Glass <sjg@chromium.org>
Thu, 7 Sep 2023 15:58:18 +0000 (09:58 -0600)
committerBin Meng <bmeng@tinylab.org>
Thu, 21 Sep 2023 22:03:46 +0000 (06:03 +0800)
When TPL has already set up the CPU, don't do it again. This existing
code actually has this backwards, so fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/broadwell/cpu.c

index 560b1f7893f695268bacd4857a3724c67339d1e8..cbd4a3b67973c46afa78c4b5e8b237e9a932682f 100644 (file)
@@ -11,6 +11,7 @@
 #include <event.h>
 #include <init.h>
 #include <log.h>
+#include <spl.h>
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
@@ -67,12 +68,11 @@ int arch_cpu_init(void)
 {
        post_code(POST_CPU_INIT);
 
-#ifdef CONFIG_TPL
        /* Do a mini-init if TPL has already done the full init */
-       return x86_cpu_reinit_f();
-#else
-       return x86_cpu_init_f();
-#endif
+       if (IS_ENABLED(CONFIG_TPL) && spl_phase() != PHASE_TPL)
+               return x86_cpu_reinit_f();
+       else
+               return x86_cpu_init_f();
 }
 
 int checkcpu(void)