|
From: | Robert Reif |
Subject: | Re: [Qemu-devel] high resolution timer question |
Date: | Tue, 11 Dec 2007 20:02:51 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040308 |
Blue Swirl wrote:
On 12/10/07, Robert Reif <address@hidden> 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 lookslike 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.
[Prev in Thread] | Current Thread | [Next in Thread] |