Commit Graph

71 Commits

Author SHA1 Message Date
Matheus b7b8e3c66d vmm: switch out old vmmrange allocator for a slab object cache 2026-04-22 19:48:14 -03:00
Matheus e121029500 vmm: reduce number of page faults on anonymous page in 2026-04-17 20:48:45 -03:00
Matheus 774ae10e99 kernel: update limine to 11 and use base revision 6 2026-04-01 16:45:42 -03:00
Matheus bf4696fa4d vmm: fix fork not doing exact copy 2026-03-20 21:30:53 -03:00
Matheus b3d5bf5586 vmm: some work towards page locking 2026-02-12 16:25:35 -03:00
Matheus aceaab3ddf vmm: fix changemap 2025-12-28 15:45:11 -03:00
Matheus 70d4c75cfe vmm: use red-black trees 2025-12-26 23:02:55 -03:00
Matheus 81f9e758dc kernel: misc fixes 2025-12-06 18:48:51 -03:00
Matheus accad4d70a mmu: enable global pages 2025-09-07 00:05:36 -03:00
Matheus 2fa040096c slab: rewrite slab allocator 2025-09-04 22:55:19 -03:00
Matheus 607566531d kernel: rework init 2025-08-14 20:25:43 -03:00
Qwinci d3c79c06a4 vmm: fix more logic bugs 2025-01-13 16:28:20 +02:00
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