mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-21 18:44:01 +00:00
1.7 KiB
1.7 KiB
CLeonOS Stage14
Stage Goal
- Pause risky ELF runtime expansion and prioritize non-ELF core capability.
- Expose virtual TTY manager controls through syscall ABI.
- Keep Stage13 boot flow stable while adding TTY observability and control hooks.
What Was Added
- New kernel syscalls:
CLKS_SYSCALL_TTY_COUNT(21)CLKS_SYSCALL_TTY_ACTIVE(22)CLKS_SYSCALL_TTY_SWITCH(23)
- New TTY kernel API exports:
clks_tty_count()clks_tty_ready()
- New user C wrappers:
cleonos_sys_tty_count()cleonos_sys_tty_active()cleonos_sys_tty_switch(u64 tty_index)
- Boot probe now logs TTY syscall status (
COUNTandACTIVE).
Acceptance Criteria
- Kernel boots and prints
CLEONOS STAGE14 START. - Syscall framework remains online (
INT80 FRAMEWORK ONLINE). - Probe logs include:
[INFO][TTY] COUNT: 0X...[INFO][TTY] ACTIVE: 0X...
- No regression in existing scheduler/service/FS/driver initialization sequence.
Build Targets
make setupmake userappsmake isomake runmake debug
QEMU Command
qemu-system-x86_64 -M q35 -m 1024M -cdrom build/CLeonOS-x86_64.iso -serial stdio
Common Bugs and Debugging
- TTY syscall value always
-1:- Check kernel/user syscall ID tables are aligned.
TTY_ACTIVEnever changes after switch:- Validate
clks_tty_switch()receives index< clks_tty_count().
- Validate
- Missing TTY probe logs:
- Ensure
clks_stage14_syscall_probe()is still called afterclks_syscall_init()andclks_interrupts_init().
- Ensure
- Build fails with undeclared syscall IDs:
- Rebuild after syncing both headers:
clks/include/clks/syscall.hcleonos/c/include/cleonos_syscall.h
- Rebuild after syncing both headers: