Commit Graph

121 Commits

Author SHA1 Message Date
Matheus 71dd6d1125 x86-64: enable smep and smap 2026-04-23 15:29:43 -03:00
Matheus 06f414baaf smp: fix warning 2026-04-23 12:17:02 -03:00
Matheus 804cd32fc5 ldt: validate ldt entries 2026-04-22 19:48:13 -03:00
Matheus 5b164793cf syscall: do not use cr2 as a scratch register 2026-04-02 01:51:06 -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 0b5595ce70 mmu: add define 2026-03-08 14:48:04 -03:00
Matheus b3d5bf5586 vmm: some work towards page locking 2026-02-12 16:25:35 -03:00
Matheus 81f9e758dc kernel: misc fixes 2025-12-06 18:48:51 -03:00
Matheus 79b0d059f2 context: zero by default 2025-12-05 18:21:53 -03:00
Matheus 40bbf217ee kernel: profiling infrastructure 2025-12-05 18:19:42 -03:00
monkuous d301ec6955 kernel: add xsave support 2025-11-15 23:20:05 +01: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 3f03b4a467 mmu: make shootdown data per cpu 2025-08-31 23:27:03 -03:00
Matheus a11406a600 scheduler: load balancing initial implementation 2025-08-25 22:41:20 -03:00
Matheus a3f376c1d6 fb: map as WC 2025-08-24 10:33:24 -03:00
Matheus 7a890ac41d scheduler: continue work 2025-08-23 13:54:45 -03:00
Matheus c024e1abb7 scheduler: little bit of cleanup 2025-08-20 22:15:09 -03:00
Matheus 136c86354c scheduler: continue rework 2025-08-20 22:00:25 -03:00
Matheus 607566531d kernel: rework init 2025-08-14 20:25:43 -03:00
Matheus ab26020935 mmap: support MAP_FIXED_NOREPLACE 2025-02-08 20:25:28 -03:00
Matheus d119d7123b signal: fix handling of fpu and some more small things 2025-02-08 20:16:15 -03:00
Matheus c34021e4d6 context: irq 2025-02-08 20:13:30 -03:00
Vlad-Robert Baciu 6df7c4ebd5 Use IA32_APIC_BASE MSR to get LAPIC address instead of the MADT 2025-01-11 18:46:27 +02:00
Matheus 0ed09edb63 signal: return from ucontext context 2024-12-25 21:58:39 -03:00
Matheus 936180e228 signal: ucontext and a fix 2024-12-25 20:23:32 -03:00
Matheus 9c53d875dc kernel: fix build 2024-10-03 22:51:09 -03:00
Matheus a2f133b346 timekeeper: try to sync base time between cpus 2024-10-02 19:43:32 -03:00
Matheus 65ef516fd8 tsc: redo calibration, directly use hpet 2024-10-02 19:42:57 -03:00
Matheus c3eef02d50 tsc: initial implementation of timekeeper source 2024-09-29 16:30:08 -03:00
Matheus fdd203d1a7 kvmclock: initial implementation 2024-09-29 11:21:46 -03:00
Matheus 11f76ab01d cpuid: better implementation 2024-09-29 11:21:21 -03:00
Matheus b8acbc5bcd timekeeper: redo timekeeping 2024-09-29 11:20:40 -03:00
8infy 12a2125f8e acpi: bump to latest uACPI master 2024-09-28 15:20:12 +03:00
Matheus 0585eff9a2 x86_64 cpu: find topology 2024-09-24 23:08:58 -03:00
Matheus 749f945205 scheduler: slightly redo how the preemption dpc is enqueued and add a skeleton for a rescheduling ipi 2024-09-17 22:29:06 -03:00
Matheus 80abd907a8 smp: smp_cpus 2024-09-16 21:36:16 -03:00
Matheus 0a49ca75b5 mmu: arch_mmu_invalidate() -> arch_mmu_invalidate_range() 2024-09-16 17:34:05 -03:00
Matheus 9974746c6c cpu: _bsp() -> get_bsp() 2024-09-15 22:52:24 -03:00
Matheus 16b6c86a5f cpu: rename _cpu() to current_cpu() 2024-09-15 19:03:09 -03:00
Matheus 56d665d5a0 kernel: fix remaining _cpu() races 2024-09-15 18:39:59 -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 5382a8249b x86_64 cpu: change how the current cpu pointer is found 2024-09-15 15:26:40 -03:00
Matheus cdcce89fa5 ps2: fix warning 2024-09-08 12:11:20 -03:00
Matheus d65c29197d ps2: improvements 2024-09-05 23:13:29 -03:00
8infy db55f99e23 Integrate uACPI & remove own ACPI parsing code
This commit adds uACPI as a submodule and removes all handwritten table
parsing code as well as struct definitions, since they now work via
uACPI. There's also now an ability to shut down by using the power
button.
2024-09-01 23:12:44 +03:00
8infy 476d4bad74 io: add outw & inw helpers 2024-09-01 23:12:44 +03:00
8infy 6154318ab3 kernel: add a helper to retrieve the bsp CPU
This is useful to be able to e.g. set affinity for the BSP CPU.
2024-09-01 19:37:09 +03:00