PatchworkOS  c9fea19
A non-POSIX operating system.
Loading...
Searching...
No Matches
Initialization

Initialization and kmain(). More...

Collaboration diagram for Initialization:

Detailed Description

Initialization and kmain().

Modules

 Boot Information
 Kernel-side boot information handling.
 

Functions

_NORETURN void init_early (void)
 Early kernel initialization.
 
_NORETURN void kmain (void)
 Kernel main function.
 

Function Documentation

◆ init_early()

_NORETURN void init_early ( void  )

Early kernel initialization.

This will do the absolute minimum to get the scheduler running.

Having the scheduler running lets us load the boot thread which will jump to kmain() where we can do the rest of the kernel initialization.

Will be called in the _start() function found in start.s with interrupts disabled.

Definition at line 39 of file init.c.

Here is the call graph for this function:

◆ kmain()

_NORETURN void kmain ( void  )

Kernel main function.

This is the entry point for the boot thread. When init_early() jumps to the boot thread we will end up here. We then perform the rest of the kernel initialization here and start the init process.

Will never return, the boot thread will exit itself when done.

Definition at line 183 of file init.c.

Here is the call graph for this function:
Here is the caller graph for this function: