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