From 7c45406c238361ebb5777b4a9d2a3afc40e5adbf Mon Sep 17 00:00:00 2001 From: Sebastiaan de Schaetzen Date: Mon, 23 Feb 2026 11:05:41 +0100 Subject: [PATCH] Add PIC handling (human) --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 99d4a93..1359432 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,9 @@ Once a task is completed, it should be checked off. - [x] Create initial build system - [x] Setup a simple kernel that writes `Hello, world` to Qemu debug port - [x] Update the build system to create both ISO and Floppy images. Verify these work using a test script. The standard CMake build target should automatically generate both images. (Only ISO supported for now) -- [ ] Update the kernel to correctly setup the GDT -- [ ] Create an interrupt handler. +- [x] Update the kernel to correctly setup the GDT +- [x] Create an interrupt handler. +- [ ] Implement a PIC handler - [ ] Create a physical memory allocator and mapper. The kernel should live in the upper last gigabyte of virtual memory. It should support different zones (e.g.: `SUB_16M`, `DEFAULT`, ...) These zones describe the region of memory that memory should be allocated in. If it is not possible to allocate in that region (because it is full, or has 0 capacity to begin with), it should fallback to another zone. - [ ] Create a paging subsystem. It should allow drivers to allocate and deallocate pages at will. - [ ] Create a memory allocator. This should provide the kernel with `malloc` and `free`. Internally, it should use the paging subsystem to ensure that the address it returns have actual RAM paged to them.