Commit Graph

53 Commits

Author SHA1 Message Date
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
Matheus 46e5e6c561 mmu: rename ARCH_MMU_FLAG_* to ARCH_MMU_FLAGS_* 2023-04-21 00:25:31 -03:00
Matheus 794003e932 alloc: remove printf 2023-04-20 12:08:42 -03:00
Matheus 4d9e8d1933 vmm: fix insert 2023-04-20 12:02:01 -03:00
Matheus 6357a66a3c kernel: initial alloc and free implementation 2023-04-20 11:43:06 -03:00
Matheus 6c8f1b3112 slab: cache freeing, purging and fixes 2023-04-19 20:12:16 -03:00
Matheus f5c76c5ff8 slab: deallocation 2023-04-18 23:48:41 -03:00
Matheus 81a50399af slab: big object allocation 2023-04-18 23:13:29 -03:00
Matheus f9d1c046b7 kernel: initial <512 byte object only slab 2023-04-18 22:22:08 -03:00
Matheus 156161e3aa vmm: default vmm_map address to KERNELSPACE_START 2023-04-18 21:37:26 -03:00
Matheus b245108be6 kernel: vmm_unmap() 2023-04-17 00:26:01 -03:00
Matheus 57d8dd3ae3 vmm: page fault handling 2023-04-16 21:58:00 -03:00
Matheus 30d64485fd kernel: initial vmm implementation 2023-04-16 20:47:41 -03:00