diff options
-rw-r--r-- | emulators/Makefile | 1 | ||||
-rw-r--r-- | emulators/gem5/Makefile | 43 | ||||
-rw-r--r-- | emulators/gem5/distinfo | 2 | ||||
-rw-r--r-- | emulators/gem5/files/patch-SConstruct | 12 | ||||
-rw-r--r-- | emulators/gem5/files/patch-util_term_Makefile | 11 | ||||
-rw-r--r-- | emulators/gem5/pkg-descr | 5 | ||||
-rw-r--r-- | emulators/gem5/pkg-plist | 108 |
7 files changed, 182 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index 46e4e7af53df..5a7168c8e2b0 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -42,6 +42,7 @@ SUBDIR += fuse-roms SUBDIR += fuse-utils SUBDIR += gbe + SUBDIR += gem5 SUBDIR += generator SUBDIR += generator-cbiere SUBDIR += gens diff --git a/emulators/gem5/Makefile b/emulators/gem5/Makefile new file mode 100644 index 000000000000..20fbd8c7a26f --- /dev/null +++ b/emulators/gem5/Makefile @@ -0,0 +1,43 @@ +# Created by: Veniamin Gvozdikov <vg@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= gem5 +PORTVERSION= 0.0.${DATE} +CATEGORIES= emulators +MASTER_SITES= GH + +MAINTAINER= vg@FreeBSD.org +COMMENT= gem5 Simulator System + +BUILD_DEPENDS= swig2.0:${PORTSDIR}/devel/swig20 \ + scons:${PORTSDIR}/devel/scons + +DATE= 20140422 +USE_GITHUB= yes +GH_ACCOUNT= CTSRD-CHERI +GH_TAGNAME= 99d65cc +SWIG_BIN= swig2.0 +USES= gmake + +.include <bsd.port.pre.mk> + +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000 +IGNORE= does not support FreeBSD versions < 10.0 +.endif + +do-build: + cd ${WRKSRC} && ${GMAKE} -C util/term + cd ${WRKSRC} && ${SETENV} SWIG="${PREFIX}/bin/${SWIG_BIN}" scons \ + build/ARM/gem5.opt + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME} \ + ${STAGEDIR}${PREFIX}/${PORTNAME}/ARM + (cd ${WRKSRC} && ${COPYTREE_SHARE} configs \ + ${STAGEDIR}${PREFIX}/${PORTNAME}) + (cd ${WRKSRC} && ${INSTALL_PROGRAM} build/ARM/gem5.opt \ + ${STAGEDIR}${PREFIX}/${PORTNAME}/ARM/gem5.opt) + (cd ${WRKSRC} && ${INSTALL_PROGRAM} util/term/m5term \ + ${STAGEDIR}${PREFIX}/bin/m5term) + +.include <bsd.port.post.mk> diff --git a/emulators/gem5/distinfo b/emulators/gem5/distinfo new file mode 100644 index 000000000000..501feb4fd844 --- /dev/null +++ b/emulators/gem5/distinfo @@ -0,0 +1,2 @@ +SHA256 (CTSRD-CHERI-gem5-0.0.20140422-99d65cc_GH0.tar.gz) = 63b4f4a5e266b04396e9732ba64205fd1de22432d3379210d4d4a723dc43329a +SIZE (CTSRD-CHERI-gem5-0.0.20140422-99d65cc_GH0.tar.gz) = 9007377 diff --git a/emulators/gem5/files/patch-SConstruct b/emulators/gem5/files/patch-SConstruct new file mode 100644 index 000000000000..982859f1d5c7 --- /dev/null +++ b/emulators/gem5/files/patch-SConstruct @@ -0,0 +1,12 @@ +--- SConstruct.orig 2015-04-21 17:46:54 UTC ++++ SConstruct +@@ -534,6 +534,9 @@ Export('MakeAction') + main['LTO_CCFLAGS'] = [] + main['LTO_LDFLAGS'] = [] + ++# Add pthread ++main.Append(LIBS=['pthread']) ++ + # According to the readme, tcmalloc works best if the compiler doesn't + # assume that we're using the builtin malloc and friends. These flags + # are compiler-specific, so we need to set them after we detect which diff --git a/emulators/gem5/files/patch-util_term_Makefile b/emulators/gem5/files/patch-util_term_Makefile new file mode 100644 index 000000000000..ac67742092fb --- /dev/null +++ b/emulators/gem5/files/patch-util_term_Makefile @@ -0,0 +1,11 @@ +--- util/term/Makefile.orig 2015-04-22 17:24:04 UTC ++++ util/term/Makefile +@@ -26,7 +26,7 @@ + # + # Authors: Nathan Binkert + +-CC= gcc ++CC= cc + CCFLAGS= -g -O0 + + default: m5term diff --git a/emulators/gem5/pkg-descr b/emulators/gem5/pkg-descr new file mode 100644 index 000000000000..29911213888d --- /dev/null +++ b/emulators/gem5/pkg-descr @@ -0,0 +1,5 @@ +The gem5 simulator is a modular platform for computer system +architecture research, encompassing system-level architecture +as well as processor microarchitecture. + +WWW: http://www.gem5.org/ diff --git a/emulators/gem5/pkg-plist b/emulators/gem5/pkg-plist new file mode 100644 index 000000000000..b613858602bc --- /dev/null +++ b/emulators/gem5/pkg-plist @@ -0,0 +1,108 @@ +bin/m5term +gem5/ARM/gem5.opt +gem5/configs/boot/ammp.rcS +gem5/configs/boot/ammp.symbol +gem5/configs/boot/art.rcS +gem5/configs/boot/bbench-gb.rcS +gem5/configs/boot/bbench-ics.rcS +gem5/configs/boot/bn-app.rcS +gem5/configs/boot/bonnie.rcS +gem5/configs/boot/bonnie.symbol +gem5/configs/boot/bzip.rcS +gem5/configs/boot/cc1.symbol +gem5/configs/boot/devtime.rcS +gem5/configs/boot/equake.rcS +gem5/configs/boot/equake.symbol +gem5/configs/boot/gcc.rcS +gem5/configs/boot/gzip.rcS +gem5/configs/boot/gzip.symbol +gem5/configs/boot/hack_back_ckpt.rcS +gem5/configs/boot/halt.sh +gem5/configs/boot/iscsi-client.rcS +gem5/configs/boot/iscsi-server.rcS +gem5/configs/boot/ls.rcS +gem5/configs/boot/mcf.rcS +gem5/configs/boot/mcf.symbol +gem5/configs/boot/mesa.rcS +gem5/configs/boot/mesa.symbol +gem5/configs/boot/micro_ctx.rcS +gem5/configs/boot/micro_memlat.rcS +gem5/configs/boot/micro_memlat2mb.rcS +gem5/configs/boot/micro_memlat8.rcS +gem5/configs/boot/micro_memlat8mb.rcS +gem5/configs/boot/micro_stream.rcS +gem5/configs/boot/micro_streamcopy.rcS +gem5/configs/boot/micro_streamscale.rcS +gem5/configs/boot/micro_syscall.rcS +gem5/configs/boot/micro_tlblat.rcS +gem5/configs/boot/micro_tlblat2.rcS +gem5/configs/boot/micro_tlblat3.rcS +gem5/configs/boot/mutex-test.rcS +gem5/configs/boot/nat-netperf-maerts-client.rcS +gem5/configs/boot/nat-netperf-server.rcS +gem5/configs/boot/nat-netperf-stream-client.rcS +gem5/configs/boot/nat-spec-surge-client.rcS +gem5/configs/boot/nat-spec-surge-server.rcS +gem5/configs/boot/natbox-netperf.rcS +gem5/configs/boot/natbox-spec-surge.rcS +gem5/configs/boot/netperf-maerts-client.rcS +gem5/configs/boot/netperf-rr.rcS +gem5/configs/boot/netperf-server.rcS +gem5/configs/boot/netperf-stream-client.rcS +gem5/configs/boot/netperf-stream-nt-client.rcS +gem5/configs/boot/netperf-stream-udp-client.rcS +gem5/configs/boot/netperf-stream-udp-local.rcS +gem5/configs/boot/nfs-client-dbench.rcS +gem5/configs/boot/nfs-client-nhfsstone.rcS +gem5/configs/boot/nfs-client-smallb.rcS +gem5/configs/boot/nfs-client-tcp-smallb.rcS +gem5/configs/boot/nfs-client-tcp.rcS +gem5/configs/boot/nfs-client.rcS +gem5/configs/boot/nfs-server-nhfsstone.rcS +gem5/configs/boot/nfs-server.rcS +gem5/configs/boot/null.rcS +gem5/configs/boot/ping-client.rcS +gem5/configs/boot/ping-server.rcS +gem5/configs/boot/setup +gem5/configs/boot/spec-surge-client.rcS +gem5/configs/boot/spec-surge-server.rcS +gem5/configs/boot/surge-client.rcS +gem5/configs/boot/surge-server.rcS +gem5/configs/common/Benchmarks.py +gem5/configs/common/CacheConfig.py +gem5/configs/common/Caches.py +gem5/configs/common/CpuConfig.py +gem5/configs/common/FSConfig.py +gem5/configs/common/MemConfig.py +gem5/configs/common/O3_ARM_v7a.py +gem5/configs/common/Options.py +gem5/configs/common/Simulation.py +gem5/configs/common/SysPaths.py +gem5/configs/common/cpu2000.py +gem5/configs/dram/sweep.py +gem5/configs/example/fs.py +gem5/configs/example/memcheck.py +gem5/configs/example/memtest.py +gem5/configs/example/read_config.py +gem5/configs/example/ruby_direct_test.py +gem5/configs/example/ruby_mem_test.py +gem5/configs/example/ruby_network_test.py +gem5/configs/example/ruby_random_test.py +gem5/configs/example/se.py +gem5/configs/ruby/MESI_Three_Level.py +gem5/configs/ruby/MESI_Two_Level.py +gem5/configs/ruby/MI_example.py +gem5/configs/ruby/MOESI_CMP_directory.py +gem5/configs/ruby/MOESI_CMP_token.py +gem5/configs/ruby/MOESI_hammer.py +gem5/configs/ruby/Network_test.py +gem5/configs/ruby/Ruby.py +gem5/configs/splash2/cluster.py +gem5/configs/splash2/run.py +gem5/configs/topologies/BaseTopology.py +gem5/configs/topologies/Cluster.py +gem5/configs/topologies/Crossbar.py +gem5/configs/topologies/Mesh.py +gem5/configs/topologies/MeshDirCorners.py +gem5/configs/topologies/Pt2Pt.py +gem5/configs/topologies/Torus.py |