]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: implement kconsole — kernel emergency console (like HelenOS kconsole)
authorTulio A M Mendes <[email protected]>
Tue, 10 Feb 2026 06:01:02 +0000 (03:01 -0300)
committerTulio A M Mendes <[email protected]>
Tue, 10 Feb 2026 06:01:02 +0000 (03:01 -0300)
commit4e33eaa63e8b570289922afb6f3f3a7e0028ff38
tree247279914d6446de726909b694fcd4b6d3ed2fa7
parent46ed0e29216a5158979e70f246aab3f1d5b5f7a4
feat: implement kconsole — kernel emergency console (like HelenOS kconsole)

When VFS mount or init fails, AdrOS now enters a minimal kernel-mode
emergency console instead of the full shell. This is similar to
HelenOS's kconsole — it runs entirely in kernel mode and provides
basic diagnostic commands.

Design:
- kconsole_enter() runs a blocking read loop using kgetc()/kprintf()
- Commands: help, dmesg, reboot, halt
- Activated from kernel_main() when init_start() returns < 0
- Fully architecture-independent (uses only generic console API)

The normal shell remains available for userspace-initiated sessions.

Passes: make, cppcheck, QEMU smoke test.
include/kconsole.h [new file with mode: 0644]
src/kernel/kconsole.c [new file with mode: 0644]
src/kernel/main.c