Init errors in SPL are currently ignored by this function.

Change the code to init the CPU, reporting an error if something is wrong.
After that, look for the coreboot table.

Signed-off-by: Simon Glass <s...@chromium.org>
---

(no changes since v1)

 arch/x86/cpu/coreboot/coreboot.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/x86/cpu/coreboot/coreboot.c b/arch/x86/cpu/coreboot/coreboot.c
index d7eedbd7436e..a0c62cce2293 100644
--- a/arch/x86/cpu/coreboot/coreboot.c
+++ b/arch/x86/cpu/coreboot/coreboot.c
@@ -20,7 +20,14 @@
 
 int arch_cpu_init(void)
 {
-       int ret = get_coreboot_info(&lib_sysinfo);
+       int ret;
+
+       ret = IS_ENABLED(CONFIG_X86_RUN_64BIT) ? x86_cpu_reinit_f() :
+                x86_cpu_init_f();
+       if (ret)
+               return ret;
+
+       ret = get_coreboot_info(&lib_sysinfo);
        if (ret != 0) {
                printf("Failed to parse coreboot tables.\n");
                return ret;
@@ -28,8 +35,7 @@ int arch_cpu_init(void)
 
        timestamp_init();
 
-       return IS_ENABLED(CONFIG_X86_RUN_64BIT) ? x86_cpu_reinit_f() :
-                x86_cpu_init_f();
+       return 0;
 }
 
 int checkcpu(void)
-- 
2.42.0.rc1.204.g551eb34607-goog

_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to