theCore C++ embedded framework
sys.cpp File Reference

theCore system initialization module. More...

#include <stdint.h>
#include <stddef.h>
#include <common/irq.hpp>
#include <common/console.hpp>
#include <common/execution.hpp>
Include dependency graph for sys.cpp:

Namespaces

 std
 

Macros

#define STACK_CHK_GUARD   0xe2dee396
 

Functions

void operator delete (void *) noexcept
 
void operator delete (void *, unsigned int) noexcept
 
 __attribute__ ((noreturn)) void __stack_chk_fail(void)
 
int atexit (void(*func)(void))
 
int __cxa_guard_acquire (int *gv)
 
void __cxa_guard_release (int *gv)
 
void platform_init ()
 
void board_init ()
 
void kernel_main ()
 
int main ()
 
void core_main ()
 Lowest level C-routine inside the Core. More...
 
void early_main ()
 Early-main routine performs final initialization steps. More...
 
void __cxa_pure_virtual ()
 
void std::__throw_bad_function_call ()
 

Variables

uintptr_t __stack_chk_guard = STACK_CHK_GUARD
 

Detailed Description

theCore system initialization module.

Macro Definition Documentation

◆ STACK_CHK_GUARD

#define STACK_CHK_GUARD   0xe2dee396

Function Documentation

◆ operator delete() [1/2]

void operator delete ( void *  )
noexcept

◆ operator delete() [2/2]

void operator delete ( void *  ,
unsigned  int 
)
noexcept

◆ __attribute__()

__attribute__ ( (noreturn)  )

◆ atexit()

int atexit ( void(*)(void)  func)

◆ __cxa_guard_acquire()

int __cxa_guard_acquire ( int *  gv)
Here is the call graph for this function:

◆ __cxa_guard_release()

void __cxa_guard_release ( int *  gv)
Here is the call graph for this function:

◆ board_init()

void board_init ( )

◆ kernel_main()

void kernel_main ( )
Here is the call graph for this function:

◆ main()

int main ( )

◆ core_main()

void core_main ( )

Lowest level C-routine inside the Core.

Performs essential initialization before construction of C++ objects and kernel initialization.

Here is the call graph for this function:

◆ early_main()

void early_main ( )

Early-main routine performs final initialization steps.

All global objects must be constructed before entering user's main routine. Kernel in responsible for calling early_main() after it (kernel) will be completely ready.

Todo:
Consider specifying it with noreturn attribute.
Here is the call graph for this function:

◆ __cxa_pure_virtual()

void __cxa_pure_virtual ( )

Variable Documentation

◆ __stack_chk_guard

uintptr_t __stack_chk_guard = STACK_CHK_GUARD