Commit Graph

100 Commits

Author SHA1 Message Date
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
Matheus dd75dc2d87 vmm: vmm_changemmuflags 2024-08-21 21:33:29 -03:00
Matheus 5c83db1580 x86_64 pci: fix msi message format 2024-07-27 23:58:33 -03:00
Matheus 4cd2a7b41c ps2: fix real hw 2024-07-11 00:05:42 -03:00
Matheus f05eb36cfd kernel: remove already done TODOs 2024-06-16 12:48:16 -03:00
Matheus 50b4b45d00 kernel: usercopy functions 2024-06-09 19:31:26 -03:00
Matheus 04d8431b32 cpu: better _cpu() function 2024-05-27 22:03:44 -03:00
Matheus d2527bee92 context changes and scheduler userspace check fix 2024-05-27 22:00:59 -03:00
Matheus 8d42b80855 smp: nmi ipi support 2024-05-26 20:51:54 -03:00
Matheus 890f6ba3ac dpc: fix smp 2024-05-26 17:18:41 -03:00
Matheus 48b7fb4324 vmmcache: initial implementation 2024-05-24 18:03:24 -03:00
Matheus 1b63e9b436 signals: more general changes 2024-05-17 18:48:57 -03:00
Matheus 7b0cc4c51b initial signal implementation 2024-05-14 15:04:48 -03:00
Matheus 27d24f3e20 cpu: dont access cpu local storage using rdmsr 2024-04-29 21:26:47 -03:00
Matheus 8deb3a1144 context: CTX_INIT interrupt flag 2024-04-28 14:32:28 -03:00
Matheus a8bdb6e1ad x86-64: properly set up x87 state 2024-04-21 20:17:18 -03:00
Matheus 7f297728fb ps2 mouse 2024-04-14 22:22:32 -03:00
Matheus 2cb94c2c2e scheduler: handle userland thread exit 2024-04-14 14:00:11 -03:00
Matheus de3226d23b cpu: more byte swap functions 2024-03-30 18:38:12 -03:00
Matheus 91f69e184d cpu: byte ordering swapping functions 2024-03-29 13:37:11 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus 12872ae17f mmu: tlb shootdown 2023-11-30 17:50:23 -03:00