From f4aa4e43c41fa688abbee9dfa5b2a35a44b2dcf5 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Thu, 9 Nov 2006 08:43:35 -0800 Subject: Factor out all of the encumbered stuff into separate SConscript 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 | 6 ++-- src/SConscript | 88 +++++++--------------------------------------------------- 2 files changed, 14 insertions(+), 80 deletions(-) diff --git a/SConstruct b/SConstruct index d047f99d3..35f88e04c 100644 --- a/SConstruct +++ b/SConstruct @@ -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 diff --git a/src/SConscript b/src/SConscript index b9664dd39..6d7783113 100644 --- a/src/SConscript +++ b/src/SConscript @@ -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 -- cgit v1.2.3