pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Updating emulators/simh



On Fri, 2008-02-29 09:21:21 +0100, Luca Sironi <luca%sironi.tk@localhost> wrote:
> 
> Jan, can I use IDLE cpu feature with your updated version?

I haven't ever used the IDLE feature, so this is untested. However,
with this patchset, the IDLE feature can be activated. Networking may
work, too.  I can also activate a disk (set rq0 rauser=15000) with
more than 2GB, which didn't work before, too.

However, this is all pretty untested because the VAX install CD I've
built doesn't boot. (This isn't is problem of SIMH, but with the CD
image itself.)

The new patch is attached, please keep me Cc'ed.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw%lug-owl.de@localhost              
+49-172-7608481
Signature of:         Alles wird gut! ...und heute wirds schon ein bißchen 
besser.
the second  :
? README.html
? simh.diff
? work
? patches/patch-ad
? patches/patch-ae
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/Makefile,v
retrieving revision 1.26
diff -u -r1.26 Makefile
--- Makefile    4 Jan 2008 21:45:05 -0000       1.26
+++ Makefile    29 Feb 2008 19:56:33 -0000
@@ -1,8 +1,8 @@
 # $NetBSD: Makefile,v 1.26 2008/01/04 21:45:05 joerg Exp $
 #
 
-DISTNAME=      simhv33-0
-PKGNAME=       simh-3.3.0
+DISTNAME=      simhv37-3
+PKGNAME=       simh-3.7.3
 PKGREVISION=   1
 CATEGORIES=    emulators
 MASTER_SITES=  http://simh.trailing-edge.com/sources/
@@ -15,7 +15,7 @@
 
 PKG_DESTDIR_SUPPORT=   user-destdir
 
-BUILDLINK_API_DEPENDS.libpcap+=        libpcap>=0.6
+BUILDLINK_API_DEPENDS.libpcap+=        libpcap>=0.9
 
 EXTRACT_OPTS_ZIP=      -aoq
 WRKSRC=                        ${WRKDIR}
@@ -38,7 +38,7 @@
        (cd ${WRKSRC}/BIN && for BIN in *; do                           \
                ${INSTALL_PROGRAM} $$BIN ${DESTDIR}${PREFIX}/bin/simh-$$BIN;    
\
        done)
-       ${INSTALL_DATA} ${WRKSRC}/VAX/ka655.bin ${DESTDIR}${PREFIX}/share/simh
+       ${INSTALL_DATA} ${WRKSRC}/VAX/ka655x.bin ${DESTDIR}${PREFIX}/share/simh
        (cd ${WRKSRC} && for TXT in *.txt */*.txt; do                   \
                ${INSTALL_DATA} $$TXT ${DESTDIR}${PREFIX}/share/doc/simh;       
        \
        done)
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/PLIST,v
retrieving revision 1.8
diff -u -r1.8 PLIST
--- PLIST       22 Dec 2004 21:07:01 -0000      1.8
+++ PLIST       29 Feb 2008 19:56:33 -0000
@@ -7,6 +7,7 @@
 bin/simh-hp2100
 bin/simh-i1401
 bin/simh-i1620
+bin/simh-i7094
 bin/simh-ibm1130
 bin/simh-id16
 bin/simh-id32
@@ -23,40 +24,24 @@
 bin/simh-s3
 bin/simh-sds
 bin/simh-vax
-share/doc/simh/0readme_33.txt
+bin/simh-vax780
+share/doc/simh/0readme_37.txt
 share/doc/simh/0readme_ethernet.txt
 share/doc/simh/altair.txt
-share/doc/simh/altairz80_doc.txt
-share/doc/simh/eclipse.txt
-share/doc/simh/gri_doc.txt
-share/doc/simh/h316_doc.txt
-share/doc/simh/haltguide.txt
 share/doc/simh/hp2100_diag.txt
-share/doc/simh/hp2100_doc.txt
-share/doc/simh/i1401_doc.txt
-share/doc/simh/i1620_doc.txt
+share/doc/simh/i7094_bugs.txt
+share/doc/simh/readme1130.txt
+share/doc/simh/readme_update.txt
 share/doc/simh/id_diag.txt
-share/doc/simh/id_doc.txt
-share/doc/simh/lgp_doc.txt
-share/doc/simh/nova_doc.txt
+share/doc/simh/eclipse.txt
+share/doc/simh/pdp1_diag.txt
 share/doc/simh/pdp10_diag.txt
-share/doc/simh/pdp10_doc.txt
-share/doc/simh/pdp11_doc.txt
 share/doc/simh/pdp18b_diag.txt
-share/doc/simh/pdp18b_doc.txt
-share/doc/simh/pdp1_doc.txt
-share/doc/simh/pdp8_doc.txt
-share/doc/simh/readme1130.txt
+share/doc/simh/haltguide.txt
 share/doc/simh/readme_s3.txt
-share/doc/simh/readme_update.txt
-share/doc/simh/sds_diag.txt
-share/doc/simh/sds_doc.txt
-share/doc/simh/simh_doc.txt
-share/doc/simh/simh_faq.txt
-share/doc/simh/simh_swre.txt
 share/doc/simh/system3.txt
-share/doc/simh/vax780_doc.txt
-share/doc/simh/vax_doc.txt
-share/simh/ka655.bin
+share/doc/simh/sds_diag.txt
+share/doc/simh/vax780_bugs.txt
+share/simh/ka655x.bin
 @dirrm share/simh
 @dirrm share/doc/simh
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/distinfo,v
retrieving revision 1.12
diff -u -r1.12 distinfo
--- distinfo    23 Feb 2005 18:49:20 -0000      1.12
+++ distinfo    29 Feb 2008 19:56:33 -0000
@@ -1,8 +1,10 @@
 $NetBSD: distinfo,v 1.12 2005/02/23 18:49:20 agc Exp $
 
-SHA1 (simhv33-0.zip) = 99a021afe2fd8dfb32bb479e383347e2b883e0f9
-RMD160 (simhv33-0.zip) = 778cc7836b4558b57f1b9ca54427f3d2e8da94a4
-Size (simhv33-0.zip) = 2153444 bytes
-SHA1 (patch-aa) = a1c1e10f81b5883c5388084d1b9f31d3560353fe
-SHA1 (patch-ab) = aff84028d4184b773b2bd4ebf2ee166357f18924
-SHA1 (patch-ac) = 0f1ddee6f69c0337c8ea02cf24ed6fdecc0ca1f4
+SHA1 (simhv37-3.zip) = 1d4b7d06d9e637f65d8ef892d5cc7832c4b49992
+RMD160 (simhv37-3.zip) = 21edf6241eabe8d34480039a49563927c34873f4
+Size (simhv37-3.zip) = 2361222 bytes
+SHA1 (patch-aa) = 2bd9fcf8f769b7910ec5a8f55e3fdaf058a0bbeb
+SHA1 (patch-ab) = 9544e9efefd4c886d6d6e4802189298834de4942
+SHA1 (patch-ac) = d7d90753affa9730abf559178fe4ab9c33c7b50b
+SHA1 (patch-ad) = a5589b7a02ba515c9e2fde930e413c245c7bff1e
+SHA1 (patch-ae) = fe100d12e48fda06fd45518b486a0cf61787fd7c
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-aa,v
retrieving revision 1.7
diff -u -r1.7 patch-aa
--- patches/patch-aa    22 Dec 2004 21:07:01 -0000      1.7
+++ patches/patch-aa    29 Feb 2008 19:56:33 -0000
@@ -1,8 +1,6 @@
-$NetBSD: patch-aa,v 1.7 2004/12/22 21:07:01 skrll Exp $
-
---- Makefile.orig      2004-10-30 18:32:50.000000000 +0100
-+++ Makefile
-@@ -3,28 +3,30 @@
+--- Makefile~  2008-02-29 00:46:56.000000000 +0100
++++ Makefile   2008-02-29 00:47:19.000000000 +0100
+@@ -3,32 +3,33 @@
  # Note: -O2 is sometimes broken in GCC when setjump/longjump is being
  # used. Try -O2 only with released simulators.
  #
@@ -14,7 +12,11 @@
 -else
 -OS_CCDEFS = -D_GNU_SOURCE
 -endif
+-ifeq ($(OSTYPE),macos)
+-CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
+-else
 -CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm $(OS_CCDEFS) -I .
+-endif
 -ifeq ($(USE_NETWORK),)
 -else
 -NETWORK_OPT = -DUSE_NETWORK -isystem /usr/local/include 
/usr/local/lib/libpcap.a
@@ -25,16 +27,19 @@
 +#else
 +#OS_CCDEFS = -D_GNU_SOURCE
 +#endif
++#ifeq ($(OSTYPE),macos)
++#CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
++#else
 +#CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm $(OS_CCDEFS) -I .
-+CC = gcc -O2 -g -lm -I . -DDONT_USE_PCAP_FINDALLDEVS -DNEED_PCAP_SENDPACKET
++CC = gcc -O2 -g -lm -I.
++#endif
 +#ifeq ($(USE_NETWORK),)
 +#else
-+#NETWORK_OPT = -DUSE_NETWORK -isystem /usr/local/include 
/usr/local/lib/libpcap.a
 +NETWORK_OPT = -DUSE_NETWORK -lpcap
 +#endif
 +#else
  #Win32 Environments
--LDFLAGS = -lm -lwsock32
+-LDFLAGS = -lm -lwsock32 -lwinmm
 -CC = gcc -std=c99 -U__STRICT_ANSI__ -O0 -I.
 -EXE = .exe
 -ifeq ($(USE_NETWORK),)
@@ -42,7 +47,7 @@
 -NETWORK_OPT = -DUSE_NETWORK -lwpcap -lpacket
 -endif
 -endif
-+#LDFLAGS = -lm -lwsock32
++#LDFLAGS = -lm -lwsock32 -lwinmm
 +#CC = gcc -std=c99 -U__STRICT_ANSI__ -O0 -I.
 +#EXE = .exe
 +#ifeq ($(USE_NETWORK),)
@@ -51,21 +56,21 @@
 +#endif
 +#endif
  
- 
  #
-@@ -252,11 +254,11 @@ ALL = ${BIN}pdp1${EXE} ${BIN}pdp4${EXE} 
+ # Common Libraries
+@@ -248,11 +249,11 @@
  all : ${ALL}
  
  clean :
 -ifeq ($(WIN32),)
 +#ifeq ($(WIN32),)
-       ${RM} ${ALL}
+       ${RM} ${BIN}*
 -else
 -      if exist BIN\*.exe del /q BIN\*.exe
 -endif
 +#else
 +#     if exist BIN\*.exe del /q BIN\*.exe
 +#endif
+ 
  #
  # Individual builds
- #
Index: patches/patch-ab
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-ab,v
retrieving revision 1.5
diff -u -r1.5 patch-ab
--- patches/patch-ab    22 Dec 2004 21:07:01 -0000      1.5
+++ patches/patch-ab    29 Feb 2008 19:56:33 -0000
@@ -1,10 +1,8 @@
-$NetBSD: patch-ab,v 1.5 2004/12/22 21:07:01 skrll Exp $
-
---- sim_ether.c.orig   2004-03-31 13:38:58.000000000 +0100
-+++ sim_ether.c
-@@ -830,6 +830,15 @@ void eth_callback(u_char* info, const st
-     tmp_packet.len = header->len;
-     memcpy(tmp_packet.msg, data, header->len);
+--- sim_ether.c~       2008-02-28 23:52:40.000000000 +0100
++++ sim_ether.c        2008-02-28 23:52:48.000000000 +0100
+@@ -1134,6 +1134,15 @@
+     if (dev->need_crc)
+       eth_add_crc32(&tmp_packet);
  
 +    /*
 +     * Pad packet to minimum ethernet len, in case it comes from the local
@@ -18,9 +16,9 @@
      eth_packet_trace (dev, tmp_packet.msg, tmp_packet.len, "rcvqd");
  
      pthread_mutex_lock (&dev->lock);
-@@ -840,6 +849,15 @@ void eth_callback(u_char* info, const st
-     dev->read_packet->len = header->len;
-     memcpy(dev->read_packet->msg, data, header->len);
+@@ -1146,6 +1155,15 @@
+     if (dev->need_crc)
+       eth_add_crc32(dev->read_packet);
  
 +    /*
 +     * Pad packet to minimum ethernet len, in case it comes from the local
@@ -34,7 +32,7 @@
      eth_packet_trace (dev, dev->read_packet->msg, dev->read_packet->len, 
"reading");
  
      /* call optional read callback function */
-@@ -1080,8 +1098,10 @@ int eth_host_devices(int used, int max, 
+@@ -1431,8 +1449,10 @@
  
  int eth_devices(int max, ETH_LIST* list)
  {
Index: patches/patch-ac
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-ac,v
retrieving revision 1.4
diff -u -r1.4 patch-ac
--- patches/patch-ac    22 Dec 2004 21:07:01 -0000      1.4
+++ patches/patch-ac    29 Feb 2008 19:56:33 -0000
@@ -1,20 +1,20 @@
-$NetBSD: patch-ac,v 1.4 2004/12/22 21:07:01 skrll Exp $
-
---- sim_console.c.orig 2004-11-05 19:39:24.000000000 +0000
-+++ sim_console.c
-@@ -347,13 +347,13 @@ for (i = 0; i < sec; i++) {                              
/* loop *
-       if (tmxr_poll_conn (&sim_con_tmxr) >= 0) {      /* poll connect */
-           sim_con_ldsc.rcve = 1;                      /* rcv enabled */
-           if (i) {                                    /* if delayed */
--              printf ("Running\n");                   /* print transition */
-+              printf ("Running\r\n");                 /* print transition */
-               fflush (stdout);  }
-           return SCPE_OK;  }                          /* ready to proceed */
-       c = sim_os_poll_kbd ();                         /* check for stop char 
*/
-       if ((c == SCPE_STOP) || stop_cpu) return SCPE_STOP;
-       if ((i % 10) == 0) {                            /* Status every 10 sec 
*/
--          printf ("Waiting for console Telnet connection\n");
-+          printf ("Waiting for console Telnet connection\r\n");
-           fflush (stdout);  }
-       sim_os_sleep (1);                               /* wait 1 second */
-       }
+--- sim_console.c~     2008-02-28 23:53:52.000000000 +0100
++++ sim_console.c      2008-02-28 23:54:59.000000000 +0100
+@@ -391,7 +391,7 @@
+     if (tmxr_poll_conn (&sim_con_tmxr) >= 0) {          /* poll connect */
+         sim_con_ldsc.rcve = 1;                          /* rcv enabled */
+         if (i) {                                        /* if delayed */
+-            printf ("Running\n");                       /* print transition */
++            printf ("Running\r\n");                     /* print transition */
+             fflush (stdout);
+             }
+         return SCPE_OK;                                 /* ready to proceed */
+@@ -399,7 +399,7 @@
+     c = sim_os_poll_kbd ();                             /* check for stop 
char */
+     if ((c == SCPE_STOP) || stop_cpu) return SCPE_STOP;
+     if ((i % 10) == 0) {                                /* Status every 10 
sec */
+-        printf ("Waiting for console Telnet connection\n");
++        printf ("Waiting for console Telnet connection\r\n");
+         fflush (stdout);
+         }
+     sim_os_sleep (1);                                   /* wait 1 second */
--- /dev/null   2008-02-29 20:51:47.000000000 +0100
+++ patches/patch-ad    2008-02-29 00:08:46.000000000 +0100
@@ -0,0 +1,39 @@
+--- VAX/vax_cpu.c~     2008-02-29 00:06:20.000000000 +0100
++++ VAX/vax_cpu.c      2008-02-29 00:07:29.000000000 +0100
+@@ -350,12 +350,12 @@
+ extern int32 op_cis (int32 *opnd, int32 cc, int32 opc, int32 acc);
+ extern int32 op_octa (int32 *opnd, int32 cc, int32 opc, int32 acc, int32 
spec, int32 va);
+ extern int32 intexc (int32 vec, int32 cc, int32 ipl, int ei);
+-extern int32 Read (uint32 va, int32 lnt, int32 acc);
+-extern void Write (uint32 va, int32 val, int32 lnt, int32 acc);
+-extern int32 ReadB (uint32 pa);
+-extern void WriteB (uint32 pa, int32 val);
+-extern int32 ReadLP (uint32 pa);
+-extern int32 Test (uint32 va, int32 acc, int32 *status);
++inline extern int32 Read (uint32 va, int32 lnt, int32 acc);
++inline extern void Write (uint32 va, int32 val, int32 lnt, int32 acc);
++inline extern int32 ReadB (uint32 pa);
++inline extern void WriteB (uint32 pa, int32 val);
++inline extern int32 ReadLP (uint32 pa);
++inline extern int32 Test (uint32 va, int32 acc, int32 *status);
+ extern int32 BadCmPSL (int32 newpsl);
+ extern int32 eval_int (void);
+ extern int32 get_vector (int32 lvl);
+@@ -376,7 +376,7 @@
+ t_stat cpu_set_idle (UNIT *uptr, int32 val, char *cptr, void *desc);
+ t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, void *desc);
+ int32 cpu_get_vsw (int32 sw);
+-int32 get_istr (int32 lnt, int32 acc);
++inline int32 get_istr (int32 lnt, int32 acc);
+ int32 ReadOcta (int32 va, int32 *opnd, int32 j, int32 acc);
+ t_bool cpu_show_opnd (FILE *st, InstHistory *h, int32 line);
+ int32 cpu_psl_ipl_idle (int32 newpsl);
+@@ -2919,7 +2919,7 @@
+    so any translation errors are real.
+ */
+ 
+-int32 get_istr (int32 lnt, int32 acc)
++inline int32 get_istr (int32 lnt, int32 acc)
+ {
+ int32 bo = PC & 3;
+ int32 sc, val, t;
--- /dev/null   2008-02-29 20:51:47.000000000 +0100
+++ patches/patch-ae    2008-02-29 20:47:38.000000000 +0100
@@ -0,0 +1,47 @@
+diff -Nurp work/Makefile work-modified/Makefile
+--- Makefile~  2008-02-29 20:41:38.000000000 +0100
++++ Makefile   2008-02-29 20:46:14.000000000 +0100
+@@ -14,7 +14,8 @@
+ #CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
+ #else
+ #CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm $(OS_CCDEFS) -I .
+-CC = gcc -O2 -g -lm -I.
++CC = gcc -O2 -g -lm -I. -D_POSIX_SOURCE=1 -D_NETBSD_SOURCE=1 
-D_LARGEFILE_SOURCE -DUSE_INT64 -DUSE_ADDR64 -D__NetBSD__
++LDFLAGS=-lrt
+ #endif
+ #ifeq ($(USE_NETWORK),)
+ #else
+diff -Nurp work/sim_ether.c work-modified/sim_ether.c
+--- sim_ether.c~       2008-02-29 20:41:38.000000000 +0100
++++ sim_ether.c        2008-02-29 12:39:14.000000000 +0100
+@@ -240,6 +240,7 @@
+ */
+ 
+ #include <ctype.h>
++#include <fcntl.h>
+ #include "sim_ether.h"
+ #include "sim_sock.h"
+ 
+diff -Nurp work/sim_fio.c work-modified/sim_fio.c
+--- sim_fio.c~ 2007-06-28 22:14:00.000000000 +0200
++++ sim_fio.c  2008-02-29 20:11:26.000000000 +0100
+@@ -294,7 +294,7 @@ return fseeko64 (st, xpos, origin);
+ 
+ /* Apple OS/X */
+ 
+-#if defined (__APPLE__) || defined (__FreeBSD__)
++#if defined (__APPLE__) || defined (__FreeBSD__) || defined (__NetBSD__)
+ #define _SIM_IO_FSEEK_EXT_      1
+ 
+ int sim_fseek (FILE *st, t_addr xpos, int origin) 
+diff -Nurp work/sim_timer.c work-modified/sim_timer.c
+--- sim_timer.c~       2007-07-16 19:08:40.000000000 +0200
++++ sim_timer.c        2008-02-29 20:44:22.000000000 +0100
+@@ -303,6 +303,7 @@ if (clock_getres (CLOCK_REALTIME, &treq)
+     return 0;
+ msec = (treq.tv_nsec + (NANOS_PER_MILLI >> 1)) / NANOS_PER_MILLI;
+ if (msec > SIM_IDLE_MAX) return 0;
++if (msec == 0) msec = 1;
+ return msec;
+ 
+ #else                                                   /* others */

Attachment: signature.asc
Description: Digital signature



Home | Main Index | Thread Index | Old Index