x86: coreboot: Rearrange arch_cpu_init()

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 <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass 2023-09-19 21:00:04 -06:00 committed by Bin Meng
parent 04ecda0e1d
commit 2c6b979ec1

View file

@ -21,7 +21,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;
@ -29,8 +36,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)