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
ed866b05a9
vmm_cacheheader firstfree
...
keep track of the first free entry of each cache to make searching quicker
2022-07-27 20:44:34 -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
4ea2880817
Organise the tree better
2022-07-25 22:22:22 -03:00
Matheus
81d7e7e84f
pmm_hhdmfree()
...
we had a pmm_hhdmalloc() but not a pmm_hhdmfree(), so that interface function is now implemented
2022-07-25 22:15:40 -03:00
Matheus
b183e72e2a
background for limine
2022-07-25 22:14:19 -03:00
Matheus
a4f7c23202
updated limine config to make things prettier
2022-07-25 22:13:25 -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
cd8d7dd227
fix small colour issue
2022-07-24 17:39:02 -03:00
Matheus
ecf639e30a
fix more glitches with the pmm
2022-07-23 21:11:34 -03:00
Matheus
2d7dca8b8a
pmm changes
2022-07-23 19:16:59 -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
21f353778d
spinlock change
...
add a pause instruction in order to not completely demolish the system bus in a lock
2022-07-23 00:13:01 -03:00
Matheus
33adf7036b
remove unused code
2022-07-22 21:30:06 -03:00
Matheus
8f24f480b1
spinlocks
2022-07-22 18:30:13 -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