summaryrefslogtreecommitdiff
path: root/SConscript
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2004-08-05 02:03:47 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2004-08-05 02:03:47 -0700
commitd7dfe51faed84ba2b06c32a302597c0226ea239c (patch)
tree52898afd02df6502cc35b75510eb48930df277fb /SConscript
parent1939370c96b48a1f635799b6017d5f5f11799353 (diff)
downloadgem5-d7dfe51faed84ba2b06c32a302597c0226ea239c.tar.xz
Integrate Python configuration script parsing into m5 itself.
SConscript: Add pyconfig/{pyconfig,code}.cc Add list of object description (.od) files. Include pyconfig/SConscript. base/inifile.cc: Get rid of CPP_PIPE... it never really worked anyway. base/inifile.hh: Make load(ifstream&) method public so pyconfig code can call it. sim/main.cc: Handle Python config scripts (end in '.py' instead of '.ini'). sim/pyconfig/m5configbase.py: Add license. Fix minor __setattr__ problem (2.3 related?) --HG-- rename : util/config/m5configbase.py => sim/pyconfig/m5configbase.py extra : convert_revision : 5e004922f950bfdefced333285584b80ad7ffb83
Diffstat (limited to 'SConscript')
-rw-r--r--SConscript86
1 files changed, 85 insertions, 1 deletions
diff --git a/SConscript b/SConscript
index cd41c3143..f6875a630 100644
--- a/SConscript
+++ b/SConscript
@@ -193,8 +193,42 @@ base_sources = Split('''
sim/sw_context.cc
sim/trace_context.cc
sim/universe.cc
+ sim/pyconfig/pyconfig.cc
+ sim/pyconfig/code.cc
''')
+base_obj_desc_files = Split('''
+ cpu/full_cpu/iq/segmented/SegmentedIQ.od
+ cpu/full_cpu/iq/seznec/SeznecIQ.od
+ cpu/full_cpu/iq/standard/StandardIQ.od
+ cpu/full_cpu/iq/BaseIQ.od
+ cpu/full_cpu/BranchPred.od
+ cpu/full_cpu/FUDesc.od
+ cpu/full_cpu/FullCPU.od
+ cpu/full_cpu/FuncUnitPool.od
+ cpu/full_cpu/OpDesc.od
+ cpu/full_cpu/PipeTrace.od
+ cpu/sampling_cpu/SamplingCPU.od
+ cpu/simple_cpu/SimpleCPU.od
+ cpu/BaseCPU.od
+ cpu/IntrControl.od
+ mem/bus/Bus.od
+ mem/bus/BusBridge.od
+ mem/cache/coherence/CoherenceProtocol.od
+ mem/cache/tags/repl/GenRepl.od
+ mem/cache/tags/repl/Repl.od
+ mem/cache/BaseCache.od
+ mem/functional_mem/FunctionalMemory.od
+ mem/functional_mem/MainMemory.od
+ mem/functional_mem/MemoryController.od
+ mem/functional_mem/PhysicalMemory.od
+ mem/timing_mem/BaseMemory.od
+ mem/BaseHier.od
+ mem/BaseMem.od
+ mem/HierParams.od
+ ''')
+
+
# MySql sources
mysql_sources = Split('''
base/mysql.cc
@@ -273,6 +307,44 @@ full_system_sources = Split('''
sim/system.cc
''')
+full_system_obj_desc_files = Split('''
+ arch/alpha/AlphaDTB.od
+ arch/alpha/AlphaITB.od
+ arch/alpha/AlphaTLB.od
+ dev/AlphaConsole.od
+ dev/ConsoleListener.od
+ dev/CowDiskImage.od
+ dev/DiskImage.od
+ dev/DmaDevice.od
+ dev/DmaEngine.od
+ dev/EtherBus.od
+ dev/EtherDev.od
+ dev/EtherDevInt.od
+ dev/EtherDump.od
+ dev/EtherInt.od
+ dev/EtherLink.od
+ dev/EtherTap.od
+ dev/PioDevice.od
+ dev/RawDiskImage.od
+ dev/ScsiController.od
+ dev/ScsiDevice.od
+ dev/ScsiDisk.od
+ dev/SimConsole.od
+ dev/SimpleDisk.od
+ dev/TlaserClock.od
+ dev/TlaserIpi.od
+ dev/TlaserMBox.od
+ dev/TlaserMC146818.od
+ dev/TlaserNode.od
+ dev/TlaserPciDev.od
+ dev/TlaserPcia.od
+ dev/TlaserSerial.od
+ dev/TlaserUart.od
+ dev/Turbolaser.od
+ kern/tru64/Tru64System.od
+ sim/System.od
+ ''')
+
# Syscall emulation (non-full-system) sources
syscall_emulation_sources = Split('''
arch/alpha/alpha_common_syscall_emul.cc
@@ -287,13 +359,23 @@ syscall_emulation_sources = Split('''
sim/syscall_emul.cc
''')
+syscall_emulation_obj_desc_files = Split('''
+ cpu/memtest/MemTest.od
+ eio/EioProcess.od
+ sim/LiveProcess.od
+ sim/Process.od
+ ''')
+
# Set up complete list of sources based on configuration.
sources = base_sources
+obj_desc_files = base_obj_desc_files
if env['FULL_SYSTEM']:
sources += full_system_sources
+ obj_desc_files += full_system_obj_desc_files
else:
sources += syscall_emulation_sources
+ obj_desc_files += syscall_emulation_obj_desc_files
if env['USE_MYSQL']:
sources += mysql_sources
@@ -338,7 +420,9 @@ env.Command('targetarch', None, link_targetarch)
# libelf build is described in its own SConscript file.
-SConscript('libelf/SConscript', exports = 'env',
+SConscript('libelf/SConscript', exports = 'env', duplicate=0)
+
+SConscript('sim/pyconfig/SConscript', exports = ['env', 'obj_desc_files'],
duplicate=0)