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
This commit is contained in:
86
SConscript
86
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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user