matos/docs/1_system_startup.md

9 lines
632 B
Markdown
Raw Normal View History

2022-07-29 00:16:57 +02:00
# System Startup
The Matos operating system is supposed to be started unsing a bootloader that is [multiboot](https://www.gnu.org/software/grub/manual/multiboot/multiboot.html) compatible.
As such, it can receive some information about the host such as memory size, layout, video mode supported ...
When the booloader is ready, it will call the `_start` function as it is described as the entry point by the `linker.ld`.
The `_start` function is defined in ASM under the `arch/$ARCH/boot/boot.S` directory.
It will setup the stack and few other things like the bss section before calling the `kmain()` function from `core/main.c`