Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2009 05:10:21 +0000
From:      Bruce M Simpson <bms@incunabulum.net>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   uart(4) not working in QEMU
Message-ID:  <49910C3D.90709@incunabulum.net>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49910C3D.90709>