Handout
This commit is contained in:
35
kernel/boot/startup.h
Normal file
35
kernel/boot/startup.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*! \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();
|
||||
Reference in New Issue
Block a user