On Jun 4, 2012, at 10:14 AM, Brian Hechinger wrote:
On 6/4/2012 7:55 AM, Dave McGuire wrote:
On 06/04/2012 07:52 AM, Brian Hechinger wrote:
Anyone know how it works? I'd really like to get it working on Solaris.
You mean it doesn't? I wonder why that would be.
/simh/rifter/vax.ini> set cpu idle=VMS
Command not allowed
It detects the idle loop patterns in some OSs and throttles back the
simulator, so the host system isn't sitting there burning CPU to execute
the guest OS's idle loop.
Right, but I'm curious what it needs to know about the host OS to accomplish that.
I should look at the source but I'm not sure I'll know what I'm looking at.
:)
See vax_cpu.c.
My copy (SIMH 3.8.1) rejects that command with a different message: "Invalid
argument". But to make things even stranger, it DOES accept the command --
"show cpu idle" shows that it paid attention.
Possibly the issue is that the VAX-specific command next passes control to the general
command (in sim_timer.c) and that routine accepts an argument but requires it to be an
integer!
You might try simply "set cpu idle" (without argument). The default seems to
be VMS, with NETBSD, OPENBSD, ULTRIX, and 32V accepted as alternate values. The
difference is in what the particular OS does when it is idle. That tends to change from
one OS to another (even when the hardware seems to suggest a standard way to do it, as in
the PDP11 with its WAIT instruction).
paul
Show replies by date