coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /*
4  * Entry points must be placed at the location the previous stage jumps
5  * to (the lowest address in the stage image). This is done by giving
6  * stage_entry() its own section in .text and placing it first in the
7  * linker script.
8  */
9 
10 #include <arch/stages.h>
11 #include <arch/smp/smp.h>
12 #include <mcall.h>
13 
14 void stage_entry(int hart_id, void *fdt)
15 {
16  HLS()->hart_id = hart_id;
17  HLS()->fdt = fdt;
18  smp_pause(CONFIG_RISCV_WORKING_HARTID);
19 
20  main();
21 }
void main(void)
Definition: romstage.c:13
void stage_entry(int hart_id, void *fdt)
Definition: romstage.c:14
#define HLS()
Definition: mcall.h:63
void smp_pause(int working_hartid)
Definition: smp.c:10