Commit Graph

24 Commits

Author SHA1 Message Date
Matheus 151235694d VFS stub 2022-07-30 22:51:07 -03:00
Matheus f8d0c13520 hashtables 2022-07-29 18:27:50 -03:00
Matheus 61d1e17599 Initial slab implementation 2022-07-29 14:42:06 -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 c4a9e3a3fe remove TODO comment 2022-07-27 22:27:12 -03:00
Matheus 0f1222dd6d move spinlock.h
the implementation is more arch specific than anything. it has been placed under arch/include
2022-07-27 22:17:24 -03:00
Matheus 7bdacfbd7a add an ist to the bsp's gdt 2022-07-27 22:08:16 -03:00
Matheus 98bffdc753 remove TODO comment 2022-07-27 22:06:36 -03:00
Matheus b8b620bf1f uncomment code
it was commented for debugging and I forgot to uncomment it
2022-07-27 22:04:44 -03:00
Matheus 49fd56a28a code cleanup
made setpage() use the next() function
2022-07-27 21:10:02 -03:00
Matheus 605c87e85f arch_mmu_unmap() 2022-07-27 20:50:42 -03:00
Matheus 940c39c0de finish the vmm 2022-07-27 20:31:56 -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 7cb207d0c3 map kernel pdpts at arch_mmu_init() 2022-07-24 20:46:59 -03:00
Matheus 607b82ed6c change pointers used in function calls
change from void* to cls_t* as it makes more sense to be this way
2022-07-24 18:09:25 -03:00
Matheus 5213654224 x86_64 four level paging 2022-07-24 17:40:02 -03:00
Matheus 4d0d6347ad finish pmm 2022-07-23 13:52:09 -03:00
Matheus 1a509d02cf pmm stub 2022-07-23 01:06:12 -03:00
Matheus 7590d01d91 remove some warnings
gcc was rightfully complaining about a lack of functio ndefinitions related to initialising the bsp's idt and gdt
2022-07-22 18:27:03 -03:00
Matheus f6f6f650da x86_64 port IO
Added byte port IO with outb() and inb()
2022-07-22 17:58:26 -03:00
Matheus 9e3ac64248 More debugging to _panic()
Added a stack trace and a register dump
2022-07-22 17:04:13 -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
Matheus d13f17b509 gdt fixes
some values being put into entries were wrong
2022-07-22 00:26:31 -03:00
Matheus b44469a3e1 Initial commit 2022-07-21 22:50:12 -03:00