I wanted to update the list on my progress and a follow-up of the "ppc and icount" thread.
The issue I was seeing is the case where an io memory write triggers a timer value to be set. In single-thread TCG, timers are run in handle_icount_deadline() and once that's done, TBs are executed. Since cpu- >icount_budget is 5000000 (icount==3), a timer being set to 88 microseconds will fire way late. This caused the tremendous slowdown I was seeing during the start of my binary when the vxWorks bootup banner came up. I have a simple fix for this (set cpu->exit_request=1 in qemu_start_warp_timer, a total hack) but I'm sure that's not "correct." The other thing is -icount 3,align=on makes it run correctly assuming the host can keep up. The end result is every time I run my executable I get the same virtual clock value for some given event. I'm very happy. I still don't have a fix for the issue in commit 044897ef4a22af89aecb8df509477beba0a2e0ce but I reverted it and things are working for me. Steven