From 14a58b4bbd4b5e94e696cb9ebeebcbd6c433dffc Mon Sep 17 00:00:00 2001 From: agc Date: Thu, 14 Aug 2003 09:31:39 +0000 Subject: 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. --- emulators/swarm/Makefile | 9 +++++---- emulators/swarm/distinfo | 11 ++++++----- emulators/swarm/patches/patch-aa | 13 ++++++------- emulators/swarm/patches/patch-ab | 14 +++++++++----- emulators/swarm/patches/patch-ad | 42 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 68 insertions(+), 21 deletions(-) create mode 100644 emulators/swarm/patches/patch-ad (limited to 'emulators/swarm') 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 ++ // 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 + } + + /////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3