uart(4) not working in QEMU

From: Bruce M Simpson <bms_at_incunabulum.net>
Date: Tue, 10 Feb 2009 05:10:21 +0000
Hi,

I have been trying to test my kernel code in QEMU as it saves a lot of 
time and effort.
However, I have noticed since returning to my current project, that 
sio(4) was deprecated in favour of uart(4).

Whilst I updated my kernel configs to reflect this, I've noticed a lot 
of problems with I/O and QEMU -- in particular, the kernel will log 
messages over uart(4) just fine, but when the kernel runs init, I can't 
get any I/O out of the uart(4) at all, apart from a single 'c' or 'F' 
character.

The kernel continues to log messages OK to the uart0/ttyu0 device 
regardless of what's going on in userland.

If I configure ttyv0 in the QEMU virtual machine up via /etc/ttys to run 
a getty there, I can get in, and see that the getty for ttyu0 is 
running. However, echo'ing or cat'ing data to /dev/ttyu0 won't work, 
even if I kill the getty process first. I just don't see anything 
appearing in my QEMU serial console.

I've tried a lot of combinations of 3wire.115200 vs std.9600, 
boot.config options, loader.conf options, none of which have solved the 
problem (mostly working from the threads on this list from when the 
changes were made).

I have also tried other bindings for the QEMU serial device -- e.g. tcp 
ports, nmdm(4), and always see the same effects.   I do have INVARIANTS 
enabled -- could this be an issue?

thanks,
BMS
Received on Tue Feb 10 2009 - 04:10:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:41 UTC