#=----------------------------------------------------------------------------=# # OS on Kaleid # # # # Desc: Project ChangeLog # # # # # # Copyright © 2018-2019 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 . # #=----------------------------------------------------------------------------=# 2018-10-00 @os-k-team Adrien Bourmault and Julian Barathieu started talking about making their own OS 2018-11-00 @os-k-team Name decided & creation of os-k.eu 2018-12-06 @os-k-team Actually started project, began MBR, decided directories organization, created this file and others 2018-12-08 @os-k-team * MBR : actually supports Long Mode Compatibility Verification * A20 line Enabling : added 2018-12-21 @os-k-team Boot in two stages * First stage : 512B MBR code that loads second stage loader from FAT16 * Second stage : enables A20, switches into lm and write colored text =D [...] Time Skip 2019-03-17 @os-k-team Migration to GRUB * Kernel : boots, prepared by the loader. Both are loaded by GRUB * Multiboot : chose to use v1 because the v2 lacks on documentation * Architecture Support : x86_64 ONLY 2019-03-25 @os-k-team Memory and terminal * Memory map and basic malloc function : functionnal * Buffer library : implemented for terminal * Stack : 8MB long and isn't anymore in conflict with the kernel space * sprintf functions : created 2019-04-09 @os-k-team * Terminal : now buffered (static) * Whole Project Tree : big reorganization * Makefile : suffered a lot, so we improved it * (KeStartPanic) : doesn't need to lock the terminal * Basic heap and memory allocator : created 2019-04-24 @os-k-team Interrupts and I/O * IDT, ISR exception handler : created * RTC time based ticks : created but buggy * Keyboard IRQ handling (TODO buffer BStdIn) : functionnal 2019-04-27 @os-k-team IDT Overhaul * IDT : can now register new IRQ handlers at runtime * Exception handler : crashdumps with registers * RTC time based ticks : functionnal 2019-05-06 @os-k-team IDT Overhaul * IDT : can now register new IRQ and Exception handlers at runtime * Exception handler : now called early 2019-05-07 @os-k-team * Exception handler : actual crashdumps register when panic * PC Speaker : we can emit a little beep, and we have some music * RTC : basic timer wait() 2019-05-08 @os-k-team * Shell : basic shell with some commands built-in (8) * Power management : implementation of shutdown on qemu, virtualbox etc * Terminal : actual scroll up and down 2019-05-14 @os-k-team * Whole Project Tree : big reorganization * Makefile : dependencies automated 2019-05-21 @os-k-team * VGA and Shell and bprintf: Color support * GDT : CS and TSS works * IDT : Double Fault and Stack Segment Fault have a separate stack * Stack : guard pages are now fully functionnal [...] Time Skip 2019-11-08 @os-k-team * Compilation process : beginning the modernization 2019-11-11 @os-k-team * Compilation process : "unrooting" and enhancing the compilation process scripts, multi-threading * ProjectTree : better tree, without useless stuff 2019-11-18 @os-k-team * PIT time based ticks : functionnal, with a sleep function * IDT : KeUnsmaskIRQ() function * RTC time based ticks : deprecated, but a delay function still exists * CPUID : the CPU frequency is detected without errors. SSE supported 2019-11-18 @os-k-team * FPU : floating point numbers are supported (todo in printf) 2019-12-00 @os-k-team * MakeFile : Better compilation process (esp. build of the img file) * Paging : Working on protection of .data, .rodata, .text segments * TSS : Special stack for ESR and ISR 2020-01-00 @os-k-team * Dynamic paging : Total rewriting of the paging functions, to adapt it to physical memory Also, base API to map and unmap pages * Page allocator : Possibility to allocate and map pages block (contiguous or not) * Keyboard : Total rewriting of the keyboard layout system, and new functionnalities * Shell : Command history, new keyboard system implemented * Acpi : just a beginning 2020-02-05 @os-k-team New member of our project : Antoine Cure is a new contributor 2020-02-06 @os-k-team * ACPI : Root table detected and FADT ready to be parsed * Shell : now prints a legal message * dmesg : the new command to print line of the new debug buffer ! 2020-02-12 @os-k-team * ACPI : DSDT, MCFG are now detected and parseable * PCI express : bus enumerating functionnal