Matheus
111a8696d8
mmu: move tlb shootdown to IPL_MAX
...
Currently, with IPL_IGNORE, tlb shootdown is not being treated as an
irq and thus does not contribute to the irq depth. Move it to the
highest possible IPL.
2026-10-06 11:51:02 -03:00
Matheus
239c267ed3
mm: rename vmm api to mm
2026-07-01 15:00:46 -03:00
Matheus
6f8700e678
mm: refactor pmm -> page
2026-07-01 11:56:06 -03:00
Matheus
f9912b8970
kernel: fix taking smep/smap path on unsupported systems
2026-05-14 12:03:11 -03:00
Matheus
71dd6d1125
x86-64: enable smep and smap
2026-04-23 15:29:43 -03:00
Matheus
c54d618c82
x86-64: handle some more exceptions properly
2026-04-16 18:00:33 -03:00
Matheus
774ae10e99
kernel: update limine to 11 and use base revision 6
2026-04-01 16:45:42 -03:00
Matheus
41f97c6c61
kernel: ldt support
2026-03-20 21:23:59 -03:00
Matheus
d53d97d951
mmu: fix vmmerror
2025-11-02 21:28:52 -03:00
Matheus
accad4d70a
mmu: enable global pages
2025-09-07 00:05:36 -03:00
Matheus
6a2e83cc49
mmu: shootdown optimizations
2025-09-01 21:38:58 -03:00
Matheus
3f03b4a467
mmu: make shootdown data per cpu
2025-08-31 23:27:03 -03:00
Matheus
7a890ac41d
scheduler: continue work
2025-08-23 13:54:45 -03:00
Matheus
607566531d
kernel: rework init
2025-08-14 20:25:43 -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
16b6c86a5f
cpu: rename _cpu() to current_cpu()
2024-09-15 19:03:09 -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
dd75dc2d87
vmm: vmm_changemmuflags
2024-08-21 21:33:29 -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
50b4b45d00
kernel: usercopy functions
2024-06-09 19:31:26 -03:00
Matheus
c81bdac897
signals: handle SIGBUS, SIGSEGV, SIGILL etc
2024-05-29 11:06:15 -03:00
Matheus
54c01081cc
mmu: don't do an nmi
2024-05-27 22:02:45 -03:00
Matheus
8d42b80855
smp: nmi ipi support
2024-05-26 20:51:54 -03:00
Matheus
48b7fb4324
vmmcache: initial implementation
2024-05-24 18:03:24 -03:00
Matheus
7b0cc4c51b
initial signal implementation
2024-05-14 15:04:48 -03:00
Matheus
43b209666f
mmu: don't do tlb shootdowns if no other cpus are online
2024-04-29 21:26:13 -03:00
Matheus
12872ae17f
mmu: tlb shootdown
2023-11-30 17:50:23 -03:00
Matheus
e5c4b0f3cd
smp: processor wakeup
2023-10-01 21:51:09 -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
63e971bb70
x86_64 mmu: enable interrupts on page fault
2023-07-03 22:37:05 -03:00
Matheus
0185572afc
interrupts: IPL_IGNORE which doesn't raise nor lower the IPL on an interrupt
2023-06-27 20:03:57 -03:00
Matheus
8412e71b0d
mmu: destroy fixes
2023-05-29 08:59:43 -03:00
Matheus
e0b2f2a582
mmu: arch_mmu_destroytable
2023-05-16 19:35:09 -03:00
Matheus
8a45b183b0
mmu: fix call to vmm_pagefault
2023-05-07 22:32:19 -03:00
Matheus
d85ec56503
mmu: make kernel panic on unhandled page fault
2023-04-23 19:05:27 -03:00
Matheus
f16091656a
mmu: register exception as IPL_MAX
2023-04-23 17:11:10 -03:00
Matheus
46e5e6c561
mmu: rename ARCH_MMU_FLAG_* to ARCH_MMU_FLAGS_*
2023-04-21 00:25:31 -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
Matheus
bbd6d371c7
mmu: fix newtable() pointer
2023-04-15 20:22:27 -03:00
Matheus
d9d2784e4f
kernel: x86_64 mmu
2023-04-14 21:45:43 -03:00