Factor out all of the encumbered stuff into separate SConscript
authorNathan Binkert <binkertn@umich.edu>
Thu, 9 Nov 2006 16:43:35 +0000 (08:43 -0800)
committerNathan Binkert <binkertn@umich.edu>
Thu, 9 Nov 2006 16:43:35 +0000 (08:43 -0800)
files so the directories can easily be deleted.
Remove the FullCPU from the ALL_CPU_LIST and only add it if
it exists.

--HG--
extra : convert_revision : b16f56bb92a0063803c5099732dc289fe4363768

SConstruct
src/SConscript

index d047f99d354cbcacec9c654ecf9cd467d32f03a4..35f88e04c20930133564f607421d0a04396d19d7 100644 (file)
@@ -320,8 +320,10 @@ env['ALL_ISA_LIST'] = ['alpha', 'sparc', 'mips']
 
 # Define the universe of supported CPU models
 env['ALL_CPU_LIST'] = ['AtomicSimpleCPU', 'TimingSimpleCPU',
-                       'FullCPU', 'O3CPU',
-                       'OzoneCPU']
+                       'O3CPU', 'OzoneCPU']
+
+if os.path.isdir(os.path.join(SRCDIR, 'src/encumbered/cpu/full')):
+    env['ALL_CPU_LIST'] += ['FullCPU']
 
 # Sticky options get saved in the options file so they persist from
 # one invocation to the next (unless overridden, in which case the new
index b9664dd39284fb4c0522e7c7ce6c004ac1227ecf..6d7783113ac37efacf501767eca9342dbfb50060 100644 (file)
@@ -30,7 +30,7 @@
 
 import os
 import sys
-from os.path import isdir
+from os.path import isfile, join as joinpath
 
 # This file defines how to build a particular configuration of M5
 # based on variable settings in the 'env' build environment.
@@ -146,45 +146,6 @@ 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
-        ''')
-
 trace_reader_sources = Split('''
         cpu/trace/reader/mem_trace_reader.cc
         cpu/trace/reader/ibm_reader.cc
@@ -229,26 +190,6 @@ if env['TARGET_ISA'] == 'alpha':
        kern/tru64/tru64_syscalls.cc
         ''')
 
-# turbolaser encumbered sources
-turbolaser_sources = Split('''
-       encumbered/dev/dma.cc
-       encumbered/dev/etherdev.cc
-       encumbered/dev/scsi.cc
-       encumbered/dev/scsi_ctrl.cc
-       encumbered/dev/scsi_disk.cc
-       encumbered/dev/scsi_none.cc
-       encumbered/dev/tlaser_clock.cc
-       encumbered/dev/tlaser_ipi.cc
-       encumbered/dev/tlaser_mbox.cc
-       encumbered/dev/tlaser_mc146818.cc
-       encumbered/dev/tlaser_node.cc
-       encumbered/dev/tlaser_pcia.cc
-       encumbered/dev/tlaser_pcidev.cc
-       encumbered/dev/tlaser_serial.cc
-       encumbered/dev/turbolaser.cc
-       encumbered/dev/uart8530.cc
-        ''')
-
 # Syscall emulation (non-full-system) sources
 syscall_emulation_sources = Split('''
         mem/translating_port.cc
@@ -262,15 +203,6 @@ syscall_emulation_sources = Split('''
 #        kern/tru64/tru64.cc
 #        ''')
 
-alpha_eio_sources = Split('''
-       encumbered/eio/exolex.cc
-       encumbered/eio/libexo.cc
-       encumbered/eio/eio.cc
-        ''')
-
-if env['TARGET_ISA'] == 'alpha':
-    syscall_emulation_sources += alpha_eio_sources
-    
 memtest_sources = Split('''
        cpu/memtest/memtest.cc
         ''')
@@ -289,24 +221,24 @@ arch_sources = SConscript(os.path.join('arch', 'SConscript'), exports = 'env')
 cpu_sources = SConscript(os.path.join('cpu', 'SConscript'), exports = 'env')
 
 if env['FULL_SYSTEM']:
-    dev_sources = SConscript(os.path.join('dev', 'SConscript'), exports = 'env')
+    dev_sources = SConscript(os.path.join('dev', 'SConscript'),
+                             exports = 'env')
     full_system_sources += dev_sources
 
-    kern_sources = SConscript(os.path.join('kern', 'SConscript'), exports = 'env')
+    kern_sources = SConscript(os.path.join('kern', 'SConscript'),
+                              exports = 'env')
     full_system_sources += kern_sources
 
-# 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_sources + cpu_sources
 
+# encumbered should be last because we're adding to some of the other groups
+if isfile(joinpath(env['SRCDIR'], 'encumbered/SConscript')):
+    sources += SConscript('encumbered/SConscript', exports = 'env')
+
+
 if env['FULL_SYSTEM']:
     sources += full_system_sources
-    if env['ALPHA_TLASER']:
-        sources += turbolaser_sources
 else:
     sources += syscall_emulation_sources