xref: /aosp_15_r20/external/coreboot/src/cpu/intel/car/bootblock.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/bootblock.h>
4 #include <bootblock_common.h>
5 #include <cpu/x86/bist.h>
6 #include <stdint.h>
7 
8 static uint32_t saved_bist;
9 
bootblock_c_entry_bist(uint64_t base_timestamp,uint32_t bist)10 asmlinkage void bootblock_c_entry_bist(uint64_t base_timestamp, uint32_t bist)
11 {
12 	saved_bist = bist;
13 	/* Call lib/bootblock.c main */
14 	bootblock_main_with_basetime(base_timestamp);
15 }
16 
bootblock_early_northbridge_init(void)17 void __weak bootblock_early_northbridge_init(void) { }
bootblock_early_southbridge_init(void)18 void __weak bootblock_early_southbridge_init(void) { }
bootblock_early_cpu_init(void)19 void __weak bootblock_early_cpu_init(void) { }
20 
bootblock_soc_early_init(void)21 void bootblock_soc_early_init(void)
22 {
23 	bootblock_early_northbridge_init();
24 	bootblock_early_southbridge_init();
25 	bootblock_early_cpu_init();
26 }
27 
bootblock_soc_init(void)28 void bootblock_soc_init(void)
29 {
30 	/* Halt if there was a built in self test failure */
31 	report_bist_failure(saved_bist);
32 }
33