qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] ppc and icount


From: Steven Seeger
Subject: Re: [Qemu-discuss] ppc and icount
Date: Wed, 10 Jan 2018 11:27:32 -0500

I removed the commit that caused the icount related error and continued to 
run. What I'm observing is that I have modified the serial.c file to have a 
timer to set a delay between transmit of characters. VxWorks has always had 
(and they will not fix) a bug in their 16550 uart code where if the uart is 
impossilby fast (as qemu's serial.c is) on TX, then the ISR will "hang" 
because it transmits at most 11 characters at a time and then waits for an 
interrupt (which won't come.)

The timer between each character should be approx 87 microseconds. (115200 
baud)

When I have icount on, I see one character sent every 40 ms of 
QEMU_CLOCK_VIRTUAL time. This is why it's so slow. If I change to 
QEMU_CLOCK_VIRTUAL_RT then it runs "fast."

My goal is to have the device model world not influence the number of CPU 
instructions. I want the virtual clock to slow down if the device model world 
takes up too much time. For example, if at each character transmit in serial.c 
I have a sleep(1); call I want the virtual clock to increase slowly with 
number of instructions executed.

It seems to me that something is keeping me from having decent fideilty with 
timers in icount mode. (shift=auto) Is there something I should be looking at 
for this? Once the initial flood of uart interrupts (the only interrupt) 
passes, more hardware is initialized (more timers) and I get better fidelity 
of timers (including future uart messages.) 

Any advice would be appreciated. Thanks.

Steven






reply via email to

[Prev in Thread] Current Thread [Next in Thread]