Hi. I'm running a NetBSD 6.0.1 amd64 host with SIMH VAX 3.9-0 (and "4.0 Beta" later), built it myself and not from pkgsrc. The guest is NetBSD 6.0.1 vax (please do not ask why I do this...).
host# uname -a NetBSD host.blabla 6.0.1 NetBSD 6.0.1 (GENERIC) amd64 host# gmake vax ldconfig: not found lib paths are: /usr/lib using libm: /usr/lib/libm.so using librt: /usr/lib/librt.so using libpthread: /usr/lib/libpthread.so /usr/include/pthread.h using libdl: /usr/include/dlfcn.h using libpcap: /usr/include/pcap.h *** *** vax Simulator being built with: *** - compiler optimizations and no debugging support. GCC Version: 4.5.3. *** - dynamic networking support using NetBSD provided libpcap components. *** if test ! -e BIN; then mkdir BIN; fi gcc -std=c99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -flto -fwhole-program -Wno-unused-result -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DHAVE_DLOPEN=so VAX/vax_cpu.c VAX/vax_cpu1.c VAX/vax_fpa.c VAX/vax_io.c VAX/vax_cis.c VAX/vax_octa.c VAX/vax_cmode.c VAX/vax_mmu.c VAX/vax_stddev.c VAX/vax_sysdev.c VAX/vax_sys.c VAX/vax_syscm.c VAX/vax_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_xq.c PDP11/pdp11_ry.c PDP11/pdp11_vh.c PDP11/pdp11_cr.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 -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -I VAX -I PDP11 -DUSE_SHARED -I/usr/include/ -DUSE_TAP_NETWORK -DUSE_BSDTUNTAP -o BIN/vax -lm -lrt -lpthread -flto -fwhole-program I also increased HZ in the host kernel to HZ=1000 to get SIMH's CPU idle support (couldn't be enabled for stock HZ=100): host# sysctl kern.clockrate kern.clockrate: tick = 1000, tickadj = 4, hz = 1000, profhz = 1000, stathz = 1000 First issue is that a RAUSER disk cannot be set to more than 2047 MiB (why?): sim> set rq0 rauser=2047 sim> set rq0 rauser=2048 Invalid argument Second issue is that CPU idle detection (with mode set to ALL, NETBSD, ...) does not work for the NetBSD vax guest. I get a constant 100% load on the host when the NetBSD guest is idling along (0%). But everything works perfectly (host load goes down to 0%) when at the >>> prompt, e. g. after guest shutdown. sim> set cpu idle=ALL Now I also tried current SIMH "4.0 Beta" from GitHub, CPU idle detection for the NetBSD guest DOES work now *yay*. host# gmake vax ldconfig: not found *** Warning *** *** Warning *** The library search path on your NetBSD platform can't be *** Warning *** determined. This should be resolved before you can expect *** Warning *** to have fully working simulators. *** Warning *** lib paths are: /usr/lib using libm: /usr/lib/libm.so using librt: /usr/lib/librt.so using libpthread: /usr/lib/libpthread.so /usr/include/pthread.h using libdl: /usr/include/dlfcn.h using libpcap: /usr/include/pcap.h *** *** vax Simulator being built with: *** - compiler optimizations and no debugging support. GCC Version: 4.5.3. *** - dynamic networking support using NetBSD provided libpcap components. *** mkdir -p BIN gcc -std=c99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -Wno-unused-result -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_DLOPEN=so sim_BuildROMs.c -o BIN/BuildROMs BIN/BuildROMs rm -f BIN/BuildROMs mkdir -p BIN gcc -std=c99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -Wno-unused-result -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_DLOPEN=so VAX/vax_cpu.c VAX/vax_cpu1.c VAX/vax_fpa.c VAX/vax_io.c VAX/vax_cis.c VAX/vax_octa.c VAX/vax_cmode.c VAX/vax_mmu.c VAX/vax_stddev.c VAX/vax_sysdev.c VAX/vax_sys.c VAX/vax_syscm.c VAX/vax_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_xq.c PDP11/pdp11_vh.c PDP11/pdp11_cr.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 -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -I VAX -I PDP11 -DUSE_SHARED -I/usr/include/ -DUSE_TAP_NETWORK -DUSE_BSDTUNTAP -o BIN/microvax3900 -lm -lrt -lpthread cp BIN/microvax3900 BIN/vax But disk images >=2 GiB still don't. (And this time, 1 MB really is 1000000 bytes and not 1 MiB as with 3.9-0 before :)) sim> set rq0 rauser=2146 sim> set rq0 rauser=2147 Invalid argument The -L flag for RAUSER to set LBNs is also interesting: sim> set -L rq0 rauser=4194304 Invalid argument sim> set -L rq0 rauser=4194303 Invalid argument sim> set -L rq0 rauser=4194302 [ok] Shouldn't 4194303 still work, as it is (just) under 2 GiB? So what am I doing wrong, as I would say that NetBSD (host) does have "extended file support" to support large files? Regards Felix _______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
