From d7dfe51faed84ba2b06c32a302597c0226ea239c Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Thu, 5 Aug 2004 02:03:47 -0700 Subject: 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 --- SConscript | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) (limited to 'SConscript') 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) -- cgit v1.2.3