Skip to content

Commit 91bb2e6

Browse files
author
Dilawar
committed
init commit
Former-commit-id: a00623dfd9dbea951109f54a5b11a2050354c336
1 parent e1bcee4 commit 91bb2e6

File tree

5,275 files changed

+1307686
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,275 files changed

+1307686
-0
lines changed

COPYING

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

CVS/Entries

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/COPYING/1.1.1.1/Fri Sep 24 19:38:47 2004//
2+
/MAINTAINERS/1.5/Mon Oct 15 17:09:54 2007//
3+
/README/1.4/Mon Jul 31 06:34:23 2006//
4+
/TODO/1.4/Thu Apr 26 17:50:33 2007//
5+
/WARNING/1.1.1.1/Fri Sep 24 19:38:48 2004//
6+
/configure/1.16/Tue Oct 2 16:52:32 2007//
7+
/configure.ac/1.16/Tue Oct 2 16:52:32 2007//
8+
D

CVS/Entries.Log

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
A D/confs////
2+
A D/docs////
3+
A D/mipsemul-sys////
4+
A D/scripts////
5+
A D/src////
6+
A D/tests////

CVS/Repository

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sesc

CVS/Root

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
:pserver:[email protected]:/cvsroot/sesc

MAINTAINERS

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
The maintainers is a copy of the way that the Linux kernel maintainers works.
2+
3+
Please follow the following steps before sending a path/update:
4+
5+
1-Checkout the latest SESC version and synchronize your patch with it.
6+
7+
2-Try to verify that your patch/update works.
8+
9+
3-If a patch involves more than one maintainer send it to both of them
10+
simulatenously.
11+
12+
4-Follow the coding guideline of the documentation.
13+
14+
D: Description
15+
F: Files Maintained (Use regular expression to do a match)
16+
P: Person
17+
M: Mail patches to
18+
W: Web-page
19+
S: Status, one of the following:
20+
21+
Supported: Someone is actually paid to look after this.
22+
Maintained: Someone actually looks after it.
23+
Odd Fixes: It has a maintainer but they don't have time to do
24+
much other than throw the odd patch in. See below..
25+
Orphan: No current maintainer [but maybe you could take the
26+
role as you write your new code].
27+
28+
---------------------------------------
29+
D:New ISA emulation
30+
F:libemul/*, */*
31+
P:Milos Prvulovic
32+
33+
W:http://www.cc.gatech.edu/~milos
34+
S:Supported
35+
---------------------------------------
36+
D:OS system
37+
F:OS/*
38+
P:Basilio Fraguela
39+
40+
W:http://www.des.udc.es/~basilio
41+
S:Orphan?
42+
---------------------------------------
43+
D:Memory System
44+
F:backend/* network/CC*
45+
P:James Tuck
46+
47+
W:????
48+
S:Supported
49+
---------------------------------------
50+
D:Network
51+
F:libnet/*
52+
P:Liu Wei
53+
54+
W:????
55+
S:Supported
56+
---------------------------------------
57+
D:libapp (locks/barriers)
58+
F:libnapp/*
59+
P:Liu Wei
60+
61+
W:????
62+
S:Supported
63+
---------------------------------------
64+
D:Energy model
65+
F:*/*
66+
P:Smruti Sarangi
67+
68+
W:????
69+
S:Supported
70+
---------------------------------------
71+
D:Everything
72+
F:*/*
73+
P:Jose Renau
74+
75+
W:http://www.soe.ucsc.edu/~renau
76+
S:Supported
77+
---------------------------------------
78+
D:Contributions & Patches
79+
F:*/*
80+
P:Hou Rui
81+
M:Hou Rui <[email protected]>
82+
W:http://www.soe.ucsc.edu/~renau
83+
S:
84+
---------------------------------------
85+
D:Contributions & Patches
86+
F:libmint/*
87+
P:Daniel Grund
88+
89+
W:
90+
S:
91+
---------------------------------------
92+

README

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
HOW TO setup sesc
2+
-----------------
3+
4+
building sesc
5+
-------------
6+
7+
1) create a build directory
8+
9+
Now you can create a directory for the build process:
10+
11+
> cd ../
12+
> mkdir build
13+
14+
We recommend that you have one build directory per simulator
15+
set of options. You may create as many directories as you want and
16+
compile the simulator with different combinations of options (see
17+
step 7).
18+
19+
2) go to the build directory
20+
21+
> cd build
22+
23+
3) configure esesc from build
24+
25+
Run esesc/configure from the build directory (if you don't specify
26+
any options, the default configuration will be built; to see all
27+
options, type configure --help).
28+
29+
> ../esesc/configure
30+
31+
4) to build all sesc directories:
32+
33+
> make
34+
35+
5) to build the simulator executable:
36+
37+
> make sesc
38+
39+
# Examples of configure parameters:
40+
#
41+
# Activate all the checks, but do not have verbose dump
42+
# ./configure --enable-debug-silent
43+
#
44+
# Activate version memory (taskscalar included in vmem) with silent debug mode
45+
# ./configure --enable-debug-silent --enable-vmem
46+
#
47+
48+
Check docs/README.compile for more detailed examples
49+
50+
modifying and testing the simulator
51+
-----------------------------------
52+
53+
testing
54+
-------
55+
If you modify the simulator in esesc, PLEASE test it before you
56+
commit the code. To test it in the default configuration, you can
57+
simply type make testsim (in the build directory). Please also try
58+
testsim-tls.
59+
60+
commiting
61+
---------
62+
Don't forget to do a cvs add for new files and cvs commit in the
63+
esesc directory to commit your changes (but before you do that,
64+
please make sure the simulator is still working ;o)
65+
66+
ChangeLog
67+
---------
68+
To see the activity, regenerate the ChangeLog by typing gmake ChangeLog
69+
70+
esesc directory structure
71+
-------------------------
72+
73+
configure - script to create the Makefiles for build
74+
configure.ac - input file for autoconf, to create configure
75+
confs - directory that contains several configuration files for
76+
the simulator runs
77+
COPYING - copyright notice
78+
MAINTAINERS - who is responsible for what description
79+
scripts - report and run scripts for sesc
80+
src - all real code for sesc is in this
81+
directory (description below)
82+
TODO - if you have some time available and you want to have
83+
some fun, check this file and help improve sesc
84+
85+
src directory structure
86+
-----------------------
87+
88+
libapp - patched calls from sesc (these are stubs for system
89+
calls emulated by the simulator - the real
90+
implementation is in mint/subst.c)
91+
libcore - main processor structures
92+
libmem - cache/memory backend
93+
libnet - multiprocessor networking
94+
libpower - power estimation (includes cacti, orion and wattch)
95+
libsuc - general purpose code (specially useful code)
96+
libvmem - versioning cache backend
97+
libmint - functional simulator
98+
libcc - Cache Coherence (directory based)
99+
libsmp - Cache Coherence (bus snooping)
100+
librst - RST SUN traces interface (check docs/README.rst)
101+
misc - miscellaneous files
102+
103+
The other files are mainly associated to the build process.

TODO

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
8) reorganize for multiple-isa support
2+
3+
move MIPSInstruction.cpp to libmint
4+
5+
create libos for all the system calls that mint simulates
6+
7+
_______________________________________________________________________
8+
9+
# REMOVE OLD/useless code
10+
#!/bin/bash
11+
12+
for file in *
13+
do
14+
echo "cleaning $file"
15+
unifdef -USESCAPI_NATIVE_IRIX -USESC_LOCKPROFILE -UWINDOW_USE_HIST -USESC_SEED -USESC_SEED_OVERFLOW -USESC_CHERRY -UXACTION -USESC_INORDER_ENERGY -USESC_INORDER_SWITCH -UTS_PARANOID -UTS_RISKLOADPROF -USESC_PASS_ENVIRONMENT -UOLDMARKS -USESC_SEED_STALL_LOADS -ULOCAL_WRITE -UWRITE_REVISE -UOOO_PAPER_STATS -UVERBOSE -UVERBOSE2 -UAIX -UFOLLOW_MISPRO_ADVICE -UMIPS2_FNATIVE -UMSHR_BWSTATS -UTRANS_STALL -UVMEM_CVBASE_IN_ADDR -UVMEM_PRED_FORWARD $file >temp
16+
mv temp $file
17+
done
18+
19+
20+
_______________________________________________________________________
21+
22+
23+
swifthWidth on power (renamed)
24+
________________________________________________________________________
25+
26+
7) Subdurectory in lib directory
27+
28+
creation of .depends: SIGNATURE is something like lib*.* and path to
29+
files should be something like lib*/*. e.g. libpower/cacti
30+
31+
________________________________________________________________________
32+
33+
All the includes should be placed in alphabetical order.
34+
35+
_______________________________________________________________________
36+
37+
5) Platform selection
38+
39+
Remove the Makefile.defs.ARCH
40+
41+
Use configure options to select the following parameters:
42+
43+
44+
# LINUX
45+
# LENDIAN (little endian)
46+
47+
# Linux
48+
DEFS +=-DLINUX -DLENDIAN -DPOSIX_MEMALIGN
49+
50+
# Darwin
51+
DEFS +=-DDARWIN
52+
53+
54+
CXX =g++
55+
CC =gcc
56+
57+
LOPTS
58+
COPTS
59+
60+
61+
ARFLAGS :=cr
62+
SHELL =/bin/sh
63+
AS =as
64+
LD =ld
65+
AR =ar
66+
M4 =m4
67+
MAKE =make
68+
RANLIB =ranlib
69+
FIND =find
70+
71+
_______________________________________________________________________
72+
73+
Fussion Instruction.h and icode.h, it should represent a sesc
74+
internal instruction independent of the encoding (MIPS, PPC).
75+
libmint and libtrace can have their internal representation.
76+
77+
Lazy Instruction translation?
78+
79+
If we have a cache, it will not be necessary to translate everything
80+
at the beginning. This is useful if we want to have something like
81+
pearPC. Otherwise, it will be impossible to have binary load.
82+

WARNING

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Note that the following functionality is still not fully implemented:
2+
3+
-libvmem: The latest version is still not commited.
4+
5+

build/Make.defs

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#cleaning up some messy environment variables around ;-)
2+
#unexport TASKSCALAR
3+
#unexport VALUEPRED
4+
#unexport TS_VMEM
5+
6+
CP=cp
7+
8+
#Note that we are ignoring configure's CC, CXX, etc... this is because
9+
# these variables are redefined in src/Makefile.defs.XXX to choose the right
10+
# compiler and options for the different platforms.
11+
# TODO: configure does a better job in choosing these things,
12+
# so we should use it!
13+
14+
#complilation variables, ignored for now, since we need to change even further
15+
# the makefiles
16+
#CFLAGS = @CFLAGS@
17+
#LDFLAGS = @LDFLAGS@
18+
19+
#path variables
20+
21+
BUILD_DIR =/home/hemant/sesc_copy/build
22+
SRC_DIR =/home/hemant/sesc_copy/src
23+
TOPSRC_DIR=/home/hemant/sesc_copy
24+
OBJ_DIR =$(BUILD_DIR)/obj
25+
26+
#trick for having all the .depend files in the same directory
27+
DOTDEPEND=$(OBJ)/.depend.$(SIGNATURE)
28+
29+
DEFS = -DPACKAGE_NAME=\"esesc\" -DPACKAGE_TARNAME=\"esesc\" -DPACKAGE_VERSION=\"2\" -DPACKAGE_STRING=\"esesc\ 2\" -DPACKAGE_BUGREPORT=\"[email protected]\ [email protected]\"
30+
31+
# defining the make variables
32+
# TODO: we need a cleanup in the makefiles so this won't be necessary
33+
34+
#TASKSCALAR=1
35+
#VALUEPRED=1
36+
#SESC_ENERGY=1
37+
#SESC_MISPATH=1
38+
#TS_VMEM=1
39+
#DEBUG_SILENT=1
40+
#DEBUG=1
41+
#DIRECTORY=1
42+
#TS_PROFILING=1
43+
#TS_RISKLOADPROF=1
44+
#NO_MERGELAST=1
45+
#NO_MERGENEXT=1
46+
#SESC_SMP=1
47+
#SESC_SMP_DEBUG=1
48+
#SESC_BAAD=1
49+
50+
#SESC_SESCTHERM=1
51+
#SESC_THERM=1
52+
#CONDOR_LINK=1
53+
#TRACE_DRIVEN=1
54+
#SESC_RSTTRACE=1
55+
#QEMU_DRIVEN=1
56+
57+
#MIPS_EMUL=1
58+
#SESC_32BIT=1
59+
60+
#LF_ENABLED=1

0 commit comments

Comments
 (0)