Commit Graph

13 Commits

Author SHA1 Message Date
Drew Galbraith 6d108f6965 [Zion] Compile kernel with -Wall -Werror. 2023-11-26 22:07:52 -08:00
Drew Galbraith 8bedc80caf [Zion] Add a max depth to stack unwinds. 2023-11-24 15:04:19 -08:00
Drew Galbraith 941d7c8d59 [Zion] Add a way to unwind the stack and recover from user-space faults. 2023-11-22 18:25:08 -08:00
Drew Galbraith 96063126cb [Zion] Add task switching for SSE registers and enable them in userspace. 2023-11-21 15:52:17 -08:00
Drew Galbraith a1e1e1c2d8 [Zion] Enable SSE instructions at the start of boot.
These aren't ready to be used yet as we need to save them on task
switch.
2023-11-20 16:40:07 -08:00
Drew Galbraith 07e6e3028d [Zion] Access the KernelStackManager through the VMM. 2023-11-15 15:38:25 -08:00
Drew Galbraith e3a425e274 [zion] Use a separate stack for PF and GP faults in the kernel. 2023-08-01 23:11:12 -07:00
Drew Galbraith add533071b Use APIC for interrupts rather than PIC.
Still rely on the PIT for now rather than the local APIC timer.
2023-06-07 13:40:36 -07:00
Drew Galbraith 23895b5c6c Spawn Processes using memory primitives rather than and elf loader.
This allows us to remove the temporary syscall for that style of process
spawn.
2023-06-07 00:04:53 -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 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 91b52f1872 Move IO Port Function to a separate file 2023-05-17 20:26:51 -07:00