StuBS
startup.h File Reference

Startup of the first core, also known as bootstrap processor (BSP) More...

#include "compiler/fix.h"
Include dependency graph for startup.h:

Functions

void startup_bsp () ERROR_ON_CALL("The kernel entry point shall never be called from your code!")
 Entry point of your kernel. More...
 
void kernel_init () ERROR_ON_CALL("The kernel init function shall never be called from your code!")
 Initializes the C++ environment and detects system components. More...
 
int main ()
 Kernels main function. More...
 
int main_ap ()
 Entry point for application processors. More...
 

Detailed Description

Startup of the first core, also known as bootstrap processor (BSP)

Function Documentation

◆ startup_bsp()

void startup_bsp ( )

Entry point of your kernel.

Executed by boot loader. Stores Pointer to Multiboot information structure, initializes stack pointer, switches to long mode and finally calls the C++ kernel_init function

◆ kernel_init()

void kernel_init ( )

Initializes the C++ environment and detects system components.

The startup code(both for bootstrap and application processor) jumps to this high level function. After initialization it will call main() or main_ap() respectively

◆ main()

int main ( )

Kernels main function.

Called after initialization of the system by kernel_init()

Note
This code will only be executed on the booting CPU (i.e., the one with ID 0).

◆ main_ap()

int main_ap ( )

Entry point for application processors.

Called after initialization of the system by kernel_init()

Note
Code in this function will be executed on all APs (i.e., all CPUs except ID 0)