Commit Graph

163 Commits

Author SHA1 Message Date
Drew Galbraith fa2bb4df89 Added a PhysicalMemoryManager class.
Stores a linkedlist of free blocks of PhysicalMemory.
2023-05-18 11:34:45 -07:00
Drew Galbraith 4380590af2 Add new and delete operator implementations to the kernel heap.
For now delete does nothing.
2023-05-18 11:29:44 -07:00
Drew Galbraith 2d719d0443 Add a bootstrap physical memory manager.
This will allow the real physical memory manager to use allocations.
2023-05-18 11:00:05 -07:00
Drew Galbraith 747c2a4e17 Add a page fault handler 2023-05-18 10:59:45 -07:00
Drew Galbraith 0b7e667368 Add a basic kernel heap object.
Currently allocation always fails because we don't
have a way to allocate a physical page.
2023-05-18 10:59:39 -07:00
Drew Galbraith 45b5817a36 Recursively map the PML4 2023-05-18 02:00:01 -07:00
Drew Galbraith b3f8cb9003 Dump the memory map from limine.
Also adds the ability to print formatted messages.
2023-05-18 01:16:53 -07:00
Drew Galbraith 9fc1aa15ef Add an interrupt descriptor table.
Set up a very basic handler for divide by zero and
general protection faults.
2023-05-17 22:54:37 -07:00
Drew Galbraith 03fe4d8c2e Load our own GDT.
Replace the GDT from limine with our own.
2023-05-17 21:41:08 -07:00
Drew Galbraith 872e6f3392 Add a debug output utility. 2023-05-17 20:42:59 -07:00
Drew Galbraith 91b52f1872 Move IO Port Function to a separate file 2023-05-17 20:26:51 -07:00
Drew Galbraith a164d9d67c Boot directly into AcadiaOS 2023-05-17 20:26:20 -07:00
Drew Galbraith e9705f7579 Barebones Kernel Commit
Uses limine to boot off of a disk.
Outputs a character to the debug port.
2023-05-17 20:20:53 -07:00