[Simh] idle on VMS and Windows

Marc Chametzky marc at bluevine.net
Wed Jun 11 01:00:02 EDT 2008


Out of curiosity, I looked into why I wasn't getting idle functionality 
to work on my VAX running on Solaris.

My first issue was that the gcc optimizer appears to have been messing 
up the code in sim_idle(). When I removed "-O", the calculations worked 
right, but idle still wasn't working.

If I'm reading the code right, it looks as though it's a limitation of 
SIMH on Solaris. In vax_stddev.c, clk_tps is set to 100 (ticks/sec), 
which means 10 ms per tick. Unfortunately, the granularity of 
nanosleep() (as determined by clock_getres()) is also 10 ms, which means 
that it can't idle because the granularity isn't small enough to wait 
for the next VAX clock tick.

Does this make sense?

--Marc



More information about the Simh mailing list