--- /dev/null
+TARGET_ISA = 'no'
+CPU_MODELS = 'no'
--- /dev/null
+
+Import('*')
+
+all_isa_list.append('no')
--- /dev/null
+
+class BaseCPU
+{
+ public:
+ static int numSimulatedInstructions() { return 0; }
+};
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')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
#################################################################
#
# Generate StaticInst execute() method signatures.
--- /dev/null
+
+Import('*')
+
+CpuModel('no', '', '', { '': '' })
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if env['FULL_SYSTEM']:
SimObject('BadDevice.py')
SimObject('CopyEngine.py')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if env['FULL_SYSTEM']:
Source('kernel_stats.cc')
Source('system_events.cc')
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')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
SimObject('BaseCache.py')
Source('base.cc')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
Source('base.cc')
Source('ghb.cc')
Source('stride.cc')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
Source('base.cc')
Source('fa_lru.cc')
Source('iic.cc')
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
if not env['RUBY']:
Return()
#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);
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')
#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;
Import('*')
+if env['TARGET_ISA'] == 'no':
+ Return()
+
UnitTest('bitvectest', 'bitvectest.cc')
UnitTest('circletest', 'circletest.cc')
UnitTest('cprintftest', 'cprintftest.cc')