Hi!

During developing a driver for a home-made serial hardware, I've noticed that the 0 characters couldn't received in guest OS.

The HW is not ready yet, so I've bulit a test environment using Debian GNU/Linux on Prescott (x86) as a host machine, and win98 as a guest. Qemu version is 0.8 release, (not the CVS one).

A bash script started the env.:

export QEMU_AUDIO_DRV=alsa
nice -n 19 qemu -m 256 -soundhw sb16 -hda $HOME/image/qemu-win98.img -localtime -net nic -net user -redir tcp:58000::58000 -redir tcp:59000::59000 -serial pipe:/dev/qemuttyS0

/dev/qemuttyS* files are pipes, with read-write permission to the current user (tried other pipes also, in /home/nyos/...)

I've used 'cat' command to pipe test data to the named pipe (on the host), and the program (in guest) couldn't receive 0 bytes (0x00 hex code), but it could any other one.
First I've thought it was my fault, but Hyperterm did the same.
Also tried sending through the same named pipe the same content, and it was received correctly.

I've been using qemu for approx. half a year (0.7.2 earlier), and the same image for several weeks, and it works, so I'm quite sure the problem is somewhere in qemu code. I'm not so familiar with its source, and after looking at serial.c, I don't have an idea where the problem could be (maybe some string manipulation because of '\0').

Could You have any idea what the problem is? (Or where should I look for it.)

Nyos


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to