Blue Swirl wrote:
On 12/10/07, Robert Reif <[EMAIL PROTECTED]> wrote:
Writing data to a serial port on the sparc emulation happens immediately.
I would like to throttle the write speed to match the actual baud rate.
What's the best way to do this in qemu? Will QEMUTimer work for a
1 millisecond timer?
Do you mean that you want the serial port to match the host speed so
that for example, at 9600 baud, target would only receive 9600 bits
per second? Or do you mean that the emulated CPU should see bits
arriving at the same rate that the real CPU would see compared to CPU
execution speed?
On the positive side, this would fix a bug with serial interrupts
arriving too fast which can trigger Linux panics. But this would also
complicate the design because currently the devices do not need to
emulate any internal buffers.
The problem I'm having is with sparc32 using a sun openboot image in
nographics mode where the prom uses serial port A as the system console.
The serial port output shows up in the host terminal window that qemu
was started in.
Characters written to serial port A are not reliably making it to the
screen.
Turning on serial debugging shows that the characters are written to the
serial port. The characters do make it to the screen when debugging.
If characters are not queued, then that might explain the loss but it looks
like the characters are going to a write(fd, ...) so is stdio loosing
the characters?
I thought slowing down the rate to realistic speeds might help but that
doesn't
seem to be where the problem really is.