On Dec 4, 2012, at 4:55 PM, Boyanich, Alastair wrote:
Hi Jordi,
I've not messed around with TOPS-10/20 and only VMS on simh, but there
you need specify which O/S is running inside the VM and specify it with
something like:
set cpu idle=VMS
If I get it wrong or omit it, then it will sit there wasting a huge
amount of cycles on my alpha. Off the top of my head, I suspect simh is
actually looking for instruction patterns for the idle loop and
detecting based upon that, which would differ from O/S to O/S. Perhaps
TOPS-10/20 requires something similar?
Yes, that's what SIMH does. Depending on the processor type, this code may be rather
fragile. On a PDP-11, most (though not all) idle loops have a WAIT in them somewhere.
On VAX, there is no such thing, and the code looks for "scheduler idle loop"
patterns. It's pretty ugly and your particular OS may not work well. For example,
NetBSD 6 does not match any of the VAX idle patterns, and in fact it's not clear any
idle handling can be done sanely there without help from the NetBSD code...
The first step would be to make sure the idle checker is set for your OS. If that still
doesn't work, you may need to read the emulation code to see what the checker actually
does, to determine if it needs to be updated to handle the OS you're running.
paul
Show replies by date