Commit Graph

16 Commits

Author SHA1 Message Date
Matheus bedd2f625e interrupts: simd exception 2022-09-23 21:36:37 -03:00
Matheus 3f18b6e392 isr: add the same ss fix as in the push 2022-09-19 18:35:14 -03:00
Matheus f423acaedd x86_64 isr: don't rely on the value of rbp 2022-09-11 14:41:02 -03:00
Matheus c91e3cd12d ps2kbd: initial implementation 2022-09-08 18:06:17 -03:00
Matheus a40cda2b50 idt: have interrupts be disabled before swapgs 2022-08-27 21:05:03 -03:00
Matheus 0984a6458d fix several issues relating to elf and registers and add mmap 2022-08-18 17:53:09 -03:00
Matheus df2e7b1c34 fix stupid bugs
strcmp was funky, added a few guard checks to hashtable, added error printing to initrd and fixed swapgs (again) in isr.asm
2022-08-16 20:37:45 -03:00
Matheus 7a540ca1e1 fix elf stack issues and interrupt gsbase stuff 2022-08-16 19:12:16 -03:00
Matheus 432e85b837 system calls 2022-08-15 21:52:57 -03:00
Matheus e7f4245c6d kernel threads
kernel threads and preemptive multitasking
2022-08-13 15:26:12 -03:00
Matheus ab2bd69481 semaphores 2022-08-12 16:35:27 -03:00
Matheus c565bc006f apic ipis, scheduler stub, crappy and slow tlb shootdown 2022-08-09 23:53:39 -03:00
Matheus 1a2486cadd scheduler timer
abstraction of a timer that is local to each cpu and is used for scheduling
2022-08-07 12:50:17 -03:00
Matheus a316d054f5 Unify the arch_regs structs
I was doing something stupid and keeping a separate version for the cpu registers. oh well, I fixed it now
2022-07-29 09:40:49 -03:00
Matheus f1d3126990 Add a WIP VMM
As of now the VMM (pretty much a doubly linked list of regions) supports allocating and demand paging. still no deallocation though so if you allocate something you can't free it yet :')
2022-07-27 00:39:55 -03:00
Matheus cae7428ed0 Panic and interrupts
Added a basic kernel panic function and interrupt support for x86_64 (mostly for exception handling)
2022-07-22 00:34:44 -03:00