Commit Graph

16 Commits

Author SHA1 Message Date
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 1ed7aafa46 properly zero memory on demand paging and mmap 2022-08-20 00:01:54 -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 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 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