Files
bsb2/kernel/boot/startup.h
Niklas Gollenstede 174fe17e89 Handout
2025-10-31 22:37:36 +01:00

36 lines
962 B
C

/*! \file
* \brief Startup of the first core, also known as bootstrap processor (BSP)
* \defgroup Startup "Bootloader and system startup"
*
*/
#pragma once
#include "../types.h"
/*! \brief Entry point of your kernel
*
* \ingroup Startup
*
* Executed by boot loader.
* Stores Pointer to \ref Multiboot information structure,
* initializes stack pointer,
* switches to long mode
* and finally calls the C++ \ref kernel_init function
*/
extern "C" void startup_bsp();
/*! \brief Initializes the C++ environment and detects system components
*
* \ingroup Startup
*
* The startup code TEMPLATE(m){(both for \ref startup_bsp "bootstrap" and \ref
* startup_ap "application processor")} jumps to this high level function. After
* initialization it will call \ref main()
*/
extern "C" [[noreturn]] void kernel_init();
/*! \brief Kernels main function
*
* Called after initialization of the system by \ref kernel_init()
*/
extern "C" int main();