Commit Graph

65 Commits

Author SHA1 Message Date
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
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 6761ca494b slab: fix indirect return object and add a debug assert define 2023-05-28 17:55:02 -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 34b18799a2 pmm: fix bmset type 2023-05-13 20:07:24 -03:00
Matheus d178e0012f vmm: change kernel pf handling 2023-05-10 20:38:04 -03:00
Matheus 8913f80a0c alloc: realloc 2023-05-09 00:05:47 -03:00
Matheus cec3146bd5 vmm: fix lazy allocation 2023-05-08 22:16:53 -03:00
Matheus 24091f6e3f slab: fix large slab deallocation 2023-05-07 21:23:22 -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
Matheus 46bbf60ce8 vmm: file mapping 2023-05-06 19:28:09 -03:00
Matheus fef3d97989 vmm: fragmentation checks on insert and entry freeing 2023-04-28 23:23:06 -03:00
Matheus ff478b51ed alloc: fix free 2023-04-23 22:05:54 -03:00
Matheus 0394165361 kernel: spinlocks 2023-04-23 17:12:05 -03:00