Drew Galbraith
|
629dca278b
|
Enable the PIC and add a timer.
This causes a GP fault after the timer runs for some time.
|
2023-05-29 21:52:01 -07:00 |
Drew Galbraith
|
7184f527a0
|
Jump to user mode.
This instantly creates a page fault as we always map pages with ring 0
permissions.
|
2023-05-29 13:06:08 -07:00 |
Drew Galbraith
|
aefb4f082b
|
Add a kernel ELF module and load it in a new process.
Don't yet jump to userspace.
|
2023-05-29 00:32:54 -07:00 |
Drew Galbraith
|
f86bbe6ea9
|
Wireframe for syscalls in place
|
2023-05-18 16:03:09 -07:00 |
Drew Galbraith
|
cb41953354
|
Scheduler with working threads.
Currently only one process but it is a start.
|
2023-05-18 13:24:02 -07:00 |
Drew Galbraith
|
960cbf9519
|
Add Scheduler wireframe.
Right now does nothing but has containing classes for process and thread
information.
|
2023-05-18 12:43:53 -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
|
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
|
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 |