]> 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)
commita831871494a6199b655f3855a08df67e4dd9231f
treeed39854b1e72ed142a8b08f0e8f36b8f7b4c87cb
parent229ed84d9d13954eee819586c97d896c7d634fcc
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