Commit Graph

81 Commits

Author SHA1 Message Date
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 f3e09527c9 vmmcache: pushpage 2024-07-16 20:49:44 -03:00
Matheus 645e1e2809 vmmcache: fix dirty file pages truncation 2024-07-16 20:23:55 -03:00
Matheus 0ff8a6c0fa pmm: account for LIMINE_MEMMAP_KERNEL_AND_MODULES 2024-07-10 19:46:22 -03:00
Matheus a8a097192d vmm: defrag file mappings too 2024-06-30 12:12:17 -03:00
Matheus 7821eb61c1 vmmcache: sleep while waiting for ready pages 2024-06-27 22:08:01 -03:00
Matheus f1efe195bf vmmcache: use new event system for syncing 2024-06-27 21:55:14 -03:00
Matheus 6c3cdf495d vmm: fix file mapping defrag bug 2024-06-22 19:29:07 -03:00
Matheus 68624ad31b pmm: add assert against use after free 2024-06-16 12:48:41 -03:00
Matheus a524d9b48b pmm: list tails and better standby page handling 2024-06-16 12:02:19 -03:00
Matheus 50b4b45d00 kernel: usercopy functions 2024-06-09 19:31:26 -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 0030a0b21b vfs: make setattr take in which attributes to change 2024-05-27 23:05:57 -03:00
Matheus f29a4cc321 vmmcache: fix page address passed to pmm_release 2024-05-27 22:01:52 -03:00
Matheus 5562f078fa pmm: fix page cache takepage retry memory leak 2024-05-27 22:01:16 -03:00
Matheus 171fde1574 vmmcache: vmmcache_evict 2024-05-26 15:30:14 -03:00
Matheus e6954a3a70 vmmcache: fix page retry 2024-05-26 13:39:28 -03:00
Matheus 3bcc3e5585 fixes 2024-05-25 20:35:19 -03:00
Matheus b9071fe59e syscalls: fsync 2024-05-25 12:04:29 -03:00
Matheus abb2fb9b26 vmmcache: run writer thread every 15 seconds 2024-05-24 22:09:20 -03:00
Matheus 642e245522 syscalls: sync 2024-05-24 22:01:11 -03:00
Matheus 48b7fb4324 vmmcache: initial implementation 2024-05-24 18:03:24 -03:00
Matheus 6087a20d81 pmm and slab: switch from spinlocks to mutexes 2024-05-08 21:07:42 -03:00
Matheus 899186ea85 syscall log: log number of free physical pages before and after every system call 2024-04-21 20:16:38 -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 a3da864de8 memory management: add more protection against corruption 2023-07-23 01:06:22 -03:00
Matheus 2c058a56e6 kernel: random fixes on syscalls and pmm 2023-07-11 23:01:52 -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 00cce59b1a slab: fix linked list 2023-07-03 22:44:26 -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