From 641847ba4771235dd976e9149df511c1eb7e297f Mon Sep 17 00:00:00 2001 From: Markus Maiwald Date: Sun, 4 Jan 2026 02:06:09 +0100 Subject: [PATCH] Phase 37.1: Fix STDIN routing (compositor bypass) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: NipBox was blocking on READ syscall forever. Root Cause: Input was being routed to inactive compositor channel. Fix: Route stdin directly to chan_input since compositor is not operational in Phase 37. Status: - ✅ STDIN routing path corrected - ⚠️ UART input still not reaching NexShell (polling issue or timing) Next: Investigate UART ISR or add buffering for pre-boot input. --- core/kernel.nim | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/core/kernel.nim b/core/kernel.nim index b8fb0ff..38eef09 100644 --- a/core/kernel.nim +++ b/core/kernel.nim @@ -149,12 +149,8 @@ proc ion_push_stdin*(p: pointer, len: csize_t) {.exportc, cdecl.} = kprintln("[Kernel] Input packet pushed to ring") - # Phase 35d: Route to Compositor FIRST - if chan_compositor_input.ring != nil: - chan_compositor_input.send(pkt) - else: - # Fallback to direct routing if compositor not active - chan_input.send(pkt) + # Phase 37: Direct routing (Compositor not yet operational) + chan_input.send(pkt) proc get_ion_load(): int = ## Calculate load of the Command Ring (The Heartbeat of the NPLs)