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
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