summaryrefslogtreecommitdiff
path: root/emulators/swarm
diff options
context:
space:
mode:
authoragc <agc>2003-08-14 09:31:39 +0000
committeragc <agc>2003-08-14 09:31:39 +0000
commit14a58b4bbd4b5e94e696cb9ebeebcbd6c433dffc (patch)
tree698c79da111c826047365336c9583eb8d17bd648 /emulators/swarm
parent97968aa3abdbcd8a73ea3bf3fa1b1fdd8c04d682 (diff)
downloadpkgsrc-14a58b4bbd4b5e94e696cb9ebeebcbd6c433dffc.tar.gz
Update swarm from 0.57 to 0.61. Swarm now emulates an ARM 7M core.
Changes since previous version: #00061 michael pp Michael Dales (michael@dcs.gla.ac.uk) Thu Sep 27 10:41:39 BST 2001 ------------------------------------------------------------------------------------ * Contains lots of code by Hanish Menon [www.hanishkvc.com] to enable uCLinux to work on SWARM. * Updated the logic in armproc.cpp wrt UART and LCD Ctrls so that they can rise interrupts to the Interrupt Ctrl if required. * Updated certain messages and return values. * Added the srec loader * Updated the LCD controller address * ReIntroduced the Parse_Opts logic. * Will be adding support for SREC file loading. * Fixed a problem in the bin/Makefile * Added support for a minimal UART controller. * Updated the earlier sample LCD controller which I had written wrt its Addr. * Looking into SWARM and the Device/Pheriperal interface logic in SWARM * Added a partial LCD Ctrl logic to test the interface logic * fix a problem with ldms #00060 michael pp Michael Dales (michael@dcs.gla.ac.uk) Tue May 15 22:53:15 BST 2001 ------------------------------------------------------------------------------------ Added cache invalivation functions to the system coprocessor. #00059 michael pp Michael Dales (michael@dcs.gla.ac.uk) Fri May 11 16:52:45 BST 2001 ------------------------------------------------------------------------------------ Corrected the n-way set associative cache. Added functionality to the system co-processor to allow me to read the cycle counter, cache hit counter, and cache miss counter in an application, using register 11 with opcode 2 set to 0, 1, and 2 respectively. #00058 michael pp Michael Dales (michael@dcs.gla.ac.uk) Thu May 10 14:05:25 BST 2001 ------------------------------------------------------------------------------------ Added a n-way set associative cache. Default is now 8k 4-way shared cache.
Diffstat (limited to 'emulators/swarm')
-rw-r--r--emulators/swarm/Makefile9
-rw-r--r--emulators/swarm/distinfo11
-rw-r--r--emulators/swarm/patches/patch-aa13
-rw-r--r--emulators/swarm/patches/patch-ab14
-rw-r--r--emulators/swarm/patches/patch-ad42
5 files changed, 68 insertions, 21 deletions
diff --git a/emulators/swarm/Makefile b/emulators/swarm/Makefile
index 4282bf59d37..427d4f38039 100644
--- a/emulators/swarm/Makefile
+++ b/emulators/swarm/Makefile
@@ -1,14 +1,15 @@
-# $NetBSD: Makefile,v 1.9 2003/07/17 21:35:56 grant Exp $
+# $NetBSD: Makefile,v 1.10 2003/08/14 09:31:39 agc Exp $
#
-DISTNAME= swarm-0.57
-WRKSRC= ${WRKDIR}/swarm/src
+DISTNAME= swarm-0.61
CATEGORIES= emulators
MASTER_SITES= http://www.dcs.gla.ac.uk/~michael/phd/bin/
MAINTAINER= agc@NetBSD.org
HOMEPAGE= http://www.dcs.gla.ac.uk/~michael/phd/swarm.html
-COMMENT= Software arm6 core emulator
+COMMENT= Software arm7M core emulator
+
+WRKSRC= ${WRKDIR}/swarm/src
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/swarm ${PREFIX}/bin
diff --git a/emulators/swarm/distinfo b/emulators/swarm/distinfo
index ee8c633d6b4..5acb04c92a8 100644
--- a/emulators/swarm/distinfo
+++ b/emulators/swarm/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.4 2002/04/01 05:50:44 dmcmahill Exp $
+$NetBSD: distinfo,v 1.5 2003/08/14 09:31:39 agc Exp $
-SHA1 (swarm-0.57.tar.gz) = 63868d16472e4dcca2a595ea6c993abd5220c933
-Size (swarm-0.57.tar.gz) = 386019 bytes
-SHA1 (patch-aa) = e37efffc93a9991dbfe0ef613d3aca77d4204fd2
-SHA1 (patch-ab) = 10279324142fdbe50a4525bd7285c7cd328f3875
+SHA1 (swarm-0.61.tar.gz) = 36ed52671f8be2cf8e799efd94a48b2919979d2c
+Size (swarm-0.61.tar.gz) = 395061 bytes
+SHA1 (patch-aa) = 47bf38f1f6ffde193d4bbe03c8968c92ab66d406
+SHA1 (patch-ab) = 9859132762130859692614242f32022750db5a3f
SHA1 (patch-ac) = 57f5103fde8c1380ddd78c58dfd57c5368d92bfd
+SHA1 (patch-ad) = a5a46138f385875511434f342654ad5e234f6647
diff --git a/emulators/swarm/patches/patch-aa b/emulators/swarm/patches/patch-aa
index 4596e7afd23..b827e2b5475 100644
--- a/emulators/swarm/patches/patch-aa
+++ b/emulators/swarm/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.3 2002/04/01 05:50:45 dmcmahill Exp $
+$NetBSD: patch-aa,v 1.4 2003/08/14 09:31:40 agc Exp $
fix tests for endianness and use our own header files to get
int64_t and uint64_t
@@ -18,7 +18,7 @@ int64_t and uint64_t
#define __LITTLE_ENDIAN__
#endif
-@@ -45,6 +46,10 @@
+@@ -60,6 +61,10 @@
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
@@ -29,12 +29,11 @@ int64_t and uint64_t
#ifndef WIN32
#ifndef __int8_t_defined
typedef long long int int64_t;
-@@ -54,7 +59,7 @@
+@@ -69,6 +74,7 @@
typedef INT64 int64_t;
typedef UINT64 uint64_t;
#endif // !WIN32
--
-+#endif /* __NetBSD */
- typedef int bool_t;
++#endif // __NetBSD__
+ #endif
- #ifndef WIN32
+ typedef int bool_t;
diff --git a/emulators/swarm/patches/patch-ab b/emulators/swarm/patches/patch-ab
index 89997f45eb1..4b823b4bbe3 100644
--- a/emulators/swarm/patches/patch-ab
+++ b/emulators/swarm/patches/patch-ab
@@ -1,13 +1,17 @@
-$NetBSD: patch-ab,v 1.2 2001/09/14 22:18:23 wiz Exp $
+$NetBSD: patch-ab,v 1.3 2003/08/14 09:31:40 agc Exp $
--- Makefile.orig Wed Apr 11 17:43:07 2001
+++ Makefile
-@@ -25,7 +25,7 @@
- GCC = gcc
+@@ -22,10 +22,10 @@
+ #
+ ###############################################################################
+
+-GCC = gcc
++GCC = ${CC}
ROOT = ..
ARCH = `$(ROOT)/bin/scripts/arch`
--CFLAGS = -D$(ARCH) -DSHARED_CACHE -DQUIET #-DDEBUG_MEM
-+CFLAGS += -D$(ARCH) -DSHARED_CACHE -DQUIET #-DDEBUG_MEM
+-CFLAGS = -D$(ARCH) -DSHARED_CACHE -DQUIET -DSWARM_SWI_HANDLER #-DDEBUG_MEM
++CFLAGS+= -D$(ARCH) -DSHARED_CACHE -DQUIET -DSWARM_SWI_HANDLER #-DDEBUG_MEM
OPTS = -g -DEBUG
OBJS = core.o main.o alu.o cache.o direct.o swarm.o swi.o armproc.o \
diff --git a/emulators/swarm/patches/patch-ad b/emulators/swarm/patches/patch-ad
new file mode 100644
index 00000000000..ed7accdf64a
--- /dev/null
+++ b/emulators/swarm/patches/patch-ad
@@ -0,0 +1,42 @@
+$NetBSD: patch-ad,v 1.1 2003/08/14 09:31:40 agc Exp $
+
+--- uartctrl.cpp 2003/08/14 08:54:51 1.1
++++ uartctrl.cpp 2003/08/14 09:15:14
+@@ -40,6 +40,29 @@
+ //
+ int CUARTCtrl::GetPty()
+ {
++#ifdef __NetBSD__
++#include <sys/param.h>
++ // masterpty = fd of master pty
++ const char *letters = "pqrstuvwxyzPQRST";
++ const char *numbers = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
++ const char *let;
++ const char *num;
++ char ptyname[MAXPATHLEN];
++ int cc;
++
++ cc = strlcpy(ptyname, "/dev/pty", sizeof(ptyname));
++ ptyname[cc + 2] = 0x0;
++ for (let = letters ; *let ; let++) {
++ ptyname[cc] = *let;
++ for (num = numbers ; *num ; num++) {
++ ptyname[cc + 1] = *num;
++ }
++ if ((masterpty = open(ptyname, O_RDWR | O_NONBLOCK, 0666)) >= 0) {
++ return 0;
++ }
++ }
++ return -1;
++#else
+ char *namepty;
+ struct termios tiopty;
+ int curFlags;
+@@ -102,6 +125,7 @@
+ getchar();
+ }
+ return 0;
++#endif
+ }
+
+ ///////////////////////////////////////////////////////////////////////////////