Increase kernel heap size to fit more ELFs, improve scheduler by

removing O(n) operations (ready and sleep queues now), caching timer
ticks per irq on init_interrupts aarch64, only saving context when
switching, add kill syscall and use it for exit, only push input to
init, fix accidental REL_X events drop with virtio, fix the possibility
of not having a process to switch to by either staying, switching or
idling, improve scheduler by removing double locking and splitting code
to multiple functions, do not switch every IRQ but only 100 IRQs,
improve rust app building, move x86_64 kernel fb so it doesn't hit heap,
update submodules
This commit is contained in:
csd4ni3l
2026-05-30 19:10:26 +02:00
parent 6b4b53729b
commit f943cf5426
22 changed files with 371 additions and 181 deletions
+21 -9
View File
@@ -1,13 +1,25 @@
#!/bin/bash
if [[ "$1" = "init" || "$1" = "libxunil" ]]; then
cd user/$1
if [[ "$1" == "init" || "$1" == "libxunil" ]]; then
base="user/$1"
else
cd user/apps/$1
base="user/apps/$1"
fi
cargo build --target $KARCH-unknown-none --release --config profile.release.debug=true
if [[ "$1" = "init" || "$1" = "libxunil" ]]; then
cp ./target/$KARCH-unknown-none/release/$1 ../../assets/$KARCH/$1
else
cp ./target/$KARCH-unknown-none/release/$1 ../../../assets/$KARCH/$1
fi
cd "$base" || exit 1
cargo build --target "$KARCH-unknown-none" --release \
--config profile.release.debug=true
case "$1" in
init)
cp "./target/$KARCH-unknown-none/release/$1" \
"../../assets/$KARCH/$1"
;;
libxunil)
;;
*)
cp "./target/$KARCH-unknown-none/release/$1" \
"../../../assets/$KARCH/$1"
;;
esac