Merge from changes to Memtype and Bustype and Automerge

--HG--
extra : convert_revision : 143fdcc333084c7ba04291e0c299f99566b73cc3
This commit is contained in:
Ron Dreslinski 2005-01-12 15:22:58 -05:00
commit 3edc239c13
6 changed files with 90 additions and 20 deletions

View file

@ -65,6 +65,7 @@ base_sources = Split('''
base/pollevent.cc base/pollevent.cc
base/python.cc base/python.cc
base/range.cc base/range.cc
base/random.cc
base/sat_counter.cc base/sat_counter.cc
base/socket.cc base/socket.cc
base/statistics.cc base/statistics.cc
@ -413,12 +414,12 @@ else:
obj_desc_files += syscall_emulation_obj_desc_files obj_desc_files += syscall_emulation_obj_desc_files
extra_libraries = [] extra_libraries = []
env.Append(LIBS=['z'])
if env['USE_MYSQL']: if env['USE_MYSQL']:
sources += mysql_sources sources += mysql_sources
env.Append(CPPDEFINES = 'USE_MYSQL') env.Append(CPPDEFINES = 'USE_MYSQL')
env.Append(CPPDEFINES = 'STATS_BINNING') env.Append(CPPDEFINES = 'STATS_BINNING')
env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql']) env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
env.Append(LIBS=['z'])
if os.path.isdir('/usr/lib64'): if os.path.isdir('/usr/lib64'):
env.Append(LIBPATH=['/usr/lib64/mysql']) env.Append(LIBPATH=['/usr/lib64/mysql'])
else: else:

View file

@ -39,7 +39,7 @@ class RandomContext : public ParamContext
public: public:
RandomContext(const string &_iniSection) RandomContext(const string &_iniSection)
: ::ParamContext(_iniSection) {} : ::ParamContext(_iniSection) {}
~RandomContext(); ~RandomContext() {}
void checkParams(); void checkParams();
}; };

View file

@ -26,8 +26,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef __RANDOM_HH__ #ifndef __BASE_RANDOM_HH__
#define __RANDOM_HH__ #define __BASE_RANDOM_HH__
#include "sim/host.hh" #include "sim/host.hh"
@ -45,56 +45,56 @@ struct Random<int8_t>
struct Random<uint8_t> struct Random<uint8_t>
{ {
uint8_t get() static uint8_t get()
{ return getLong() & (uint8_t)-1; } { return getLong() & (uint8_t)-1; }
}; };
struct Random<int16_t> struct Random<int16_t>
{ {
int16_t get() static int16_t get()
{ return getLong() & (int16_t)-1; } { return getLong() & (int16_t)-1; }
}; };
struct Random<uint16_t> struct Random<uint16_t>
{ {
uint16_t get() static uint16_t get()
{ return getLong() & (uint16_t)-1; } { return getLong() & (uint16_t)-1; }
}; };
struct Random<int32_t> struct Random<int32_t>
{ {
int32_t get() static int32_t get()
{ return (int32_t)getLong(); } { return (int32_t)getLong(); }
}; };
struct Random<uint32_t> struct Random<uint32_t>
{ {
uint32_t get() static uint32_t get()
{ return (uint32_t)getLong(); } { return (uint32_t)getLong(); }
}; };
struct Random<int64_t> struct Random<int64_t>
{ {
int64_t get() static int64_t get()
{ return (int64_t)getLong() << 32 || (uint64_t)getLong(); } { return (int64_t)getLong() << 32 || (uint64_t)getLong(); }
}; };
struct Random<uint64_t> struct Random<uint64_t>
{ {
uint64_t get() static uint64_t get()
{ return (uint64_t)getLong() << 32 || (uint64_t)getLong(); } { return (uint64_t)getLong() << 32 || (uint64_t)getLong(); }
}; };
struct Random<float> struct Random<float>
{ {
float get() static float get()
{ return getDouble(); } { return getDouble(); }
}; };
struct Random<double> struct Random<double>
{ {
double get() static double get()
{ return getDouble(); } { return getDouble(); }
}; };
#endif // __RANDOM_HH__ #endif // __BASE_RANDOM_HH__

View file

@ -34,7 +34,7 @@
class BaseInterface; class BaseInterface;
class Bus; class Bus;
class HierParams; class HierParams;
template <class Bus> class DMAInterface; template <class BusType> class DMAInterface;
class PioDevice : public FunctionalMemory class PioDevice : public FunctionalMemory
{ {

View file

@ -171,7 +171,7 @@ class Database(object):
self.query('select * from formulas') self.query('select * from formulas')
for id,formula in self.cursor.fetchall(): for id,formula in self.cursor.fetchall():
self.allFormulas[int(id)] = formula self.allFormulas[int(id)] = formula.tostring()
StatData.db = self StatData.db = self
self.query('select * from stats') self.query('select * from stats')

View file

@ -39,7 +39,73 @@ def unique(list):
map(set.__setitem__, list, []) map(set.__setitem__, list, [])
return set.keys() return set.keys()
def graphdata68(runs, options, tag, label, value):
import info
configs = ['ste', 'hte', 'htd', 'ocm', 'occ', 'ocp' ]
benchmarks = [ 'm', 's', 'snt', 'nb1', 'w1', 'w2', 'w3', 'w4', 'nm', 'ns', 'nw1', 'nw2', 'nw3' ]
dmas = [ 'x' ]
caches = [ '2', '4' ]
names = []
bench_system = {
'm' : 'client',
's' : 'client',
'snt' : 'client',
'nb1' : 'server',
'nb2' : 'server',
'nt1' : 'server',
'nt2' : 'server',
'w1' : 'server',
'w2' : 'server',
'w3' : 'server',
'w4' : 'server',
'w1s' : 'server',
'w2s' : 'server',
'w3s' : 'server',
'ns' : 'natbox',
'nm' : 'natbox',
'nw1' : 'natbox',
'nw2' : 'natbox',
'nw3' : 'natbox'
}
for bench in benchmarks:
if bench_system[bench] != options.system:
continue
for dma in dmas:
for cache in caches:
names.append([bench, dma, cache])
for bench,dma,cache in names:
base = '%s.%s.%s' % (bench, dma, cache)
fname = 'data/%s.%s.68.dat' % (tag, base)
f = open(fname, 'w')
print >>f, '#set TITLE = '
print >>f, '#set ylbl = %s' % label
#print >>f, '#set sublabels = %s' % ' '.join(configs)
print >>f, '#set sublabels = ste hte htd ocm occ ocs'
for speed,freq in zip(['s', '6', '8', 'q'],['4GHz', '6GHz','8GHz', '10GHz']):
print >>f, '"%s"' % freq,
for conf in configs:
name = '%s.%s.%s.%s.%s' % (conf, bench, dma, cache, speed)
run = info.source.allRunNames[name]
info.display_run = run.run;
val = float(value)
if val == 1e300*1e300:
print >>f, 0.0,
else:
print >>f, "%f" % val,
print >>f
f.close()
def graphdata(runs, options, tag, label, value): def graphdata(runs, options, tag, label, value):
if options.graph68:
graphdata68(runs, options, tag, label, value)
return
import info import info
configs = ['ste', 'hte', 'htd', 'ocm', 'occ', 'ocp' ] configs = ['ste', 'hte', 'htd', 'ocm', 'occ', 'ocp' ]
#benchmarks = [ 'm', 's', 'nb1', 'nb2', 'nt1', 'nt2', 'w1', 'w2', 'w3', 'w4', 'ns', 'nm', 'nw1', 'nw2', 'nw3' ] #benchmarks = [ 'm', 's', 'nb1', 'nb2', 'nt1', 'nt2', 'w1', 'w2', 'w3', 'w4', 'ns', 'nm', 'nw1', 'nw2', 'nw3' ]
@ -85,10 +151,10 @@ def graphdata(runs, options, tag, label, value):
base = '%s.%s.%s' % (bench, dma, cache) base = '%s.%s.%s' % (bench, dma, cache)
fname = 'data/%s.%s.dat' % (tag, base) fname = 'data/%s.%s.dat' % (tag, base)
f = open(fname, 'w') f = open(fname, 'w')
print >>f, '#set TITLE = %s' % base print >>f, '#set TITLE = '
print >>f, '#set xlbl = Configuration'
print >>f, '#set ylbl = %s' % label print >>f, '#set ylbl = %s' % label
print >>f, '#set sublabels = %s' % ' '.join(configs) #print >>f, '#set sublabels = %s' % ' '.join(configs)
print >>f, '#set sublabels = ste hte htd ocm occ ocs'
for speed,freq in zip(['s', 'q'],['4GHz','10GHz']): for speed,freq in zip(['s', 'q'],['4GHz','10GHz']):
print >>f, '"%s"' % freq, print >>f, '"%s"' % freq,
@ -578,9 +644,12 @@ if __name__ == '__main__':
options.get = None options.get = None
options.binned = False options.binned = False
options.graph = False options.graph = False
options.graph68 = False
opts, args = getopts(sys.argv[1:], '-BEFGd:g:h:pr:s:u:') opts, args = getopts(sys.argv[1:], '-6BEFGd:g:h:pr:s:u:')
for o,a in opts: for o,a in opts:
if o == '-6':
options.graph68 = True
if o == '-B': if o == '-B':
options.binned = True options.binned = True
if o == '-E': if o == '-E':