changeset cdb18c1b51ea in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=cdb18c1b51ea
description:
SCons: Support building without an ISA
diffstat:
build_opts/NOISA | 2 ++
src/arch/noisa/SConsopts | 4 ++++
src/arch/noisa/cpu_dummy.hh | 6 ++++++
src/base/SConscript | 3 ++-
src/cpu/SConscript | 3 +++
src/cpu/nocpu/SConsopts | 4 ++++
src/dev/SConscript | 3 +++
src/kern/SConscript | 3 +++
src/mem/SConscript | 10 ++++++----
src/mem/cache/SConscript | 3 +++
src/mem/cache/prefetch/SConscript | 3 +++
src/mem/cache/tags/SConscript | 3 +++
src/mem/ruby/SConscript | 3 +++
src/python/swig/pyobject.hh | 2 --
src/sim/SConscript | 12 +++++++-----
src/sim/stat_control.cc | 7 +++++++
src/unittest/SConscript | 3 +++
17 files changed, 62 insertions(+), 12 deletions(-)
diffs (251 lines):
diff -r bf5377d8f5c1 -r cdb18c1b51ea build_opts/NOISA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build_opts/NOISA Fri Nov 19 18:00:39 2010 -0600
@@ -0,0 +1,2 @@
+TARGET_ISA = 'no'
+CPU_MODELS = 'no'
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/arch/noisa/SConsopts
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/arch/noisa/SConsopts Fri Nov 19 18:00:39 2010 -0600
@@ -0,0 +1,4 @@
+
+Import('*')
+
+all_isa_list.append('no')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/arch/noisa/cpu_dummy.hh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/arch/noisa/cpu_dummy.hh Fri Nov 19 18:00:39 2010 -0600
@@ -0,0 +1,6 @@
+
+class BaseCPU
+{
+ public:
+ static int numSimulatedInstructions() { return 0; }
+};
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/base/SConscript
--- a/src/base/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/base/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -56,7 +56,8 @@
Source('random.cc')
Source('random_mt.cc')
Source('range.cc')
-Source('remote_gdb.cc')
+if env['TARGET_ISA'] != 'no':
+ Source('remote_gdb.cc')
Source('sat_counter.cc')
Source('socket.cc')
Source('statistics.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/cpu/SConscript
--- a/src/cpu/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/cpu/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
#################################################################
#
# Generate StaticInst execute() method signatures.
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/cpu/nocpu/SConsopts
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cpu/nocpu/SConsopts Fri Nov 19 18:00:39 2010 -0600
@@ -0,0 +1,4 @@
+
+Import('*')
+
+CpuModel('no', '', '', { '': '' })
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/dev/SConscript
--- a/src/dev/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/dev/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -31,6 +31,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if env['FULL_SYSTEM']:
SimObject('BadDevice.py')
SimObject('CopyEngine.py')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/kern/SConscript
--- a/src/kern/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/kern/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if env['FULL_SYSTEM']:
Source('kernel_stats.cc')
Source('system_events.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/mem/SConscript
--- a/src/mem/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/mem/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -33,21 +33,23 @@
SimObject('Bridge.py')
SimObject('Bus.py')
SimObject('MemObject.py')
-SimObject('PhysicalMemory.py')
Source('bridge.cc')
Source('bus.cc')
-Source('dram.cc')
Source('mem_object.cc')
Source('packet.cc')
-Source('physical.cc')
Source('port.cc')
Source('tport.cc')
Source('mport.cc')
+if env['TARGET_ISA'] != 'no':
+ SimObject('PhysicalMemory.py')
+ Source('dram.cc')
+ Source('physical.cc')
+
if env['FULL_SYSTEM']:
Source('vport.cc')
-else:
+elif env['TARGET_ISA'] != 'no':
Source('page_table.cc')
Source('translating_port.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/mem/cache/SConscript
--- a/src/mem/cache/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/mem/cache/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
SimObject('BaseCache.py')
Source('base.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/mem/cache/prefetch/SConscript
--- a/src/mem/cache/prefetch/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/mem/cache/prefetch/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
Source('base.cc')
Source('ghb.cc')
Source('stride.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/mem/cache/tags/SConscript
--- a/src/mem/cache/tags/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/mem/cache/tags/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
Source('base.cc')
Source('fa_lru.cc')
Source('iic.cc')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/mem/ruby/SConscript
--- a/src/mem/ruby/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/mem/ruby/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -37,6 +37,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if not env['RUBY']:
Return()
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/python/swig/pyobject.hh
--- a/src/python/swig/pyobject.hh Thu Nov 18 13:11:36 2010 -0500
+++ b/src/python/swig/pyobject.hh Fri Nov 19 18:00:39 2010 -0600
@@ -31,10 +31,8 @@
#include <Python.h>
#include "base/types.hh"
-#include "cpu/base.hh"
#include "sim/serialize.hh"
#include "sim/sim_object.hh"
-#include "sim/system.hh"
extern "C" SimObject *convertSwigSimObjectPtr(PyObject *);
SimObject *resolveSimObject(const std::string &name);
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/sim/SConscript
--- a/src/sim/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/sim/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -32,28 +32,30 @@
SimObject('BaseTLB.py')
SimObject('Root.py')
-SimObject('System.py')
SimObject('InstTracer.py')
Source('async.cc')
Source('core.cc')
Source('debug.cc')
Source('eventq.cc')
-Source('faults.cc')
Source('init.cc')
Source('main.cc', bin_only=True)
-Source('pseudo_inst.cc')
Source('root.cc')
Source('serialize.cc')
Source('sim_events.cc')
Source('sim_object.cc')
Source('simulate.cc')
Source('stat_control.cc')
-Source('system.cc')
+
+if env['TARGET_ISA'] != 'no':
+ SimObject('System.py')
+ Source('faults.cc')
+ Source('pseudo_inst.cc')
+ Source('system.cc')
if env['FULL_SYSTEM']:
Source('arguments.cc')
-else:
+elif env['TARGET_ISA'] != 'no':
Source('tlb.cc')
SimObject('Process.py')
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/sim/stat_control.cc
--- a/src/sim/stat_control.cc Thu Nov 18 13:11:36 2010 -0500
+++ b/src/sim/stat_control.cc Fri Nov 19 18:00:39 2010 -0600
@@ -39,7 +39,14 @@
#include "base/hostinfo.hh"
#include "base/statistics.hh"
#include "base/time.hh"
+
+#include "config/the_isa.hh"
+#if THE_ISA == NO_ISA
+#include "arch/noisa/cpu_dummy.hh"
+#else
#include "cpu/base.hh"
+#endif
+
#include "sim/eventq.hh"
using namespace std;
diff -r bf5377d8f5c1 -r cdb18c1b51ea src/unittest/SConscript
--- a/src/unittest/SConscript Thu Nov 18 13:11:36 2010 -0500
+++ b/src/unittest/SConscript Fri Nov 19 18:00:39 2010 -0600
@@ -30,6 +30,9 @@
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
UnitTest('bitvectest', 'bitvectest.cc')
UnitTest('circletest', 'circletest.cc')
UnitTest('cprintftest', 'cprintftest.cc')
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev