25 Commits

Author SHA1 Message Date
Matheus e4a4896b4b kcov: initial implementation
Implement a device (/dev/kcov) that exposes coverage info for the
kernel. This will be especially useful for coverage-based fuzzing (e.g.
syzkaller).

Exclude a lot of functions which would crash/otherwise interfere in the
coverage, including only processing coverage callbacks when not handling
an irq.
2026-10-06 11:51:02 -03:00
Matheus 011309d43d cpu: add irq depth counting
Add a way of checking if a cpu is in the middle of handling an irq and
how deep it is into it. This will allow for future code to conditionally
run only in/outside interrupts.
2026-10-06 11:51:01 -03:00
Matheus babc6f3e06 cpu: cpu_cache_line_size 2026-07-17 18:06:03 -03:00
Matheus 239c267ed3 mm: rename vmm api to mm 2026-07-01 15:00:46 -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 96c8f96e7b syscall: clear more flags 2026-04-16 18:17:16 -03:00
Matheus c54d618c82 x86-64: handle some more exceptions properly 2026-04-16 18:00:33 -03:00
Matheus 41f97c6c61 kernel: ldt support 2026-03-20 21:23:59 -03:00
Matheus d10295dcdf interrupt: nmi work 2025-12-05 18:09:36 -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 7a890ac41d scheduler: continue work 2025-08-23 13:54:45 -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 3152d1bc3c topology: system cpu topology 2024-10-05 11:32:39 -03:00
Matheus 11f76ab01d cpuid: better implementation 2024-09-29 11:21:21 -03:00
Matheus 0585eff9a2 x86_64 cpu: find topology 2024-09-24 23:08:58 -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 42cfd8c5a5 kernel: remove old TODOs 2024-09-07 11:49:46 -03:00
Matheus 679aa1a69d cpu: handle SIGFPE 2024-08-21 23:48:54 -03:00
Matheus c81bdac897 signals: handle SIGBUS, SIGSEGV, SIGILL etc 2024-05-29 11:06:15 -03:00
Matheus a8bdb6e1ad x86-64: properly set up x87 state 2024-04-21 20:17:18 -03:00
Matheus c773d6e616 x86_64 cpu: enable SSE 2023-05-07 22:32:04 -03:00
Matheus ca80c22f50 x86_64 cpu: syscall instruction 2023-05-07 19:31:36 -03:00