Matheus
947f4b4a06
initrd stub
2022-08-03 23:38:56 -03:00
Matheus
6ae75a9e99
create and mkdir funcs
...
file and directory creation functions for both the vfs and tmpfs
2022-08-03 22:05:11 -03:00
Matheus
2419b2e9e0
vfs filesystem mounting
2022-08-02 22:14:32 -03:00
Matheus
8d90e27f15
hashtable entrycount
2022-08-02 21:44:27 -03:00
Matheus
3653e01505
hashtable_set()
2022-07-31 14:18:13 -03:00
Matheus
151235694d
VFS stub
2022-07-30 22:51:07 -03:00
Matheus
0fcb602574
hashtable_destroy()
2022-07-29 21:04:44 -03:00
Matheus
f8d0c13520
hashtables
2022-07-29 18:27:50 -03:00
Matheus
a398c0b523
fix weird git bug
2022-07-29 17:05:36 -03:00
Matheus
f58b65c612
comment
2022-07-29 14:51:07 -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
f508798638
Create LICENSE
2022-07-27 22:51:47 -03:00
Matheus
eb043d8dd3
Rename README
2022-07-27 22:48:12 -03:00
Matheus
d10874a0bc
Add README
2022-07-27 22:42:46 -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
5decee2f70
remove some testing code I forgor about
2022-07-27 22:03:46 -03:00
Matheus
1919b38a64
Support lower half addresses on the VMM
2022-07-27 22:03:10 -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
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