Commit Graph

59 Commits

Author SHA1 Message Date
Matheus a6c169e5e6 kernel: finish work of removing interruptible mutexes 2024-12-24 21:30:25 -03:00
Matheus b1aff6378f vmm: on anonymous copy-on-write, just map the page if refcount is 1 2024-09-24 23:25:53 -03:00
Matheus c76b37693b vmm: allow vmm_getphysical to return a page held 2024-09-18 21:27:36 -03:00
Matheus d5a4f2a4ad vmmcache: redo how vnode locking is expected 2024-09-18 18:03:07 -03:00
Matheus 5ef9fb0cb3 vmm: fix logic errors 2024-09-16 22:18:13 -03:00
Matheus f47236f7eb vmm: redo tlb shootdowns 2024-09-16 21:37:10 -03:00
Matheus 0a49ca75b5 mmu: arch_mmu_invalidate() -> arch_mmu_invalidate_range() 2024-09-16 17:34:05 -03:00
Matheus 32392573cc cpu: change all _cpu()->vmmctx to current_vmm_context 2024-09-15 18:07:05 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus ee254a81e9 vfs: vfs_iscacheable 2024-09-04 21:33:59 -03:00
Matheus 0f18341674 kernel: vmm_changemmuflags cred check 2024-08-30 21:22:17 -03:00
Matheus e442a3de8e vmm: redo changemmurange and make it dirty pages when applicable 2024-08-30 20:20:41 -03:00
Matheus 42bda0bf92 vfs: redo locking 2024-08-26 21:47:23 -03:00
Matheus f8a5d9426b vmm: send SIGBUS on vmm OOM 2024-08-21 23:52:14 -03:00
Matheus dd75dc2d87 vmm: vmm_changemmuflags 2024-08-21 21:33:29 -03:00
Matheus dfb75e78fc vmm: fix vmm_getphysical 2024-08-10 22:42:05 -03:00
Matheus d310764085 vmm: VMM_FLAGS_REPLACE 2024-08-10 22:41:29 -03:00
Matheus d447751c30 vmm: properly handle direct physical mapping unmap 2024-07-30 20:49:38 -03:00
Matheus e675f1c152 vmm/mmu: be more selective on which parts of the physical memory to map initially 2024-07-27 23:56:38 -03:00
Matheus a8a097192d vmm: defrag file mappings too 2024-06-30 12:12:17 -03:00
Matheus 6c3cdf495d vmm: fix file mapping defrag bug 2024-06-22 19:29:07 -03:00
Matheus 13b142a91e vmm: fix destroyrange shared file unmapping 2024-06-08 14:03:27 -03:00
Matheus c81bdac897 signals: handle SIGBUS, SIGSEGV, SIGILL etc 2024-05-29 11:06:15 -03:00
Matheus 48b7fb4324 vmmcache: initial implementation 2024-05-24 18:03:24 -03:00
Matheus f827163056 munmap: fix memory leak 2024-04-21 20:16:01 -03:00
Matheus d5421608bb vmm: acqure space mutex in page fault handler 2024-04-20 15:47:30 -03:00
Matheus 06629f3088 vmm: vmm_getphysical() 2024-04-14 19:11:15 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus ba16aa366f logging: make term and printf smp safe 2023-10-01 19:09:28 -03:00
Matheus 6276eec4ba vmm: fix unmap split 2023-08-10 16:41:32 -03:00
Matheus 30851d4971 ports: tar and xz 2023-08-02 21:27:24 -03:00
Matheus 245da66fc3 vmm: make fork use copy-on-write 2023-08-02 19:55:53 -03:00
Matheus 7e1443d032 vmm: copy on write and changes to how page faults are handled 2023-08-02 01:18:35 -03:00
Matheus 55fc1b7026 pmm: full rewrite
I've decided to do a rewrite on it due to some plans that would make refcounting physical pages nescessary among other things. now instead of a bitmap it uses a list of pages with each physical page having a page_t associated with it
2023-07-29 17:14:41 -03:00
Matheus 8ca2360991 vmm: add a pflock mutex to synchronize pagefaults 2023-07-26 22:47:00 -03:00
Matheus f5c5b01d85 vmm: use mutexes 2023-07-26 21:39:06 -03:00
Matheus 255255af25 vmm: fix unmap 2023-07-11 23:01:35 -03:00
Matheus 2f14b61b72 vmm: fix shared flag not being passed to VOP_MMAP and VOP_UNMAP 2023-07-10 21:16:10 -03:00
Matheus 92a518927d vmm: pass cred struct to VOP_MAP and VOP_UNMAP 2023-07-08 14:40:04 -03:00
Matheus 222ff36fb6 vmm: fix linked list 2023-07-03 22:54:52 -03:00
Matheus fef149ca55 vfs: redo vnode locking 2023-06-15 19:57:56 -03:00
Matheus f2b76caa84 vmm: change how vmm_destroycontext is handled 2023-06-10 12:09:46 -03:00
Matheus 5ac1745b5f vmm: fix deadlock on new cache 2023-06-08 21:56:29 -03:00
Matheus 85dc9cffdf vmm: rename DESTROY_FLAGS_NOSYNC and force hhdm mappings to use VMM_FLAGS_EXACT 2023-05-29 07:50:59 -03:00
Matheus 29cd03313e vmm: vmm_fork, vmm_destroycontext and fix pagetable used on destroyrange 2023-05-16 19:36:06 -03:00
Matheus 69b1ff7a70 vmm: map null hhdm page 2023-05-15 22:42:18 -03:00
Matheus d178e0012f vmm: change kernel pf handling 2023-05-10 20:38:04 -03:00
Matheus cec3146bd5 vmm: fix lazy allocation 2023-05-08 22:16:53 -03:00
Matheus 42b28716a4 vmm: implement newcontext() 2023-05-07 16:52:29 -03:00
Matheus 9ce8bd25f5 vmm: fix getting free range at edge of spaces 2023-05-07 15:08:33 -03:00