1
0
mirror of https://gitlab.os-k.eu/os-k-team/os-k.git synced 2023-08-25 14:03:10 +02:00

Ready to be completed

This commit is contained in:
Adrien Bourmault 2020-02-20 22:10:03 +01:00
parent 5779dd497b
commit 209a778837
No known key found for this signature in database
GPG Key ID: AFEE5788AEE3F4EC
3 changed files with 25 additions and 46 deletions

View File

@ -69,3 +69,19 @@
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
#=----------------------------------------------------------------------------=#
# GNU GPL OS/K Documentation #
# #
# Desc: Summary and some description #
# #
# #
# 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" #
#=-----------------------------------------------------------------------------#

View File

@ -1,41 +0,0 @@
#=----------------------------------------------------------------------------=#
# GNU GPL OS/K #
# #
# Desc: Folder description - "boot" #
# #
# #
# Copyright © 2018-2020 The OS/K Team #
# #
# This file is part of OS/K. #
# #
# OS/K is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# any later version. #
# #
# OS/K is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
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

View File

@ -23,14 +23,18 @@ this documentation under the terms of the GFDL.
This documentation is divided between two main sections :
- The kernel loader, in the `docs/boot` folder, which describes the technical
features of the source code located under the `boot` folder.
- The kernel loader, in the `docs/boot` folder, which describes the
technical features of the source code located under the `boot` folder.
- The kaleid code base, in the `docs/kaleid` folder, which describes the
source code of the kernel drivers, the kernel itself, the buffer library and the
C standard library, respectively located under the `kaleid/drivers`,
`kaleid/kernel`, `kaleid/libbuf`, `kaleid/libc` folders.
Under these directories, each file represents a source code subfolder. For
example : `docs/kaleid/kernel/io` file describes the `kaleid/kernel/io`
folder.
Under these directories, each file represents a terminal source code
subfolder. For example : `docs/kaleid/kernel/io` file describes the
`kaleid/kernel/io` folder that contains C source files.
If a non terminal subfolder is to be described, a description file can be
created by creating a file with the name of the folder, followed by a ".desc"
extension, inside this folder.