--- a/src/scheme/debug.rs 2026-04-28 07:21:41.000000000 +0100 +++ b/src/scheme/debug.rs 2026-05-04 08:10:23.688174541 +0100 @@ -22,9 +22,10 @@ static HANDLES: RwLock> = RwLock::new(HandleMap::new()); -/// Add to the input queue +/// Add to the input queue, translating CR to NL (ICRNL) for serial console compatibility. pub fn debug_input(data: u8, token: &mut CleanLockToken) { - INPUT.send(data, token); + let translated = if data == b'\r' { b'\n' } else { data }; + INPUT.send(translated, token); } // Notify readers of input updates @@ -106,12 +107,16 @@ fn fevent( &self, id: usize, - _flags: EventFlags, + flags: EventFlags, token: &mut CleanLockToken, ) -> Result { let _handle = *HANDLES.read(token.token()).get(id)?; - Ok(EventFlags::empty()) + let mut ready = EventFlags::empty(); + if flags.contains(EventFlags::EVENT_READ) { + ready |= EventFlags::EVENT_READ; + } + Ok(ready) } fn fsync(&self, id: usize, token: &mut CleanLockToken) -> Result<()> {