Matheus
d890eb5fb2
mm: vmmcache -> mm_cache
2026-07-01 12:25:18 -03:00
Matheus
6f8700e678
mm: refactor pmm -> page
2026-07-01 11:56:06 -03:00
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