git.cappig.dev / apheleiaOS.git master

31601dcc3721a91c7132eaeb9a4af693f1790b04 master
cappig <[email protected]> ยท 3 months ago
Refactor scheduler layout

* Drop scheduler_ prefix from all sched/ filenames; extract context handling to context.c
* Add ring_queue_t to libs/data and migrate ws.c event queues to it
* Rewrite MBR multi-read as a loop; fix DMA boundary crossing on large kernels
* Remove dead wake_reason param, redundant last_cpu bounds checks, and (void) casts throughout
100 files changed, 11995 insertions, 12482 deletions
kernel/arch/arch.h +3 -11
kernel/arch/thread.h +11 -0
kernel/arch/x86/arch.c +18 -58
kernel/arch/x86/boot/mbr/mbr.asm +35 -33
kernel/arch/x86/drivers/serial.c +0 -1
kernel/arch/x86/irq.c +2 -0
kernel/arch/x86/thread.c +57 -0
kernel/drivers/framebuffer.c +0 -2
kernel/drivers/usb_msc.c +2 -2
kernel/sched/balance.c created
kernel/sched/context.c created
kernel/sched/create.c created
kernel/sched/cred.c created
kernel/sched/fd.c created
kernel/sched/internal.h created
kernel/sched/mem.c created
kernel/sched/mem.h created
kernel/sched/pick.c created
kernel/sched/query.c created
kernel/sched/runqueue.c created
kernel/sched/scheduler.c +19 -16
kernel/sched/scheduler.h +6 -14
kernel/sched/scheduler_balance.c removed
kernel/sched/scheduler_context.c removed
kernel/sched/scheduler_create.c removed
kernel/sched/scheduler_cred.c removed
kernel/sched/scheduler_fd.c removed
kernel/sched/scheduler_internal.h removed
kernel/sched/scheduler_mem.c removed
kernel/sched/scheduler_mem.h removed
kernel/sched/scheduler_pick.c removed
kernel/sched/scheduler_query.c removed
kernel/sched/scheduler_runqueue.c removed
kernel/sched/scheduler_select.c removed
kernel/sched/scheduler_state.c removed
kernel/sched/scheduler_thread.c removed
kernel/sched/scheduler_tick.c removed
kernel/sched/scheduler_wait.c removed
kernel/sched/scheduler_waitpid.c removed
kernel/sched/scheduler_waitq.c removed
kernel/sched/select.c created
kernel/sched/signal.c +6 -4
kernel/sched/state.c created
kernel/sched/thread.c created
kernel/sched/tick.c created
kernel/sched/wait.c created
kernel/sched/waitpid.c created
kernel/sched/waitq.c created
kernel/sys/console.c +24 -32
kernel/sys/devfs.c +23 -35
kernel/sys/exec.c +4 -4
kernel/sys/keyboard.c +0 -1
kernel/sys/lock.c +0 -14
kernel/sys/lock.h +1 -4
kernel/sys/mouse.c +0 -1
kernel/sys/pty.c +0 -2
kernel/sys/syscall.c +8 -5
kernel/sys/tty_input.c +0 -1
kernel/sys/usb_core.c +0 -1
kernel/sys/vfs.c +1 -3
kernel/sys/ws.c +143 -399
libs/data/hashmap.c +1 -1
libs/data/ring.c +148 -0
libs/data/ring.h +26 -0
libs/gui/ui.c +1 -1
libs/libc/string.c +2 -2
userland/ui/term/main.c +2 -2
userland/ui/term/pty.c created
userland/ui/term/pty.h created
userland/ui/term/screen.c created
userland/ui/term/screen.h created
userland/ui/term/term_pty.c removed
userland/ui/term/term_pty.h removed
userland/ui/term/term_screen.c removed
userland/ui/term/term_screen.h removed
userland/ui/wm/background.c created
userland/ui/wm/background.h created
userland/ui/wm/color.c created
userland/ui/wm/color.h created
userland/ui/wm/cursor.c created
userland/ui/wm/cursor.h created
userland/ui/wm/file.c created
userland/ui/wm/file.h created
userland/ui/wm/loop.c created
userland/ui/wm/loop.h created
userland/ui/wm/main.c +4 -4
userland/ui/wm/rect.h created
userland/ui/wm/state.c created
userland/ui/wm/wm_background.c removed
userland/ui/wm/wm_background.h removed
userland/ui/wm/wm_color.c removed
userland/ui/wm/wm_color.h removed
userland/ui/wm/wm_cursor.c removed
userland/ui/wm/wm_cursor.h removed
userland/ui/wm/wm_file.c removed
userland/ui/wm/wm_file.h removed
userland/ui/wm/wm_loop.c removed
userland/ui/wm/wm_loop.h removed
userland/ui/wm/wm_rect.h removed
userland/ui/wm/wm_state.c removed