Commit Graph

33 Commits

Author SHA1 Message Date
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