Matheus
ce474c670b
vmm: dealwithrequest returns an errno rather than a bool
2022-12-13 23:43:26 -03:00
Matheus
715ecb7140
Makefiles: fix several bad OBJPATHs
2022-11-21 20:20:43 -03:00
Matheus
e550d94c91
vmm: fix request edge case in multithreaded applications
2022-11-21 20:02:01 -03:00
Matheus
72504f3598
vmm: vmm_tophyical()
2022-10-24 15:37:37 -03:00
Matheus
729b025b19
sockets: actually use socklen_t
2022-10-22 23:41:11 -03:00
Matheus
813ab0060c
file mapping stub
2022-10-22 10:58:43 -03:00
Matheus
95b5c6d1f0
vmm: fix mmuflags not being set on split
2022-10-13 19:41:54 -03:00
Matheus
f084193f39
syscalls: munmap
2022-10-12 18:42:22 -03:00
Matheus
0e4c9e17bf
vmm: destroy context
2022-10-11 23:32:12 -03:00
Matheus
144ad8cacf
pmm: optimization
2022-10-11 23:26:47 -03:00
Matheus
3c3dfc8f39
vmm: address space forking
2022-09-19 18:42:05 -03:00
Matheus
b3f0ca7cd6
vmm: properly release lock on request failure
2022-09-11 12:53:41 -03:00
Matheus
001f387363
vmm: update thread ctx on context change
2022-09-09 18:18:47 -03:00
Matheus
023937809d
bugfixes, change types.h to be linux abi, stat system call
2022-08-23 19:44:18 -03:00
Matheus
df9977b7db
make pagealloc zero memory
2022-08-20 13:26:31 -03:00
Matheus
1ed7aafa46
properly zero memory on demand paging and mmap
2022-08-20 00:01:54 -03:00
Matheus
f04d4b5a31
page allocator for alloc()
2022-08-19 22:11:06 -03:00
Matheus
4de0ff2556
gettid syscall, fix issues with vmm and mmap syscall
2022-08-18 22:12:51 -03:00
Matheus
0984a6458d
fix several issues relating to elf and registers and add mmap
2022-08-18 17:53:09 -03:00
Matheus
261d7d3743
elf loading and userland
2022-08-14 20:19:38 -03:00
Matheus
33a516a611
user thread/process and elf loader stub
2022-08-13 23:16:34 -03:00
Matheus
b2d8e5a166
devman initial implementation
2022-08-07 17:53:31 -03:00
Matheus
50243cc540
fix stupid pmm glitch and compilation failure
2022-08-07 00:36:50 -03:00
Matheus
fa1b35bf18
basic apic + fix some stupid issues
...
created an initial stub implementation of the apic driver, added the madt to acpi, fixed an issue with the strncmp, made the pmm set only free pages rather than used ones
2022-08-05 23:33:54 -03:00
Matheus
28710b6aa8
Fix a few issues
...
Panics in a few ISRs did not include registers. Removed a dot in panic string. Fixed an issue that would cause the system to page fault inside the vmm_dealwithrequest() function.
2022-08-04 19:28:20 -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
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
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
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
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
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