-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-
hecnet at Update.UU.SE] On Behalf Of Paul_Koning at Dell.com
Sent: 04 June 2012 17:26
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Speaking of IDLE
On Jun 4, 2012, at 12:04 PM, Brian Hechinger wrote:
Sadly the updates didn't fix it for me. :(
VAX simulator V3.9-0
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
Silly question, but is "set cpu idle" actually the first thing in your ini
file? Can you post the whole ini file?
Regards
Rob
On 6/4/2012 12:26 PM, Paul_Koning at Dell.com wrote:
On Jun 4, 2012, at 12:04 PM, Brian Hechinger wrote:
Sadly the updates didn't fix it for me. :(
VAX simulator V3.9-0
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
That's odd. I just downloaded and built simh 3.9.0, and it accepts the command without any complaints, both in "vax" and "vax780":
pkoning:simhv39-0 pkoning$ BIN/vax780
VAX780 simulator V3.9-0
sim> set cpu idle
sim> show cpu idle
idle=VMS, idle enabled, stability wait = 20s
sim> set cpu idle=NETBSD
sim> show cpu idle
idle=NETBSD, idle enabled, stability wait = 20s
sim> q
Goodbye
pkoning:simhv39-0 pkoning$ BIN/vax
VAX simulator V3.9-0
sim> show cpu idle
idle disabled
sim> set cpu idle
sim> show cpu idle
idle=VMS, idle enabled, stability wait = 20s
sim> set cpu idle=OPENBSD
sim> show cpu idle
idle=OPENBSD, idle enabled, stability wait = 20s
sim> q
Goodbye
pkoning:simhv39-0 pkoning$
Yeah, works fine on linux, but Solaris not so much. :(
And now libpcap doesn't want to easily build on newest Solaris 11. Joy.
-brian
On Jun 4, 2012, at 12:04 PM, Brian Hechinger wrote:
Sadly the updates didn't fix it for me. :(
VAX simulator V3.9-0
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
That's odd. I just downloaded and built simh 3.9.0, and it accepts the command without any complaints, both in "vax" and "vax780":
pkoning:simhv39-0 pkoning$ BIN/vax780
VAX780 simulator V3.9-0
sim> set cpu idle
sim> show cpu idle
idle=VMS, idle enabled, stability wait = 20s
sim> set cpu idle=NETBSD
sim> show cpu idle
idle=NETBSD, idle enabled, stability wait = 20s
sim> q
Goodbye
pkoning:simhv39-0 pkoning$ BIN/vax
VAX simulator V3.9-0
sim> show cpu idle
idle disabled
sim> set cpu idle
sim> show cpu idle
idle=VMS, idle enabled, stability wait = 20s
sim> set cpu idle=OPENBSD
sim> show cpu idle
idle=OPENBSD, idle enabled, stability wait = 20s
sim> q
Goodbye
pkoning:simhv39-0 pkoning$
paul
On 6/4/2012 10:50 AM, Paul_Koning at Dell.com wrote:
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
Sadly the updates didn't fix it for me. :(
VAX simulator V3.9-0
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
On 6/4/2012 10:59 AM, Paul_Koning at Dell.com wrote:
On Jun 4, 2012, at 10:53 AM, Brian Hechinger wrote:
On 6/4/2012 10:50 AM, Paul_Koning at Dell.com wrote:
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).
Same thing:
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
Looks like you'll have to read the Fine Code to see what changed.
paul
Looks like there were some changes to IDLE for the VAX in 3.9
building that now.
-brian
On 6/4/2012 11:00 AM, Dave McGuire wrote:
On 06/04/2012 10:14 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
Oh my. I assume that's done by a #define somewhere. Have you looked?
Yes. The code is a little.............. tricky to follow.
I don't think I'm going to be able to sort this out. I just don't have the time it'll take to go through all his code. :(
-brian
On 06/04/2012 10:14 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
Oh my. I assume that's done by a #define somewhere. Have you looked?
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On Jun 4, 2012, at 10:53 AM, Brian Hechinger wrote:
On 6/4/2012 10:50 AM, Paul_Koning at Dell.com wrote:
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).
Same thing:
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian
Looks like you'll have to read the Fine Code to see what changed.
paul
On 6/4/2012 10:50 AM, Paul_Koning at Dell.com wrote:
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).
Same thing:
/simh/rifter/vax.ini> set cpu idle
Command not allowed
-brian