Loïc Grégoire
6cd9117a05
Remove bad tests
2026-10-07 18:02:17 -04:00
Loïc Grégoire
5317cb54b4
ke+loader: rework kernel entry
...
oops, didn't test last commit on debug runs. Now this starts the kernel on its 16
kib stack.
2026-10-05 13:03:16 -04:00
Loïc Grégoire
f53a596fb9
loader: boot kernel with a bootstrap stack (oops)
2026-10-05 12:56:36 -04:00
Loïc Grégoire
12d0e65fd5
all: more 0.17 migrations
2026-10-04 11:38:11 -04:00
Loïc Grégoire
6701f17fb1
ke: clean up wait after continuation
2026-10-04 11:37:52 -04:00
Loïc Grégoire
8815e5e52c
ke: clean up wait code
2026-10-04 11:36:37 -04:00
Loïc Grégoire
6f07f181db
ke: rework timer cancellation
2026-10-04 11:36:37 -04:00
Loïc Grégoire
cbe823ce6e
loader: pass more things to the kernel
2026-10-04 11:36:37 -04:00
Loïc Grégoire
72ff4882e8
loader: fix compile error
2026-10-04 11:36:37 -04:00
Loïc Grégoire
b802919fc2
ke: add lock warden
2026-10-04 11:36:28 -04:00
Loïc Grégoire
dd2161179d
build: update tidy script
2026-10-03 17:08:43 -04:00
Loïc Grégoire
10c6c3d27f
all: upgrade to zig 0.17
2026-10-03 17:00:13 -04:00
Loïc Grégoire
a49a738d69
riscv64: fix build
2026-09-27 21:41:08 -04:00
Loïc Grégoire
714c63b8a6
build: x86_64 -> amd64
2026-09-27 21:37:01 -04:00
Loïc Grégoire
7d83278bc6
mm/zone: formatting
2026-09-27 21:36:45 -04:00
Loïc Grégoire
26084dbb99
riscv64: move trap code into ke
2026-09-27 21:36:23 -04:00
Loïc Grégoire
ec05f050fb
ex: remove extraneous vmem check
2026-09-27 21:32:19 -04:00
marv7000
2c20f0b456
riscv64: initial risc-v port
2026-09-27 21:32:00 -04:00
Loïc Grégoire
d03251d3e0
ex: fix vmem bug
2026-09-27 17:40:55 -04:00
Loïc Grégoire
672f04a833
add tidy script
2026-09-27 16:21:40 -04:00
Loïc Grégoire
c7673dc438
ke: fix shootdown bugs
2026-09-26 13:11:20 -04:00
Loïc Grégoire
021e213fb2
ke/turnstile: make turnstiles more finely locked
...
Add a per-turnstile lock which is now held across propagation, instead of a
per-chain lock. This should hopefully
avoid scalability problems if many different turnstiles point to the same
bucket.
2026-09-20 01:18:02 -04:00
Loïc Grégoire
8013e84d9f
ke/sched: style fixes
2026-09-20 00:24:44 -04:00
Loïc Grégoire
7d871ca75f
ke/sched: fix IPL window when stealing threads.
...
There was a window where a thread could get stolen from a CPU but never
enqueued, since IPL doesn't stay raised the whole time, and the CPU could
therefore get preempted. Keep IPL raised across the whole operation until the
thread is enqueued.
2026-09-20 00:12:54 -04:00
Loïc Grégoire
a9028e53ff
ke/smr: allow invalid sequences in deferred_advance_commit
...
This was buggy when the race was lost and it ended up trying to commit a
deferred advance of 0, now explicitly make the magazine's sequence invalid and
do nothing in deferred_advance_commit, avoiding an integer underflow.
2026-09-19 23:03:39 -04:00
Loïc Grégoire
e7655e9725
ke: fix scheduler deadlock on switching
2026-09-19 22:19:30 -04:00
Loïc Grégoire
472cecea08
ex: move vmem to ex
2026-09-16 16:59:22 -04:00
Loïc Grégoire
33ea78a7dd
ke: refine turnstile comments
2026-09-16 16:46:04 -04:00
Loïc Grégoire
eeadc1420a
mm/vmem: add importing and rework API
2026-09-13 22:13:18 -04:00
Loïc Grégoire
5c160382cc
rtl: add custom assert
2026-09-13 21:43:42 -04:00
Loïc Grégoire
084d28b829
mm/vmem: add quantum caching
2026-09-13 15:47:36 -04:00
Loïc Grégoire
0c3e885797
mm/zone: rework around import layer
...
This ends up being cleaner for doing qcaches
2026-09-12 19:41:06 -04:00
Loïc Grégoire
1176e97e90
mm: more aggressive reclamation
2026-09-07 20:58:25 -04:00
Loïc Grégoire
b5d3c5fdb9
mm/zone: free empty slabs on drain()
2026-09-07 20:58:14 -04:00
Loïc Grégoire
5cb96ec943
loader: free the kernel loaded by limine
2026-09-07 20:57:04 -04:00
Loïc Grégoire
1f448dfb87
ke/wait: make wait_any parameter const
2026-09-07 20:10:18 -04:00
Loïc Grégoire
2e1265f384
ke/ipl: avoid too many @intFromEnum
2026-09-07 20:04:14 -04:00
Loïc Grégoire
6e8f9c375a
ex: remove console
2026-09-07 20:03:15 -04:00
Loïc Grégoire
81c3021598
tests: use sin approximation instead of table
2026-09-03 21:05:32 -04:00
Loïc Grégoire
bbd67d065d
fbconsole -> bootvid
2026-09-03 21:05:20 -04:00
Loïc Grégoire
497e08bd7b
all: standardize suffixes
...
ki -> kep
mi -> mmp
2026-09-02 22:20:25 -04:00
Loïc Grégoire
cf58ad369e
ke: freeze CPUs on panic
2026-09-02 22:17:54 -04:00
Loïc Grégoire
d640053477
ke: disable stack donation for realtime threads
2026-09-02 20:37:26 -04:00
Loïc Grégoire
f4e5caab44
dev/fbconsole: fix compile error
2026-08-29 20:05:05 -04:00
Loïc Grégoire
906433ca6d
mm/zone: remove leftover log
2026-08-29 20:04:40 -04:00
Loïc Grégoire
f205065d02
mm: initial balance manager code
2026-08-29 20:03:35 -04:00
Loïc Grégoire
8226a205a0
ke: add continuations
2026-08-29 20:03:22 -04:00
Loïc Grégoire
d06351f31c
mm/zone: defer free slab destruction
2026-08-20 21:59:28 -04:00
Loïc Grégoire
07b3893859
ke/sched: add pin helpers
2026-08-20 21:33:22 -04:00
Loïc Grégoire
f6f20599ba
ke/sched: add hard affinity cpumask
2026-08-20 21:19:50 -04:00