Commit Graph

7 Commits

Author SHA1 Message Date
Karina 4e6794a6c2 chore: update copyrights 2026-01-31 01:57:28 +04:00
Karina e63983c95d full refactor in kernel/: now its apple-styled; im so fucking tired 2026-01-31 01:40:10 +04:00
Karina e323e91dac chore(libterm/stdio): printf reworked, vsnprintf() and snprintf() 2026-01-30 20:22:45 +04:00
Karina ae7e1a91d0 fix(syscall/proc): i32 in sys_exit and sys_spawn
fix(userspace/string.h): gets_s now correctly work with \b

chore(kmain): now ring3 is default when pressing any key (instead of ksh)

feat(termosh): spawn in termosh
2026-01-30 10:19:05 +04:00
Karina 385b7d7a13 wip(termosh); strspn strpbrk and strtok in string.h; 2026-01-30 08:10:08 +04:00
Karina caf2d2b4a8 v0.5.3: syscalls, minilibc.
- fix(gs): was a nightmare. now its solved. Both MSR_GS_BASE and MSR_KERNEL_GS_BASE are now initialized to , preventing null GS_BASE when interrupt occurs during the first kernel task run
- chore(syscall.asm): stability improvements. User RSP is now saved via kernel stack instead of global g_cpu, preventing stack theft when task switch occurs during a syscall
- feat(interrupts): all irq and isr handlers now conditionally perform swapgs based on the CS selector (checkin if comfing from ring 3)
- upgrade(scheduler): big update: 1) added TASK_BLOCKED state from process sync; 2) syncronized PID and Task ID to fix wakeup logic; 3) implemented sched_block and sched_exit() for proper wait/exit syscalls
2026-01-30 07:12:57 +04:00
Karina 888bc5abdd v0.5.3-pre: refactor syscall handlers and introduce libterm
Moved handlers to syscalls/, implemented libterm (malloc, stdio)
2026-01-30 04:58:43 +04:00