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

Reply via email to