[Simh] Problem booting RSX11M on pdp11 (halt at loc 0)
Mark Pizzolato
Mark at infocomm.com
Fri Mar 30 10:35:48 EDT 2018
On Friday, March 30, 2018 at 4:35 AM, Phil Fisher wrote:
> the point on another Linux is valid -- as I suspect VBox itself is not to blame
> since I had similar results with VMware Workstation (although I have not
> attempted to find a way to access "real" store on there I think it would work if
> I could do so).
>
> Based on other responses and comments from the mailing list that others
> have run other SimH simulators under virtualisation (but maybe more
> commercial ones) with no issues I suspect it may be something on my
> hardware setup on the HP laptop (relating to virtualisation) or the Win 10
> itself.
>
> I am not yet good with SimH debugging (it took me a while to get to provide
> the help it did and I am still not convinced I did it correctly) so any
> suggestions welcome on that front.
You found your way there reasonably well. Building with DEBUG=1 is only
necessary if you're planning on running the simulator under a debugger and
plan to set breakpoints, etc directly in the simulator code. The simh
provided debug output is always there without regard to having built
things with DEBUG=1.
Meanwhile, you've isolated things well to what seems to be where the
Disk image file is located. To help yourself you should use host system
tools to assure that the files are indeed EXACTLY the same.
I pulled down a CentOS 7 ISO image and installed that in a newly
created VirtualBox VM on my Windows 10 Laptop. I pulled the latest
code from github.com/simh/simh master branch and built it and tested.
This is what happened to me:
[mark at localhost simh]$ make pdp11
*** Installing git hooks in local repository ***
lib paths are: /lib64/ /usr/lib64/dyninst/ /usr/lib64/iscsi/ /usr/lib64/mysql/
include paths are: /usr/include
using libm: /lib64/libm.so
using librt: /lib64/librt.so
using libpthread: /lib64/libpthread.so /usr/include/pthread.h
using regex: /usr/include/regex.h
using libdl: /lib64/libdl.so /usr/include/dlfcn.h
using mman: /usr/include/sys/mman.h
*** Info ***
*** Info *** The simulator you are building could provide more
*** Info *** functionality if video support were available on your system.
*** Info *** Install the development components of libSDL packaged by your
*** Info *** operating system distribution and rebuild your simulator to
*** Info *** enable this extra functionality.
*** Info ***
using libpcap: /usr/include/pcap.h
*** Info ***
*** Info *** pdp11 Simulator are being built with
*** Info *** minimal libpcap networking support
*** Info ***
*** Info ***
*** Info *** Simulators on your Linux platform can also be built with
*** Info *** extended LAN Ethernet networking support by using VDE Ethernet.
*** Info ***
*** Info *** To build simulator(s) with extended networking support you
*** Info *** should read 0readme_ethernet.txt and follow the instructions
*** Info *** regarding the needed libvdeplug components for your Linux
*** Info *** platform
*** Info ***
***
*** pdp11 Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 4.8.5.
*** - dynamic networking support using Linux provided libpcap components.
*** - Local LAN packet transports: PCAP TAP NAT(SLiRP)
***
*** git commit id is b0ff29781b2e6f526f6f36602590fcd91adc0c95.
*** git commit time is 2018-03-29T21:12:44-0700.
***
gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -Wno-unused-result -DSIM_GIT_COMMIT_ID=b0ff29781b2e6f526f6f36602590fcd91adc0c95 -DSIM_GIT_COMMIT_TIME=2018-03-29T21:12:44-0700 -DSIM_GIT_COMMIT_TIME=2018-03-29T21:12:44-0700 -DSIM_COMPILER="GCC Version: 4.8.5" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_REGEX_H -DHAVE_DLOPEN=so -DHAVE_UTIME -DHAVE_GLOB -DHAVE_SHM_OPEN sim_BuildROMs.c -o BIN/BuildROMs
BIN/BuildROMs
rm -f BIN/BuildROMs
gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -Wno-unused-result -DSIM_GIT_COMMIT_ID=b0ff29781b2e6f526f6f36602590fcd91adc0c95 -DSIM_GIT_COMMIT_TIME=2018-03-29T21:12:44-0700 -DSIM_GIT_COMMIT_TIME=2018-03-29T21:12:44-0700 -DSIM_COMPILER="GCC Version: 4.8.5" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_REGEX_H -DHAVE_DLOPEN=so -DHAVE_UTIME -DHAVE_GLOB -DHAVE_SHM_OPEN PDP11/pdp11_fp.c PDP11/pdp11_cpu.c PDP11/pdp11_dz.c PDP11/pdp11_cis.c PDP11/pdp11_lp.c PDP11/pdp11_rk.c PDP11/pdp11_rl.c PDP11/pdp11_rp.c PDP11/pdp11_rx.c PDP11/pdp11_stddev.c PDP11/pdp11_sys.c PDP11/pdp11_tc.c PDP11/pdp11_tm.c PDP11/pdp11_ts.c PDP11/pdp11_io.c PDP11/pdp11_rq.c PDP11/pdp11_tq.c PDP11/pdp11_pclk.c PDP11/pdp11_ry.c PDP11/pdp11_pt.c PDP11/pdp11_hk.c PDP11/pdp11_xq.c PDP11/pdp11_xu.c PDP11/pdp11_vh.c PDP11/pdp11_rh.c PDP11/pdp11_tu.c PDP11/pdp11_cpumod.c PDP11/pdp11_cr.c PDP11/pdp11_rf.c PDP11/pdp11_dl.c PDP11/pdp11_ta.c PDP11/pdp11_rc.c PDP11/pdp11_kg.c PDP11/pdp11_ke.c PDP11/pdp11_dc.c PDP11/pdp11_dmc.c PDP11/pdp11_kmc.c PDP11/pdp11_dup.c PDP11/pdp11_rs.c PDP11/pdp11_vt.c PDP11/pdp11_td.c PDP11/pdp11_io_lib.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_PDP11 -I PDP11 -DHAVE_PCAP_NETWORK -I/usr/include/ -DBPF_CONST_STRING -DUSE_SHARED -DHAVE_TAP_NETWORK -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -o BIN/pdp11 -lm -lrt -lpthread -ldl
[mark at localhost simh]$ cd BIN
[mark at localhost BIN]$ wget http://www.mirrorservice.org/sites/www.bitsavers.org/bits/DEC/pdp11/discimages/rl01/rsx11m_3.2/RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz
--2018-03-30 10:00:26-- http://www.mirrorservice.org/sites/www.bitsavers.org/bits/DEC/pdp11/discimages/rl01/rsx11m_3.2/RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz
Resolving www.mirrorservice.org (www.mirrorservice.org)... 212.219.56.184, 2001:630:341:12::184
Connecting to www.mirrorservice.org (www.mirrorservice.org)|212.219.56.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1607457 (1.5M) [application/x-gzip]
Saving to: ‘RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz’
100%[======================================>] 1,607,457 575KB/s in 2.7s
2018-03-30 10:00:30 (575 KB/s) - ‘RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz’ saved [1607457/1607457]
[mark at localhost BIN]$ gzip -d RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz
[mark at localhost BIN]$ ./pdp11
PDP-11 simulator V4.0-0 Current git commit id: b0ff2978
sim> att rl0 RSX-11M_V3.2_RSX11MBL26_3.2.DSK
RL0: 'RSX-11M_V3.2_RSX11MBL26_3.2.DSK' Contains an ODS1 File system
RL0: Volume Name: RSXM26 Format: DECFILE11A Sectors In Volume: 10240
sim> b rl0
RSX-11M V3.2 BL26 28K
>RED DL:=SY:
>RED DL:=LB:
>MOU DL:RSXM26
>@DL:[1,2]STARTUP
>* PLEASE ENTER TIME AND DATE (HR:MN DD-MMM-YY) [S]:
Simulation stopped, PC: 001330 (CLRB (R1)+)
sim> q
Goodbye
[mark at localhost BIN]$ ls -l RSX-11M_V3.2_RSX11MBL26_3.2.DSK
-rw-rw-r--. 1 mark mark 5243087 Mar 30 10:01 RSX-11M_V3.2_RSX11MBL26_3.2.DSK
[mark at localhost BIN]$ md5sum RSX-11M_V3.2_RSX11MBL26_3.2.DSK
7ae69baabd1c15fb2006545c457feb5d RSX-11M_V3.2_RSX11MBL26_3.2.DSK
[mark at localhost BIN]$ ./pdp11
PDP-11 simulator V4.0-0 Current git commit id: b0ff2978
sim> show ver
PDP-11 simulator V4.0-0 Current
Simulator Framework Capabilities:
32b data
32b addresses
Threaded Ethernet Packet transports:PCAP:TAP: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 4.8.5 20150623 (Red Hat 4.8.5-16)
Simulator Compiled as C arch: x64 (Release Build) on Mar 30 2018 at 00:51:38
Memory Access: Little Endian
Memory Pointer Size: 64 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: Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
git commit id: b0ff2978
git commit time: 2018-03-29T21:12:44-0700
sim> q
Goodbye
This the exactly the expected result and essentially identical to what happens on other Linux, OS X, and Windows systems.
What is the size and md5sum of the file you are attaching to the RL0 device?
Notice in my test the directory I'm working in the one for my user account on the local CentOS file system and is not a shared drive. The same results are observed if I use a file on a shared drive.
If the md5sum of the disk image file is the same as mine, then I'll go and find a CentOS 6 image and dig further.
If the md5sum of the disk image file differs, then first pull down and unzip a new disk image:
$ wget http://www.mirrorservice.org/sites/www.bitsavers.org/bits/DEC/pdp11/discimages/rl01/rsx11m_3.2/RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz
$ gzip -d RSX-11M_V3.2_RSX11MBL26_3.2.DSK.gz
$ md5sum RSX-11M_V3.2_RSX11MBL26_3.2.DSK
If this file doesn't have the same value as I do, then clearly the problem has nothing to do with simh.
Once you've got matching input files, try with the minimal 2 SCP commands I used:
sim> attach RL0 RSX-11M_V3.2_RSX11MBL26_3.2.DSK
sim> B RL0
As you noticed, the output produced by the attach command will predict whether the boot will succeed.
= Mark
More information about the Simh
mailing list