Closed agn453 closed 5 years ago
Config file please!
Sorry Mark. My configuration has been fairly static for quite some time.
;
; Load CPU microcode (use internal ka655x.bin)
load -r ka655x.bin
;
; Attach non-volatile RAM to a file
att nvr vaxnvram.bin
;
; This virtual machine has 64M memory and idle detection enabled
set cpu 64m
set cpu idle
set cpu idle=VMS
set cpu conhalt
;set cpu model=VAXstation
show cpu
;
; Disable RL02s
set rl disable
;
; Disable RX02s
;set ry disable
;
; Disable magtape
set ts disable
;
; Disable cardreader
set cr disable
;
; TK50 tape drives
set tq tk50
;att tq0 /c/vax/tk50-0.tap
set tq0 locked
;att tq0 -r /c/Users/tony/Simh/vax/AQ-RAE30-01-OpenVMS-Year-2000-TK50.tap
set tq1 disable
;set tq1 /c/vax/tk50-1.tap
set tq2 disable
set tq3 disable
;
; allow telnet on tcp/ip port 4023 to DZ11 multiplexor
; with active disconnect (-a switch), 8bit characters
; and modem control (-m switch)
set dz enable
set dz 8b
set dz lines=8
;set dz modem
;set dz hangup
att -a -m dz 4123
;
; Disable VH terminal multiplexor
set vh disable
;
; LP11 line printer
set lpt enable
att lpt printer.txt
;
; Attach defined drives to local files
set rq0 ra92
att rq0 /c/Users/tony/simh/vax/ra92-vogon_sys73.dsk
;
set rq1 ra92
att rq1 /c/Users/tony/simh/vax/ra92-vogon_user.dsk
;
set rq2 rd54
att rq2 /c/Users/tony/simh/vax/rd54-vogon_alt73.dsk
;
set rq3 cdrom
;att -r rq3 /c/Users/tony/simh/vax/vaxvms073.iso
;
; Hobbyist V1 distribution
att -r rq3 /c/Users/tony/Simh/vax/hobbyistv1.iso
;
; Second disk controller
set rqb enable
;
set rqb0 ra92
att rqb0 /c/Users/tony/Simh/vax/ra92-vogon_sys552.dsk
set rqb1 ra92
att rqb1 /c/Users/tony/Simh/vax/ra92-kits552.dsk
set rqb2 ra82
set rqb3 cdrom
att -r rqb3 /c/Users/tony/Simh/vax/vms552h4.iso
;
;
set rqc enable
set rqc0 ra92
set rqc1 ra92
set rqc2 cdrom
set rqc3 cdrom
;
; HP OpenVMS VAX Consolidated Distribution Set Dec-2007
att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC071.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC072.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC073.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC074.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC075.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXBINDEC076.iso
;att -r rqc3 /c/Users/tony/Simh/VAX/VAXDOCDEC07.iso
;
;
; Attach Ethernet to a network interface
; Use 'show xq eth' command to show available interfaces.
;show xq eth
set xq mac=08-00-2B-AA-BB-CC
att xq eth0
show xq
;
; Now start the emulator
echo To start the emulator type 'boot cpu'
and
trillian:~/simh$ vax
MicroVAX 3900 simulator V4.0-0 Current git commit id: 45d8c908
sim> show version
MicroVAX 3900 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Polled Ethernet Packet transports:PCAP:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 7.4.0
Simulator Compiled as C arch: x86 (Release Build) on May 30 2019 at 09:13:34
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: SDL Version 2.0.7
RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: CYGWIN_NT-10.0-WOW trillian 3.0.7(0.338/5/3) 2019-04-30 18:04 i686 Cygwin
git commit id: 45d8c908
git commit time: 2019-05-29T00:44:17-07:00
And this is a 'show clock' after it's been running a while...
Simulation stopped, PC: 827DED46 (BEQL 827DEDB4)
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 3,729,400 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: CLK
Calibration: Skipped when Idle exceeds 50%
MicroVAX 3900 clock device is CLK
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 56
Seconds Running: 1,706 (28:26 minutes)
Calibration Opportunities: 1,706
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 1646
Calibs Skip Gap Too Big: 2
Instruction Time: 12579421550
Real Time: 103952321
Virtual Time: 102145273
Next Interval: 1,500
Base Tick Delay: 24,863
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 37,294
Initializations: 6
Ticks: 170,656
Tick Time: 28:26.55 minutes
Initialize Base Time: 09:20:30.054
Tick Start Time: 09:20:30.203
Wall Clock Time Now: 10:44:46.241
Total Time Idled: 1:18:51.497 hours
sim>
Thanks for reporting this. Several details that hadn't been tested before are now dependent on the correct timer behavior. The latest commit should fix the VAX cases. Please confirm.
I'm not sure that this has anything to do with your network issues though.
Thanks Mark. I'll grab the latest and test it shortly.
The network issues (DECnet adjacency flapping) would have been a consequence of the slow clock (time-out on the DECnet Hello packets trigger a node-down if none are received in a 60 second interval).
Confirming the timer/clock is back to normal and VAX is working again (I tested VAXserver 3900 under Cygwin on Windows 10 and VAX780 under Raspbian on a Pi3).
Thanks again Mark. Your efforts are much appreciated!
I've re-opened this because I found that I had tested the old commit of VAX780 on Raspbian.
Re-attempting this with the latest commit does not work for VAX780. The console is unresponsive (except for a CTRL-E break to the sim> prompt) and I see DECnet come up and then adjacency drops.
'show clock etc. follows -
Simulation stopped, PC: 804D7CDF (BBC #3,26C(R3),804D7D1C)
sim> sh clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 214,748,364,700 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: TMR
Calibration: Skipped when Idle exceeds 50%
VAX 11/780 clock device is TMR
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 75
Seconds Running: 658 (10:58 minutes)
Calibration Opportunities: 658
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 24
Instruction Time: 838002384
Real Time: 143170746
Virtual Time: 143423680
Next Interval: 1,500
Base Tick Delay: 2,147,483,647
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 2,147,483,647
Initializations: 9
Ticks: 65,868
Total Ticks: 65,869
Peak Clock Skew: 1:13.612552 minutes slow
Ticks Acked: 65,873
Tick Time: 10:58.68 minutes
Total Tick Time: 10:58.69 minutes
Catchup Ticks Sched: 63,866
Initialize Base Time: 21:27:21.262
Tick Start Time: 21:27:21.262
Wall Clock Time Now: 21:38:23.006
Catchup Tick Time: 21:38:19.944
Catchup Base Time: 21:27:21.264
Total Time Idled: 23.529 seconds
sim> sh vers
VAX 11/780 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Threaded Ethernet Packet transports:PCAP:TAP:VDE:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 6.3.0 20170516
Simulator Compiled as C arch: ARM (Release Build) on May 30 2019 at 20:57:25
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: No Video Support
PCRE RegEx (Version 8.39 2016-06-14) support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: Linux pi1 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
git commit id: 0195bbda
git commit time: 2019-05-30T01:51:52-07:00
sim>
and idle is enabled in the config...
;
; VAX-11/780 running VAX/VMS V5.5-2
;
; This virtual machine has 32Mb of memory and idle detection enabled
set cpu 32m
set cpu idle
set cpu idle=VMS
show cpu
;
...
Mark -- I can confirm that the VAX simulator is losing several seconds per minute when idling is enabled. This is on git commit 45d8c908. However, on the same commit, the HP2100 simulator is keeping very accurate time.
Bill,
Please test with the latest commit.
Tony,
I don't see a problem with the 780 using the latest commit. Please try that.
Bill,
Please test with the latest commit.
Tony,
I don't see a problem with the 780 using the latest commit. Please try that.
Hi Mark, Git commit id 564ce2b3 is not working for me. I'm running the microvax3900 simulator with the attached script. It boots into VMS 7.3 OK, but then the console locks up and I can't log in. Host CPU stays pegged at 100% even though idling is enabled. This is running on a Pi 3B Raspbian Stretch host. For reference, commit id b6b457a8 was working fine with the same configuration.
EDIT: Just tried accessing the VAX by telnet and I can get in even though the console is still unresponsive. Weird.
Just had my heart starter caffeine beverage and about to compile the latest commit on Raspbian.
I'm not sure if it's related but I see the two other emulations I keep idling on my Raspberry Pi (both PDP11) are also showing slow clocks when they usually keep good time compared to wall clock time!
They're using commit id: 0195bbda
- the first one running RSX-11M-PLUS V4.6 -
Simulation stopped, PC: 020364 (BR 20332)
sim> show version
PDP-11 simulator V4.0-0 Current
Simulator Framework Capabilities:
32b data
32b addresses
Threaded Ethernet Packet transports:PCAP:TAP:VDE:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 6.3.0 20170516
Simulator Compiled as C arch: ARM (Release Build) on May 30 2019 at 20:50:02
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: SDL Version 2.0.5
PCRE RegEx (Version 8.39 2016-06-14) support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: Linux pi1 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
git commit id: 0195bbda
git commit time: 2019-05-30T01:51:52-07:00
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 6,214,860 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: CLK
Calibration: Skipped when Idle exceeds 50%
PDP-11 clock device is CLK
Calibrated Timer 0:
Running at: 60 Hz
Tick Size: 16.667 msecs
Ticks in current second: 50
Seconds Running: 26,307 (7:18:27 hours)
Calibration Opportunities: 26,307
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 26282
Instruction Time: 164568217927
Real Time: 180219670
Virtual Time: 193729690
Next Interval: 1,500
Base Tick Delay: 69,054
Initial Insts Per Tick: 16,667
Current Insts Per Tick: 103,581
Initializations: 6
Ticks: 1,578,469
Tick Time: 7:18:27.8 hours
Initialize Base Time: 21:04:25.434
Tick Start Time: 21:04:25.480
Wall Clock Time Now: 07:55:55.692
Total Time Idled: 10:19:29.976 hours
sim> show cpu
CPU 11/93, NOCIS, autoconfiguration enabled, idle enabled
2MB
sim> c
and the other running RSTS/E V10.1-L
Simulation stopped, PC: 113040 (SOB R1,113036)
sim> show vers
PDP-11 simulator V4.0-0 Current
Simulator Framework Capabilities:
32b data
32b addresses
Threaded Ethernet Packet transports:PCAP:TAP:VDE:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 6.3.0 20170516
Simulator Compiled as C arch: ARM (Release Build) on May 30 2019 at 20:50:02
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: SDL Version 2.0.5
PCRE RegEx (Version 8.39 2016-06-14) support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: Linux pi1 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
git commit id: 0195bbda
git commit time: 2019-05-30T01:51:52-07:00
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 5,557,380 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: CLK
Calibration: Skipped when Idle exceeds 50%
PDP-11 clock device is CLK
Calibrated Timer 0:
Running at: 60 Hz
Tick Size: 16.667 msecs
Ticks in current second: 47
Seconds Running: 37,178 (10:19:38 hours)
Calibration Opportunities: 37,178
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 37147
Instruction Time: 147854167959
Real Time: 180304883
Virtual Time: 215401951
Next Interval: 1,500
Base Tick Delay: 61,749
Initial Insts Per Tick: 16,667
Current Insts Per Tick: 92,623
Initializations: 7
Ticks: 2,230,726
Tick Time: 10:19:38.750001 hours
Initialize Base Time: 21:03:21.419
Tick Start Time: 21:03:21.439
Wall Clock Time Now: 07:57:20.856
Total Time Idled: 10:06:02.477 hours
sim> show cpu
CPU 11/70, FPP, RH70, autoconfiguration enabled, idle enabled
2MB
I'll compile and test the latest commit now and report back.
The latest commit does not work for me. Here are the details and an edited log of the startup.
The system console is unresponsive. DECnet and Multinet are started via SYSTARTUP_V5.COM but I can't login using SET HOST or TELNET. I waited for the layered product startup to run (from batch) and can't get in using LAT either.
I just compiled using make vax780
.
It's a Raspberry Pi 3B running Raspbian Stretch (Debian 9.9) and fully patched.
The last working version of VAX780 with this same configuration was commit id: 6b3bff56
that I compiled on May 22nd.
pi@pi1:~/simh $ cat run-vms.sh
#!/bin/sh
sudo ~pi/bin/vax780 vms780.ini
pi@pi1:~/simh $ cat vms780.ini
;
; VAX-11/780 running VAX/VMS V5.5-2
;
; This virtual machine has 32Mb of memory and idle detection enabled
set cpu 32m
set cpu idle
set cpu idle=VMS
show cpu
;
; Disable RL02s
set rl disable
;
; Console floppy (enabled by default)
;set cs enable
set cs writeenable
att cs /home/pi/simh/disk-images/vax/rx01-console0.dsk
;
; Disable RX02s
set ry disable
;
; Disable RK611/RK06 cartridge disk controller
set hk disable
;
; Disable TS11 magtape
set ts disable
;
; Dual TU77 800/1600bpi Massbus magnetic tape drives on a TM03
set tu enable
set tu0 TU77
;att tu0 /home/pi/simh/disk-images/vax/tu77-0.tap
set tu0 LOCKED
set tu1 TU77
;att tu1 /home/pi/simh/disk-images/vax/tu77-0.tap
set tu1 LOCKED
set tu2 disable
set tu3 disable
set tu4 disable
set tu5 disable
set tu6 disable
set tu7 disable
;
; Disable cardreader
set cr disable
;
; TK50 tape drive on a TMSCP controller
set tq tk50
att tq0 /home/pi/simh/disk-images/vax/tk50-0.tap
set tq1 disable
set tq2 disable
set tq3 disable
;
; allow telnet on tcp port 4023 to DZ11 multiplexor
; with active disconnect (-a switch), 8bit characters
; and modem control (-m switch)
set dz enable
set dz 8b
set dz lines=8
att -a -m dz 4023
;
; LP11 line printer
set lpt enable
att lpt /home/pi/simh/printer.txt
;
; Define disk drive types. RA92 is largest-supported VAX drive.
;
; Massbus controller with dual RM80's to play with old versions of VMS
set rp enable
set rp0 rm80
att rp0 /home/pi/simh/disk-images/vax/rm80-vax_sys73.dsk
set rp1 rm80
att rp1 /home/pi/simh/disk-images/vax/rm80-vax_user.dsk
set rp2 disable
set rp3 disable
set rp4 disable
set rp5 disable
set rp6 disable
set rp7 disable
;
; UDA50 MSCP disk controller
set rq enable
set rq0 RA92
att rq0 /home/pi/simh/disk-images/vax/ra92-vax_disk_bilby.dsk
set rq1 RA92
att rq1 /home/pi/simh/disk-images/vax/ra92-vax_sys62.dsk
set rq2 RA92
att rq2 /home/pi/simh/disk-images/vax/ra92-vax_possum_page2.dsk
set rq3 RA82
att rq3 /home/pi/simh/disk-images/vax/ra82-vax_sys47.dsk
;
set rqb enable
; Old RA82 system disks
set rqb0 ra82
att rqb0 /home/pi/simh/disk-images/vax/ra82-vax_disk_bilby.dsk
set rqb1 ra82
att rqb1 /home/pi/simh/disk-images/vax/ra82-vax_sys62.dsk
set rqb2 ra82
att rqb2 /home/pi/simh/disk-images/vax/ra82-vax_possum_page2.dsk
set rqb3 RRD40
att -r rqb3 /home/pi/simh/disk-images/vax/hobbyistv1.iso
;
; Attach Ethernet to a network interface
; Use 'show xq eth' command to show available interfaces.
set xu enable
show xu eth
set xu type=DELUA
set xu mac=08-00-2B-11-07-80
att xu eth0
show xu
;
; Now start the emulator
echo
echo Use 'boot rp0' an RM80 with OpenVMS 7.3
echo or 'boot rq0' an RA92 with VAX/VMS 5.5-2
echo or 'boot rq1' an RA92 with OpenVMS 6.2
echo or 'boot rq2' an RA92 with Standalone Backup 7.3
echo or 'boot rq3' an RA82 with OpenVMS 4.7
echo or 'boot rqb3' an RRD40 with SA Backup and VAX Hobbyist V1 CD-ROM
echo
echo (add /R5:1 for conversational boot or /R5:F0000001 to boot from SYSF root)
echo
echo To load a program from the console floppy use 'fload filename'
echo
pi@pi1:~/simh $ ./run-vms.sh
VAX 11/780 simulator V4.0-0 Current git commit id: 564ce2b3
CPU idle=VMS, idle enabled, model=VAX 11/780, Implementing: All standard VAX instructions and Compatibility mode
32MB, HALT to SIMH
/home/pi/simh/vms780.ini-16> att cs /home/pi/simh/disk-images/vax/rx01-console0.dsk
CS: buffering file in memory
/home/pi/simh/vms780.ini-64> att -a -m dz 4023
Listening on port 4023
Modem control activated
Auto disconnect activated
/home/pi/simh/vms780.ini-75> att rp0 /home/pi/simh/disk-images/vax/rm80-vax_sys73.dsk
RP0: '/home/pi/simh/disk-images/vax/rm80-vax_sys73.dsk' Contains ODS2 File system
RP0: Volume Name: OVMSVAXSYS Format: DECFILE11B Sectors In Volume: 242606
/home/pi/simh/vms780.ini-77> att rp1 /home/pi/simh/disk-images/vax/rm80-vax_user.dsk
RP1: '/home/pi/simh/disk-images/vax/rm80-vax_user.dsk' Contains ODS2 File system
RP1: Volume Name: VAX_USER Format: DECFILE11B Sectors In Volume: 242606
/home/pi/simh/vms780.ini-88> att rq0 /home/pi/simh/disk-images/vax/ra92-vax_disk_bilby.dsk
RQ0: '/home/pi/simh/disk-images/vax/ra92-vax_disk_bilby.dsk' Contains ODS2 File system
RQ0: Volume Name: DISK_BILBY Format: DECFILE11B Sectors In Volume: 2940951
/home/pi/simh/vms780.ini-90> att rq1 /home/pi/simh/disk-images/vax/ra92-vax_sys62.dsk
RQ1: '/home/pi/simh/disk-images/vax/ra92-vax_sys62.dsk' Contains ODS2 File system
RQ1: Volume Name: VAX_SYS62 Format: DECFILE11B Sectors In Volume: 2940951
/home/pi/simh/vms780.ini-94> att rq2 /home/pi/simh/disk-images/vax/ra92-vax_possum_page2.dsk
RQ2: '/home/pi/simh/disk-images/vax/ra92-vax_possum_page2.dsk' Contains ODS2 File system
RQ2: Volume Name: POSSUM_PAGE2 Format: DECFILE11B Sectors In Volume: 2940951
/home/pi/simh/vms780.ini-104> att rq3 /home/pi/simh/disk-images/vax/ra82-vax_sys47.dsk
RQ3: '/home/pi/simh/disk-images/vax/ra82-vax_sys47.dsk' Contains ODS2 File system
RQ3: Volume Name: VAXVMSRL4 Format: DECFILE11B Sectors In Volume: 1216665
/home/pi/simh/vms780.ini-109> att rqb0 /home/pi/simh/disk-images/vax/ra82-vax_disk_bilby.dsk
RQB0: '/home/pi/simh/disk-images/vax/ra82-vax_disk_bilby.dsk' Contains ODS2 File system
RQB0: Volume Name: DISK_BILBY Format: DECFILE11B Sectors In Volume: 1216665
/home/pi/simh/vms780.ini-111> att rqb1 /home/pi/simh/disk-images/vax/ra82-vax_sys62.dsk
RQB1: '/home/pi/simh/disk-images/vax/ra82-vax_sys62.dsk' Contains ODS2 File system
RQB1: Volume Name: VAX_SYS62 Format: DECFILE11B Sectors In Volume: 1216665
/home/pi/simh/vms780.ini-113> att rqb2 /home/pi/simh/disk-images/vax/ra82-vax_possum_page2.dsk
RQB2: '/home/pi/simh/disk-images/vax/ra82-vax_possum_page2.dsk' Contains ODS2 File system
RQB2: Volume Name: POSSUM_PAGE2 Format: DECFILE11B Sectors In Volume: 1216665
/home/pi/simh/vms780.ini-115> att -r rqb3 /home/pi/simh/disk-images/vax/hobbyistv1.iso
RQB3: unit is read only
RQB3: '/home/pi/simh/disk-images/vax/hobbyistv1.iso' Contains ODS2 File system
RQB3: Volume Name: HOBBYISTV1 Format: DECFILE11B Sectors In Volume: 1331200
ETH devices:
eth0 enxb827eb4340f0 (No description available)
eth1 wlan0 (No description available)
eth2 tap:tapN (Integrated Tun/Tap support)
eth3 vde:device{:switch-port-number} (Integrated VDE support)
eth4 nat:{optional-nat-parameters} (Integrated NAT (SLiRP) support)
eth5 udp:sourceport:remotehost:remoteport (Integrated UDP bridge support)
libpcap version 1.8.1
/home/pi/simh/vms780.ini-152> att xu eth0
Eth: opened OS device enxb827eb4340f0
XU address=2013F948-2013F94F, vector=50, BR5, MAC=08:00:2B:11:07:80
type=DELUA, throttle=disabled
attached to eth0
Use 'boot rp0' an RM80 with OpenVMS 7.3
or 'boot rq0' an RA92 with VAX/VMS 5.5-2 ex BILBY
or 'boot rq1' an RA92 with OpenVMS 6.2
or 'boot rq2' an RA92 with Standalone Backup 7.3
or 'boot rq3' an RA82 with OpenVMS 4.7
or 'boot rqb3' an RRD40 with SA Backup and VAX Hobbyist V1 CD-ROM
(add /R5:1 for conversational boot or /R5:F0000001 to boot from SYSF root)
To load a program from the console floppy use 'fload filename'
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 2,463,000 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: Internal Timer
Catchup Ticks: Enabled for clocks ticking faster than 1000 Hz
Calibration: Skipped when Idle exceeds 50%
VAX 11/780 clock device is TMR
Uncalibrated Timer 0:
Seconds Running: 0 ()
Real Time: 182374926
Virtual Time: 182374926
Next Interval: 1,000
Base Tick Delay: 5,000
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 5,000
Initializations: 5
Ticks: 0
Initialize Base Time: 08:31:45.563
Wall Clock Time Now: 08:31:52.446
VAX 11/780 clock device is Internal Calibrated Timer(INT-TIMER)
Calibrated Timer 8:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 1
Seconds Running: 0 ()
Calibration Opportunities: 0
Calib Skip Idle Thresh %: 50
Real Time: 182374926
Virtual Time: 182374926
Next Interval: 1,000
Base Tick Delay: 24,630
Initial Insts Per Tick: 24,630
Current Insts Per Tick: 24,630
Initializations: 4
Ticks: 0
Initialize Base Time: 08:31:45.526
Tick Start Time: 08:31:45.526
Wall Clock Time Now: 08:31:52.447
sim> b rq0
Loading boot code from internal vmb.exe
VAX/VMS Version V5.5-2 Major version id = 1 Minor version id = 0
waiting to form or join a VAXcluster system
%CNXMAN, Proposing formation of a VAXcluster
%CNXMAN, Now a VAXcluster member -- system VAX
%CNXMAN, Completing VAXcluster state transition
$! Copyright (c) 1992 Digital Equipment Corporation. All rights reserved.
%STDRV-I-STARTUP, VMS startup begun at 31-MAY-2019 08:33:00.68
$!
[snip]
$! Submit job to start layered products, queues etc
$!
$ submit/que=sys$sysmgr-
/log=mgr_log:startall.log-
/noprint-
/after="+00:05:00" -
mgr_com:startall
%%%%%%%%%%% OPCOM 31-MAY-2019 08:34:31.63 %%%%%%%%%%%
Message from user SYSTEM on VAX
XDM: XDM Server 3.4 (6) starting
Job STARTALL (queue SYS$SYSMGR, entry 106) holding until 31-MAY-2019 08:39
$!
$ set noverify
%DECW-W-NODEVICE, No graphics device found on this system
-DECW-I-NODECW, DECwindows graphics drivers will not be loaded
%SET-I-INTSET, login interactive limit = 64, current interactive value = 0
31-MAY-2019 08:34:33
%RUN-S-PROC_ID, identification of created process is 20200097
SYSTEM job terminated at 31-MAY-2019 08:34:53.31
Accounting information:
Buffered I/O count: 3636 Peak working set size: 1153
Direct I/O count: 1917 Peak page file size: 4765
Page faults: 19877 Mounted volumes: 2
Charged CPU time: 0 00:00:09.27 Elapsed time: 0 00:01:53.02
%%%%%%%%%%% OPCOM 31-MAY-2019 08:34:59.34 %%%%%%%%%%%
Message from user DECNET on VAX
DECnet event 4.18, adjacency down
From node 42.32 (VAX), 31-MAY-2019 08:34:59.34
Circuit UNA-0, Adjacent node listener receive timeout
Adjacent node = 42.30 (ALPHA)
%%%%%%%%%%% OPCOM 31-MAY-2019 08:35:18.34 %%%%%%%%%%%
Message from user DECNET on VAX
DECnet event 4.18, adjacency down
From node 42.32 (VAX), 31-MAY-2019 08:35:18.34
Circuit UNA-0, Adjacent node listener receive timeout
Adjacent node = 42.6 (VOGON)
%%%%%%%%%%% OPCOM 31-MAY-2019 08:45:36.16 %%%%%%%%%%%
Message from user LATACP on VAX
LATACP initialized
Reply received on VAX from user SYSTEM at VAX Batch 08:46:28
VAX is now on the air!
Simulation stopped, PC: 804D7CDF (BBC #3,26C(R3),804D7D1C)
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 214,748,364,700 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: TMR
Calibration: Skipped when Idle exceeds 50%
VAX 11/780 clock device is TMR
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 7
Seconds Running: 1,030 (17:10 minutes)
Calibration Opportunities: 1,030
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 24
Calibs Skip Gap Too Big: 1
Instruction Time: 1971708439
Real Time: 183437285
Virtual Time: 183871257
Next Interval: 1,500
Base Tick Delay: 2,147,483,647
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 2,147,483,647
Initializations: 9
Ticks: 103,005
Total Ticks: 103,006
Peak Clock Skew: 7:12.981114 minutes slow
Ticks Acked: 103,006
Tick Time: 17:10.05 minutes
Total Tick Time: 17:10.06 minutes
Catchup Ticks Sched: 100,996
Initialize Base Time: 08:32:15.751
Tick Start Time: 08:32:15.751
Wall Clock Time Now: 08:49:30.204
Catchup Tick Time: 08:49:25.803
Catchup Base Time: 08:32:15.753
Total Time Idled: 7:36.979 minutes
sim> show console
WRU = 0x5 = ^E
BRK = 0x0 = ^@
DEL = 0x7F
pchar mask = 2780 {CR(^M),LF(^J),HT(^I),BS(^H),BEL(^G)}
No Logging
Connected to console window
Debugging disabled
Unbuffered
Console Expect processing:
Match Rules:
Console Send processing:
CONSOLE
No Pending Input Data
Minimum of 0 instructions between characters
Default delay before first character input is 1000 instructions
Default delay between character input is 1000 instructions
sim> sho config
VAX 11/780 simulator configuration
CPU idle=VMS, idle enabled, model=VAX 11/780, Implementing: All standard VAX instructions and Compatibility mode
32MB, HALT to SIMH
TLB 2 units
TLB0 8192W
TLB1 8192W
SBI
MCTL0 nexus=1, address=20002000
MCTL1 nexus=2, address=20004000
UBA nexus=3, address=20006000, autoconfiguration enabled
MBA0 nexus=8, address=20010000
MBA1 nexus=9, address=20012000
TODR
12B
TMR
TTI
8b
TTO
8b
CS
256KB, attached to /home/pi/simh/disk-images/vax/rx01-console0.dsk, write enabled
TC disabled
TDC disabled
DZ address=2013E040-2013E047*, vector=C0-C4*, BR5, lines=8
attached to 4023, 8b, 0 current connections
VH disabled
CR disabled
LPT address=2013FF4C-2013FF4F, vector=80, BR4
attached to /home/pi/simh/printer.txt
RP Massbus adapter 0, 8 units
RP0 62MW, attached to /home/pi/simh/disk-images/vax/rm80-vax_sys73.dsk, write enabled
RAW format, RM80
RP1 62MW, attached to /home/pi/simh/disk-images/vax/rm80-vax_user.dsk, write enabled
RAW format, RM80
RL disabled
HK disabled
RK disabled
RQ address=2013F468-2013F46B, vector=1FC*, BR5, UDA50, 4 units
RQ0 1505MB, attached to /home/pi/simh/disk-images/vax/ra92-vax_disk_bilby.dsk, write enabled
RA92, UNIT=0, autosize
RAW format
RQ1 1505MB, attached to /home/pi/simh/disk-images/vax/ra92-vax_sys62.dsk, write enabled
RA92, UNIT=1, autosize
RAW format
RQ2 1505MB, attached to /home/pi/simh/disk-images/vax/ra92-vax_possum_page2.dsk, write enabled
RA92, UNIT=2, autosize
RAW format
RQ3 622MB, attached to /home/pi/simh/disk-images/vax/ra82-vax_sys47.dsk, write enabled
RA82, UNIT=3, autosize
RAW format
RQB address=2013E0EC-2013E0EF*, vector=C8*, BR5, UDA50, 4 units
RQB0 622MB, attached to /home/pi/simh/disk-images/vax/ra82-vax_disk_bilby.dsk, write enabled
RA82, UNIT=0, autosize
RAW format
RQB1 622MB, attached to /home/pi/simh/disk-images/vax/ra82-vax_sys62.dsk, write enabled
RA82, UNIT=1, autosize
RAW format
RQB2 622MB, attached to /home/pi/simh/disk-images/vax/ra82-vax_possum_page2.dsk, write enabled
RA82, UNIT=2, autosize
RAW format
RQB3 681MB, attached to /home/pi/simh/disk-images/vax/hobbyistv1.iso, read only, read only
RRD40, UNIT=3, autosize
RAW format
RQC disabled
RQD disabled
RY disabled
TU Massbus adapter 1, TM03, 8 units
TU0 not attached, write locked, TU77
SIMH format, unlimited capacity
TU1 not attached, write locked, TU77
SIMH format, unlimited capacity
TS disabled
TQ TK50 (94MB), address=2013F940-2013F943, vector=B0, BR5, 4 units
TQ0 attached to /home/pi/simh/disk-images/vax/tk50-0.tap, write enabled, UNIT=0
SIMH format, capacity=98MB
XU address=2013F948-2013F94F, vector=50, BR5, MAC=08:00:2B:11:07:80
type=DELUA, throttle=disabled
attached to eth0
XUB disabled
DMC disabled
CH disabled
sim> q
Hi Tony,
This number:
Execution Rate: 214,748,364,700 cycles/sec
Is rather incredible on a Raspberry Pi (or any other machine for that matter). The fact that we're seeing this number will have something to do with the behavior you're seeing. I'm looking for it now.
As it turns out, I knew that the timing changes I was messing with were in no way platform specific, so I was surprised to get reports about potential problems specifically on the Raspberry Pi. The real problem was that things worked just fine AS LONG AS you never used ^E to stop execution and then subsequently resume it. The time spent sitting at the sim> prompt was accounted for in some contexts, but not in the catchup tick computations. If now is and my testing is much better now.
I've just rebuilt VAX780 commit id: f917accb
on my Raspberry Pi. It still has problems.
VMS boots up and runs the start-up, then the vax780 process on the Raspberry Pi enters into a 100% CPU usage loop and I cannot login on the console. The execution rate in show clock
is still weird!
%DECW-W-NODEVICE, No graphics device found on this system
-DECW-I-NODECW, DECwindows graphics drivers will not be loaded
%SET-I-INTSET, login interactive limit = 64, current interactive value = 0
2-JUN-2019 09:19:47
%RUN-S-PROC_ID, identification of created process is 20200097
%%%%%%%%%%% OPCOM 2-JUN-2019 09:20:06.08 %%%%%%%%%%%
Message from user DECNET on VAX
DECnet event 4.18, adjacency down
From node 42.32 (VAX), 2-JUN-2019 09:20:06.08
Circuit UNA-0, Adjacent node listener receive timeout
Adjacent node = 42.6 (VOGON)
SYSTEM job terminated at 2-JUN-2019 09:20:08.08
Accounting information:
Buffered I/O count: 3637 Peak working set size: 899
Direct I/O count: 1928 Peak page file size: 4765
Page faults: 20027 Mounted volumes: 2
Charged CPU time: 0 00:00:08.35 Elapsed time: 0 00:01:47.34
%%%%%%%%%%% OPCOM 2-JUN-2019 09:20:10.77 %%%%%%%%%%%
Message from user DECNET on VAX
DECnet event 4.18, adjacency down
From node 42.32 (VAX), 2-JUN-2019 09:20:07.76
Circuit UNA-0, Adjacent node listener receive timeout
Adjacent node = 42.30 (ALPHA)
Simulation stopped, PC: 804D7CDF (BBC #3,26C(R3),804D7D1C)
sim> sh clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 214,748,364,700 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: TMR
Calibration: Skipped when Idle exceeds 50%
VAX 11/780 clock device is TMR
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 4
Seconds Running: 366 (6:06 minutes)
Calibration Opportunities: 366
Calib Skip Idle Thresh %: 50
Calibs Skip While Idle: 23
Instruction Time: 726877963
Real Time: 358293734
Virtual Time: 358316752
Next Interval: 1,500
Base Tick Delay: 2,147,483,647
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 2,147,483,647
Initializations: 9
Ticks: 36,602
Total Ticks: 36,603
Peak Clock Skew: 6.910104 seconds slow
Ticks Acked: 36,603
Tick Time: 6:06.02 minutes
Total Tick Time: 6:06.03 minutes
Catchup Ticks Sched: 34,591
Initialize Base Time: 09:17:36.200
Tick Start Time: 09:17:36.200
Wall Clock Time Now: 09:23:47.055
Catchup Tick Time: 09:23:42.222
Catchup Base Time: 09:17:36.202
Total Time Idled: 22.49 seconds
sim>
sim> show version
VAX 11/780 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Threaded Ethernet Packet transports:PCAP:TAP:VDE:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 6.3.0 20170516
Simulator Compiled as C arch: ARM (Release Build) on Jun 2 2019 at 08:23:00
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: No Video Support
PCRE RegEx (Version 8.39 2016-06-14) support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: Linux pi1 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
git commit id: f917accb
git commit time: 2019-06-01T21:40:52+02:00
I forced a crash dump in VMS -
sim> d psl 041f0000
sim> d pc ffffffff
sim> con
**** Fatal BUG CHECK, version = V5.5-2 INVEXCEPTN, Exception while above ASTDEL or on interrupt stack
Crash CPU: 00 Primary CPU: 00
Active/available CPU masks: 00000001/00000001
Current process = NULL
Register dump
R0 = 0000001F
R1 = 041F0000
R2 = 00000006
R3 = 8142A000
R4 = 808167F0
R5 = 81D6E200
R6 = 00128DFC
R7 = 00000000
R8 = 00133A18
R9 = 0013345C
R10= 00118E30
R11= 7FFBE70A
AP = 00167C58
FP = 00167C34
SP = 8142BDC8
PC = 80497042
PSL= 041F0009
Kernel/interrupt/boot stack
8142BDD0 00000004
8142BDD4 00167C34
8142BDD8 FFFFFFFD
8142BDDC 00000001
8142BDE0 00000000
8142BDE4 00000001
8142BDE8 00000005
8142BDEC 0000000C
8142BDF0 00000001
8142BDF4 FFFFFFFC
8142BDF8 FFFFFFFF
8142BDFC 041F0000
Loaded images
[SYSMSG]SYSMSG.EXE 803B9600 803E8400
[SYS$LDR]SYSLDR_DYN.EXE 804F3C00 804F5C00
[SYS$LDR]DDIF$RMS_EXTENSION.EXE 804F6200 804F7400
[SYS$LDR]RECOVERY_UNIT_SERVICES.EXE 804F7600 804F7E00
[SYS$LDR]RMS.EXE 803E8400 80410200
VAXCLUSTER_CACHE.EXE 80459000 80459600
SYS$NETWORK_SERVICES.EXE 80459C00 80459E00
SYS$TRANSACTION_SERVICES.EXE 8045A400 80475600
CPULOA.EXE 80475A00 80478C00
LMF$GROUP_TABLE.EXE 80479C00 8047B000
SYSLICENSE.EXE 8047B400 8047CC00
SYSGETSYI.EXE 8047D200 8047E800
SYSDEVICE.EXE 8047EC00 80481200
MESSAGE_ROUTINES.EXE 80481800 80486A00
EXCEPTION.EXE 80496E00 8049FE00
LOGICAL_NAMES.EXE 804A0600 804A2200
SECURITY.EXE 804A2800 804A4E00
LOCKING.EXE 804A5400 804AA800
PAGE_MANAGEMENT.EXE 804AAE00 804B3800
WORKING_SET_MANAGEMENT.EXE 804C4200 804C9200
IMAGE_MANAGEMENT.EXE 804C9C00 804CC800
EVENT_FLAGS_AND_ASTS.EXE 804CCE00 804CE200
IO_ROUTINES.EXE 804CE800 804D7400
PROCESS_MANAGEMENT.EXE 804D7C00 804E1A00
ERRORLOG.EXE 804E9800 804EA200
PRIMITIVE_IO.EXE 804EA800 804EB800
SYSTEM_SYNCHRONIZATION_UNI.EXE 804EBC00 804ED800
SYSTEM_PRIMITIVES.EXE 804EDE00 804F1400
**** Starting memory dump....
Header and error log buffers dumped...
SPT & GPT dumped...
System space dumped...
Global pages dumped...
NETACP dumped...
REMACP dumped...
CONFIGURE dumped...
IPCACP dumped...
SMISERVER dumped...
ERRFMT dumped...
CACHE_SERVER dumped...
CLUSTER_SERVER dumped...
OPCOM dumped...
AUDIT_SERVER dumped...
JOB_CONTROL dumped...
QUEUE_MANAGER dumped...
EVL dumped...
MULTINET_SERVER dumped...
XDM_SERVER dumped...
LATACP dumped...
SYMBIONT_1 dumped...
**** Memory dump complete....
Loading boot code from internal vmb.exe
Rebooting...
VAX/VMS Version V5.5-2 Major version id = 1 Minor version id = 0
Killed
Booting up the older commit -
pi@pi1:~/simh $ sudo ~/src/simh-master-6b3bff56/BIN/vax780 vms780.ini
Then analyzing the crash dump shows VMS was in the IDLE state - so something inside SIMH is doing this.
Do you have a Raspberry Pi to test this on?
I tried building with DEBUG=1 and get errors with the basic instruction exerciser phase.
pi@pi1:~/src/simh-master $ make DEBUG=1 vax780
lib paths are: /lib/ /lib/arm-linux-gnueabihf/ /opt/vc/lib/ /usr/lib/ /usr/lib/arm-linux-gnueabihf/ /usr/lib/arm-linux-gnueabihf/libfakeroot/ /usr/lib/arm-linux-gnueabihf/neon/vfp/
include paths are: /usr/lib/gcc/arm-linux-gnueabihf/6/include /usr/local/include /usr/lib/gcc/arm-linux-gnueabihf/6/include-fixed /usr/include/arm-linux-gnueabihf /usr/include
using libm: /usr/lib/arm-linux-gnueabihf/libm.so
using librt: /usr/lib/arm-linux-gnueabihf/librt.so
using libpthread: /usr/lib/arm-linux-gnueabihf/libpthread.so /usr/include/pthread.h
using libpcreposix: /usr/lib/arm-linux-gnueabihf/libpcreposix.so /usr/lib/arm-linux-gnueabihf/libpcre.so /usr/include/pcreposix.h /usr/include/pcre.h
using semaphore: /usr/include/semaphore.h
using libdl: /usr/lib/arm-linux-gnueabihf/libdl.so /usr/include/dlfcn.h
using mman: /usr/include/arm-linux-gnueabihf/sys/mman.h
using libpcap: /usr/include/pcap.h
using libvdeplug: /usr/lib/libvdeplug.so /usr/include/libvdeplug.h
***
*** vax780 Simulator being built with:
*** - debugging support. GCC Version: 6.3.0.
*** - dynamic networking support using Linux provided libpcap components.
*** - Local LAN packet transports: PCAP VDE TAP NAT(SLiRP)
*** - Per simulator tests will be run.
***
*** git commit id is f917accbec53f97bbe7f9312385c09fd056a8d8e.
*** git commit time is 2019-06-01T21:40:52+02:00.
***
mkdir -p BIN/buildtools
mkdir -p BIN/buildtools
gcc -std=gnu99 -U__STRICT_ANSI__ -g -ggdb -g3 -O0 -Wno-unused-result -DSIM_GIT_COMMIT_ID=f917accbec53f97bbe7f9312385c09fd056a8d8e -DSIM_GIT_COMMIT_TIME=2019-06-01T21:40:52+02:00 -DSIM_COMPILER="GCC Version: 6.3.0" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_PCREPOSIX_H -DHAVE_SEMAPHORE -DHAVE_SYS_IOCTL -DHAVE_LINUX_CDROM -DHAVE_DLOPEN=so -DHAVE_UTIME -DHAVE_GLOB -DHAVE_SHM_OPEN VAX/vax_cpu.c VAX/vax_cpu1.c VAX/vax_fpa.c VAX/vax_cis.c VAX/vax_octa.c VAX/vax_cmode.c VAX/vax_mmu.c VAX/vax_sys.c VAX/vax_syscm.c VAX/vax780_stddev.c VAX/vax780_sbi.c VAX/vax780_mem.c VAX/vax780_uba.c VAX/vax7x0_mba.c VAX/vax780_fload.c VAX/vax780_syslist.c PDP11/pdp11_rl.c PDP11/pdp11_rq.c PDP11/pdp11_ts.c PDP11/pdp11_dz.c PDP11/pdp11_lp.c PDP11/pdp11_tq.c PDP11/pdp11_xu.c PDP11/pdp11_ry.c PDP11/pdp11_cr.c PDP11/pdp11_rp.c PDP11/pdp11_tu.c PDP11/pdp11_hk.c PDP11/pdp11_vh.c PDP11/pdp11_dmc.c PDP11/pdp11_dup.c PDP11/pdp11_td.c PDP11/pdp11_tc.c PDP11/pdp11_rk.c PDP11/pdp11_io_lib.c PDP11/pdp11_ch.c scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c sim_disk.c sim_serial.c sim_video.c sim_imd.c sim_card.c -DVM_VAX -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I PDP11 -DHAVE_PCAP_NETWORK -I/usr/include/ -DBPF_CONST_STRING -DUSE_SHARED -DHAVE_VDE_NETWORK -DHAVE_TAP_NETWORK -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -o BIN/vax780 -lm -lrt -lpthread -lpcreposix -lpcre -ldl -lvdeplug -Wl,-R,/usr/lib/ -L/usr/lib/
BIN/vax780 /home/pi/src/simh-master/VAX/tests/vax-diag_test.ini
VAX 11/780 simulator V4.0-0 Current git commit id: f917accb
Running Hardware Core Test (EVKAA)
*** PASSED - VAX 11/780 Hardware Core Instruction test EVKAA
Starting VAX Diagnostic Supervisor
Running - VAX Basic Instructions Exerciser EVKAB
*** FAILED - VAX Basic Instructions Exerciser EVKAB
makefile:2183: recipe for target 'BIN/vax780' failed
make: *** [BIN/vax780] Error 1
pi@pi1:~/src/simh-master $ cd
pi@pi1:~ $ cd simh
pi@pi1:~/simh $ sudo gdb ~/src/simh-master/BIN/vax780
GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/pi/src/simh-master/BIN/vax780...done.
(gdb) run
Starting program: /home/pi/src/simh-master/BIN/vax780
When you get a build failure with the basic tests, more useful info might be visible if you passed TEST_ARG=-v on the make command line:
$ make DEBUG=1 TEST_ARG=-v vax780
I do have a Raspberry Pi to test on. I DO NOT see the build test failure that you're seeing. You're running a newer kernel, but we're using the same GCC version.
Apart from the build failure, I am seeing behavior similar to what you're reporting when running the vax780 simulator. I'm looking into the underlying cause.
Commit id: 53ad66f5
now behaves properly with the latest clock routine changes on Raspbian (VAX780 and PDP11) and also for VAX 3900 under Windows 10 with Visual Studio 2015.
However, under Cygwin I'm seeing the VAX 3900 console throw ?53 errors (timer test failures).
sim> b
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..
?53 2 0A FF 00 0000
P1=00000002 P2=00000028 P3=00002718 P4=00D40077 P5=00000001
P6=FFFFFFFF P7=00000000 P8=00000000 P9=20051BD0 P10=20051CE0
r0=00000008 r1=20140110 r2=5FBF786E r3=0003041C r4=5FBF7878
r5=2004E8F9 r6=00018678 r7=000186C8 r8=0001ADB8 ERF=82000180
30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Normal operation not possible.
If I persist and try again a few times (doing a vax vms.ini
command) I can get it to pass the rom diagnostics and boot into OpenVMS VAX V7.3 - but after the start-up runs, I am unable to login and I see DECnet adjacency down messages. CTRL-E is also unresponsive. I left it a while to grab something to eat and tried a flurry of CTRL-E's when I returned and was able to get the sim> prompt.
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 43,899,218,700 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: CLK
Pre-Calibration Estimated Rate: 13,368,983
Calibration: Always
Asynchronous Clocks: Available
MicroVAX 3900 clock device is CLK
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 0
Seconds Running: 226 (3:46 minutes)
Calibration Opportunities: 226
Calibs Skip Gap Too Big: 47
Instruction Time: -11606888538
Real Time: 573721080
Virtual Time: 573721080
Next Interval: 1,000
Base Tick Delay: 324,218,750
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 438,992,187
Initializations: 6
Ticks: 20,867
Total Ticks: 22,600
Peak Clock Skew: 49.168433 seconds slow
Ticks Acked: 19,526
Tick Time: 43:03.555 minutes
Total Tick Time: 43:20.875 minutes
Catchup Ticks Sched: 16,149
Initialize Base Time: 20:31:38.810
Tick Start Time: 20:31:38.989
Wall Clock Time Now: 21:19:33.172
Catchup Tick Time: 21:14:55.631
Catchup Base Time: 20:31:52.076
Total Time Idled: 41:02.112 minutes
sim> show version
MicroVAX 3900 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Polled Ethernet Packet transports:PCAP:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 7.4.0
Simulator Compiled as C arch: x86 (Release Build) on Jun 4 2019 at 20:23:51
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: SDL Version 2.0.7
RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: CYGWIN_NT-10.0-WOW trillian 3.0.7(0.338/5/3) 2019-04-30 18:04 i686 Cygwin
git commit id: 53ad66f5
git commit time: 2019-06-04T00:02:17-07:00
sim>
There's still some problems with the clock routines... a negative instruction time looks wrong!
Tony,
The latest code works well for me on my Raspberry Pi. If you are still experiencing strange timing behavior. Please include these lines at the beginning of your configuration file and when it misbehaves, please zip the resulting timing.dbg file and attach it to this issue. Note, you want to capture the timing.dbg file after you have stopped the running simulator with ^E.
Add these commands: sim> SET DEBUG -NT timing.dbg sim> SET INT-CLOCK DEBUG=CALIB
Thanks.
Mark
Sorry for the delay in responding. It was a holiday long weekend here and I was away for a few days.
Commit id: 9ab8d0e9
still has problems under Cygwin on Windows 10 for me.
I'm able to boot into OpenVMS, the start-up completes, I can log-in to SYSTEM, then the performance degrades to the point that keystrokes are taking 30 seconds or more to echo.
Attached is the timing.dbg file and the show version/show clock after a shutdown was taking too long.. so i broke in with CTRL-E...
sim> show version
MicroVAX 3900 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Polled Ethernet Packet transports:PCAP:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 7.4.0
Simulator Compiled as C arch: x86 (Release Build) on Jun 9 2019 at 16:01:38
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: SDL Version 2.0.7
RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: CYGWIN_NT-10.0-WOW trillian 3.0.7(0.338/5/3) 2019-04-30 18:04 i686 Cygwin
git commit id: 9ab8d0e9
git commit time: 2019-06-08T16:38:15-07:00
sim> show clock
Minimum Host Sleep Time: 1 ms (1000Hz)
Host Clock Resolution: 1 ms
Execution Rate: 32,003,420,400 cycles/sec
Idling: Enabled
Time before Idling starts: 20 seconds
Calibrated Timer: CLK
Pre-Calibration Estimated Rate: 13,586,956
Calibration: Always
Asynchronous Clocks: Available
MicroVAX 3900 clock device is CLK
Calibrated Timer 0:
Running at: 100 Hz
Tick Size: 10 msecs
Ticks in current second: 1
Seconds Running: 317 (5:17 minutes)
Calibration Opportunities: 317
Calibs Skip Gap Too Big: 34
Instruction Time: -69319516630
Real Time: 1067611803
Virtual Time: 1067611803
Next Interval: 1,000
Base Tick Delay: 213,356,136
Initial Insts Per Tick: 5,000
Current Insts Per Tick: 320,034,204
Initializations: 3
Ticks: 29,576
Total Ticks: 31,701
Peak Clock Skew: 4:58.280969 minutes slow
Ticks Acked: 27,390
Tick Time: 34:16.109 minutes
Total Tick Time: 34:37.349 minutes
Catchup Ticks Sched: 25,476
Catchup Ticks this second: 1
Initialize Base Time: 13:51:42.317
Tick Start Time: 13:51:42.487
Wall Clock Time Now: 14:31:27.931
Catchup Tick Time: 14:26:13.896
Catchup Base Time: 13:51:57.787
Total Time Idled: 37:19.594 minutes
sim>
Hi Tony,
Can you do the same with a VAX780 simulator that you had mentioned previously? The internal timing behaviors on the MicroVAX 3900 and the VAX780 are significantly different during startup. Specifically, the MicroVAX 3900 runs from ROM which has deliberate delays that affect clock calibration and confuses the data that has been gathered. Once the details have been completely fixed on the VAX780, the net results should work on all simulators.
Thanks.
Mark
Please pickup the latest code to test with.
Mark,
Here's the VAX780 timer debug output (attached) from running under Cygwin on Windows 10 version 1903 (OS Build 18362.145). After 20 minutes uptime the booted VAX/VMS V5.5-2 system seems running fine with no perceived issues. Inside the debug output you'll find the output of the 'show clock' command too after I shutdown.
I ran the previous commit of VAX780 overnight on my Raspberry Pi 3B and it had no issues too.
sim> sh ver
VAX 11/780 simulator V4.0-0 Current
Simulator Framework Capabilities:
64b data
64b addresses
Polled Ethernet Packet transports:PCAP:NAT:UDP
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC 7.4.0
Simulator Compiled as C arch: x86 (Release Build) on Jun 11 2019 at 08:23:08
Memory Access: Little Endian
Memory Pointer Size: 32 bits
Large File (>2GB) support
SDL Video support: No Video Support
RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: CYGWIN_NT-10.0-WOW trillian 3.0.7(0.338/5/3) 2019-04-30 18:04 i686 Cygwin
git commit id: 8c4f8b0b
git commit time: 2019-06-10T14:55:05-07:00
We're getting close. There was only a couple of minor functional changes in the most recent commit.
Please try this with the MicroVax 3900 hopefully on both the Cygwin and Raspberry environments.
Thanks.
Mark
Attached are the timing debug files for MicroVax3900 on both Raspberry Pi and under Cygwin.
The Raspberry Pi seems very well behaved, however I'm still seeing the ?53 boot rom error occasionally under Cygwin. Once I get it to boot, all seems well.
sim> b
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..
?53 2 0A FF 00 0000
P1=00000002 P2=00000028 P3=00002714 P4=00D40077 P5=00000001
P6=FFFFFFFF P7=00000000 P8=00000000 P9=20051BD0 P10=20051CE0
r0=00000004 r1=20140110 r2=633DF851 r3=00030412 r4=633DF85B
r5=2004E8F9 r6=00018678 r7=000186C8 r8=0001ADB4 ERF=82000180
30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Normal operation not possible.
>>> <CTRL-E>
Simulation stopped, PC: 2004367B (PUSHR #80C)
sim> b
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>b
(BOOT/R5:0 DUA0
Tony,
Several stability changes have occurred in the TIMER functionality. Please confirm that things work well now on the various simulators and host systems you work with.
Thanks.
Mark, I've built the latest commit id: b3fa1f9f microvax3900 and VAX780 on Raspbian, macOS and Cygwin. There appear to be no noticeable timer issues. I'll leave things running overnight and report back.
Tony
Everything is fine this morning with this latest commit. Looks like you've fixed it Mark.
Thank you for your help.
Tony
Context
I'm seeing DECnet adjacency up/down OPCOM messages using OpenVMS VAX V7.3 under SIMH VAX and the system time is slow (
commit id: 45d8c908
) following the recent timer/clock commits. Prior to this I was usingcommit id: 42271bd4
.This is on both Cygwin (Windows 10 19H1) and Linux (Raspbian stretch).
the output of "sim> SHOW VERSION" while running the simulator which is having the issue
how you built the simulator or that you're using prebuilt binaries
the simulator configuration file (or commands) which were used when the problem occurred.
the expected behavior and the actual behavior
you may also need to provide specific pointers to data files that may be necessary to demonstrate the problem