Removed the targetarch code.
[gem5.git] / SConscript
index 7afb84e679bc169710dcf2c080b0bd9db7adbbc4..51836b0bebeacf3b8d451a5e13da1034dbeaf321 100644 (file)
@@ -86,31 +86,7 @@ base_sources = Split('''
        cpu/exetrace.cc
        cpu/pc_event.cc
        cpu/static_inst.cc
-        cpu/o3/2bit_local_pred.cc
-        cpu/o3/alpha_dyn_inst.cc
-        cpu/o3/alpha_cpu.cc
-        cpu/o3/alpha_cpu_builder.cc
-        cpu/o3/bpred_unit.cc
-        cpu/o3/btb.cc
-        cpu/o3/commit.cc
-        cpu/o3/decode.cc
-        cpu/o3/fetch.cc
-        cpu/o3/free_list.cc
-        cpu/o3/cpu.cc
-        cpu/o3/iew.cc
-        cpu/o3/inst_queue.cc
-        cpu/o3/ldstq.cc
-        cpu/o3/mem_dep_unit.cc
-        cpu/o3/ras.cc
-        cpu/o3/rename.cc
-        cpu/o3/rename_map.cc
-        cpu/o3/rob.cc
-        cpu/o3/sat_counter.cc
-        cpu/o3/store_set.cc
-        cpu/o3/tournament_pred.cc
-       cpu/fast/cpu.cc
         cpu/sampler/sampler.cc
-        cpu/simple/cpu.cc
         cpu/trace/reader/mem_trace_reader.cc
         cpu/trace/reader/ibm_reader.cc
         cpu/trace/reader/itx_reader.cc
@@ -118,41 +94,6 @@ base_sources = Split('''
         cpu/trace/opt_cpu.cc
         cpu/trace/trace_cpu.cc
 
-       encumbered/cpu/full/bpred.cc
-       encumbered/cpu/full/commit.cc
-       encumbered/cpu/full/cpu.cc
-       encumbered/cpu/full/create_vector.cc
-       encumbered/cpu/full/cv_spec_state.cc
-       encumbered/cpu/full/dd_queue.cc
-       encumbered/cpu/full/dep_link.cc
-       encumbered/cpu/full/dispatch.cc
-       encumbered/cpu/full/dyn_inst.cc
-       encumbered/cpu/full/execute.cc
-       encumbered/cpu/full/fetch.cc
-       encumbered/cpu/full/floss_reasons.cc
-       encumbered/cpu/full/fu_pool.cc
-       encumbered/cpu/full/inst_fifo.cc
-       encumbered/cpu/full/instpipe.cc
-       encumbered/cpu/full/issue.cc
-       encumbered/cpu/full/ls_queue.cc
-       encumbered/cpu/full/machine_queue.cc
-        encumbered/cpu/full/pipetrace.cc
-        encumbered/cpu/full/readyq.cc
-        encumbered/cpu/full/reg_info.cc
-        encumbered/cpu/full/rob_station.cc
-        encumbered/cpu/full/spec_memory.cc
-        encumbered/cpu/full/spec_state.cc
-        encumbered/cpu/full/storebuffer.cc
-        encumbered/cpu/full/writeback.cc
-        encumbered/cpu/full/iq/iq_station.cc
-        encumbered/cpu/full/iq/iqueue.cc
-        encumbered/cpu/full/iq/segmented/chain_info.cc
-        encumbered/cpu/full/iq/segmented/chain_wire.cc
-        encumbered/cpu/full/iq/segmented/iq_seg.cc
-        encumbered/cpu/full/iq/segmented/iq_segmented.cc
-        encumbered/cpu/full/iq/segmented/seg_chain.cc
-        encumbered/cpu/full/iq/seznec/iq_seznec.cc
-        encumbered/cpu/full/iq/standard/iq_standard.cc
        encumbered/mem/functional/main.cc
 
        mem/base_hier.cc
@@ -224,6 +165,45 @@ base_sources = Split('''
        sim/trace_context.cc
         ''')
 
+# Old FullCPU sources
+full_cpu_sources = Split('''
+       encumbered/cpu/full/bpred.cc
+       encumbered/cpu/full/commit.cc
+       encumbered/cpu/full/cpu.cc
+       encumbered/cpu/full/create_vector.cc
+       encumbered/cpu/full/cv_spec_state.cc
+       encumbered/cpu/full/dd_queue.cc
+       encumbered/cpu/full/dep_link.cc
+       encumbered/cpu/full/dispatch.cc
+       encumbered/cpu/full/dyn_inst.cc
+       encumbered/cpu/full/execute.cc
+       encumbered/cpu/full/fetch.cc
+       encumbered/cpu/full/floss_reasons.cc
+       encumbered/cpu/full/fu_pool.cc
+       encumbered/cpu/full/inst_fifo.cc
+       encumbered/cpu/full/instpipe.cc
+       encumbered/cpu/full/issue.cc
+       encumbered/cpu/full/ls_queue.cc
+       encumbered/cpu/full/machine_queue.cc
+        encumbered/cpu/full/pipetrace.cc
+        encumbered/cpu/full/readyq.cc
+        encumbered/cpu/full/reg_info.cc
+        encumbered/cpu/full/rob_station.cc
+        encumbered/cpu/full/spec_memory.cc
+        encumbered/cpu/full/spec_state.cc
+        encumbered/cpu/full/storebuffer.cc
+        encumbered/cpu/full/writeback.cc
+        encumbered/cpu/full/iq/iq_station.cc
+        encumbered/cpu/full/iq/iqueue.cc
+        encumbered/cpu/full/iq/segmented/chain_info.cc
+        encumbered/cpu/full/iq/segmented/chain_wire.cc
+        encumbered/cpu/full/iq/segmented/iq_seg.cc
+        encumbered/cpu/full/iq/segmented/iq_segmented.cc
+        encumbered/cpu/full/iq/segmented/seg_chain.cc
+        encumbered/cpu/full/iq/seznec/iq_seznec.cc
+        encumbered/cpu/full/iq/standard/iq_standard.cc
+        ''')
+
 # MySql sources
 mysql_sources = Split('''
        base/mysql.cc
@@ -320,36 +300,22 @@ syscall_emulation_sources = Split('''
        sim/syscall_emul.cc
         ''')
 
-targetarch_files = Split('''
-        alpha_linux_process.hh
-        memory.hh
-        alpha_tru64_process.hh
-        aout_machdep.h
-        arguments.hh
-        ecoff_machdep.h
-        ev5.hh
-        faults.hh
-        stacktrace.hh
-        vtophys.hh
-        ''')
-
-# Set up bridging headers to the architecture specific versions
-for f in targetarch_files:
-    env.Command('targetarch/' + f, 'arch/%s/%s' % (env['TARGET_ISA'], f),
-                '''echo '#include "arch/%s/%s"' > $TARGET''' % (env['TARGET_ISA'], f))
-
-# Let the target architecture define what sources it needs
-arch_source = SConscript('arch/%s/SConscript' % env['TARGET_ISA'],
-       build_dir = 'build/%s/' % env['BUILD_DIR'],
-       exports = 'env', duplicate = False)
-
 # Add a flag defining what THE_ISA should be for all compilation
 env.Append(CPPDEFINES=[('THE_ISA','%s_ISA' % env['TARGET_ISA'].upper())])
 
-SConscript('arch/SConscript', exports = 'env', duplicate = False)
+arch_sources = SConscript('arch/SConscript',
+                          exports = 'env', duplicate = False)
+
+cpu_sources = SConscript('cpu/SConscript',
+                         exports = 'env', duplicate = False)
+
+# This is outside of cpu/SConscript since the source directory isn't
+# underneath 'cpu'.
+if 'FullCPU' in env['CPU_MODELS']:
+    cpu_sources += full_cpu_sources
 
 # Set up complete list of sources based on configuration.
-sources = base_sources + arch_source
+sources = base_sources + arch_sources + cpu_sources
 
 if env['FULL_SYSTEM']:
     sources += full_system_sources
@@ -364,27 +330,6 @@ if env['USE_MYSQL']:
 for opt in env.ExportOptions:
     env.ConfigFile(opt)
 
-###################################################
-#
-# Add an SCons scanner for ISA files
-#
-###################################################
-import SCons.Scanner
-
-def ISAScan():
-   return SCons.Scanner.Classic("ISAScan",
-                                "$ISASUFFIXES",
-                                "SRCDIR",
-                                '^[ \t]*##[ \t]*include[ \t]*"([^>"]+)"')
-
-def ISAPath(env, dir, target=None, source=None, a=None):
-   return (Dir(env['SRCDIR']), Dir('.'))   
-
-iscan = Scanner(function = ISAScan().scan, skeys = [".isa", ".ISA"],
-                path_function = ISAPath)
-env.Append(SCANNERS = iscan)
-
 ###################################################
 #
 # Special build rules.
@@ -397,27 +342,6 @@ env.Command(Split('base/traceflags.hh base/traceflags.cc'),
             'base/traceflags.py',
             'python $SOURCE $TARGET.base')
 
-# several files are generated from arch/$TARGET_ISA/isa_desc.
-env.Command(Split('''
-       arch/%s/decoder.cc
-       arch/%s/decoder.hh
-        arch/%s/alpha_o3_exec.cc
-       arch/%s/fast_cpu_exec.cc
-        arch/%s/simple_cpu_exec.cc
-        arch/%s/full_cpu_exec.cc''' %
-       (env['TARGET_ISA'],
-       env['TARGET_ISA'],
-       env['TARGET_ISA'],
-       env['TARGET_ISA'],
-       env['TARGET_ISA'],
-       env['TARGET_ISA'])),
-       Split('''
-       arch/%s/isa/main.isa
-       arch/isa_parser.py''' %
-       env['TARGET_ISA']),
-       '$SRCDIR/arch/isa_parser.py $SOURCE $TARGET.dir arch/%s' % env['TARGET_ISA'])
-
-
 # libelf build is described in its own SConscript file.
 # SConscript-local is the per-config build, which just copies some
 # header files into a place where they can be found.