/ src / cpu / intel / car / bootblock.c
bootblock.c
 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  
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  
17  void __weak bootblock_early_northbridge_init(void) { }
18  void __weak bootblock_early_southbridge_init(void) { }
19  void __weak bootblock_early_cpu_init(void) { }
20  
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  
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  }