os-k/docs/boot/loader/loader.desc

38 lines
2.1 KiB
Plaintext

#=----------------------------------------------------------------------------=#
# OS on Kaleid Documentation #
# #
# Desc: OS/K Loader #
# #
# #
# Copyright © 2018-2020 The OS/K Team #
# #
# Permission is granted to copy, distribute and/or modify this #
# document under the terms of the GNU Free Documentation License, #
# Version 1.3 or any later version published by the Free Software #
# Foundation; with no Invariant Sections, no Front-Cover Texts, and #
# no Back-Cover Texts. A copy of the license is included in the #
# file entitled "COPYING.GFDL" #
#=----------------------------------------------------------------------------=#
This folder contains the source for OS/K's early loader.
OS/K being intended to only run on x86-64 systems, we have not divided
this folder into one sub-folder per architecture.
The bootloader itself is external to the OS/K project. We are using GRUB 2
to load our kernel loader in memory.
The kernel loader, that we call the loader, is the main subject of this
folder. This loader is linked whith the kernel and loaded by Grub at the
specified address and prepare it for the hard work it have to do :
- Check the multiboot state.
- Check if CPUID and long mode is supported.
- Send a structure for it with memory map, cpu infos, and other devices
infos, prepared by GRUB.
- Switch into long mode.
- Jump to Kaleid kernel.
Our loader contains the multiboot header used by GRUB to check if the kernel
can be started with the multiboot method. We use an ELF multiboot format, because
it is more convenient.