12 Commits

Author SHA1 Message Date
9c92b3de4b core: Add priority-based scheduling 2025-02-17 20:15:30 +01:00
6be2261519 core: Store the physical page directory alongside the virtual pointer to it 2025-02-16 13:20:02 +01:00
671a9b5887 core: Add PIT timer code to preempt the scheduler 2025-02-16 11:58:01 +01:00
a209ba7b99 core: Allocate a stack for each core's idle thread 2025-02-16 11:57:27 +01:00
ed324fcf9e core: Add basic threading code 2025-02-15 22:45:32 +01:00
fa04363a51 core/x86_64: Set up a second stack in the TSS to handle system calls 2025-02-15 22:40:48 +01:00
56f2c018a7 core: Fix a couple of bugs in VMM and add a few utility functions 2025-02-15 22:23:00 +01:00
f93158645b core/x86_64: Enable the NX bit before using it
Spent an embarrassing amount of time trying to figure out why there was a page fault with "reserved bits set". Turns out, I had set the NX bit without enabling it.
2025-02-15 22:22:04 +01:00
36b9832053 core/x86_64: Add general protection fault handler 2025-02-15 22:19:08 +01:00
adffd408bc core: Add a page fault handler 2025-02-15 15:18:40 +01:00
8d70a0f0a1 core: Enable interrupts in platformEndInit()
This way, each architecture can re-enable interrupts whenever necessary
2025-02-15 15:18:24 +01:00
13ec4bee87 Ready. Set. Go!
Microkernel development in Zig, should be fun! =]
2025-02-13 22:39:48 +01:00