Commit Graph

43 Commits

Author SHA1 Message Date
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