Add --outdir option. Didn't call it "-d" since
that's already being used for "detailed cpu".
Needed to add extra function for user script
to pass parsed options back to m5 module.
configs/test/fs.py:
configs/test/test.py:
Call setStandardOptions().
src/python/m5/__init__.py:
Add --outdir option.
Add setStandardOptions() so user script can
pass parsed options back to m5 module.
src/sim/main.cc:
Add SWIG-wrappable function to set output dir.
--HG--
extra : convert_revision : 1323bee69ca920c699a1cd1218e15b7b0875c1e5
This commit is contained in:
@@ -8,6 +8,7 @@ parser = optparse.OptionParser(option_list=m5.standardOptions)
|
||||
parser.add_option("-t", "--timing", action="store_true")
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
m5.setStandardOptions(options)
|
||||
|
||||
if args:
|
||||
print "Error: script doesn't take any positional arguments"
|
||||
|
||||
@@ -17,6 +17,7 @@ parser.add_option("-d", "--detailed", action="store_true")
|
||||
parser.add_option("-m", "--maxtick", type="int")
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
m5.setStandardOptions(options)
|
||||
|
||||
if args:
|
||||
print "Error: script doesn't take any positional arguments"
|
||||
|
||||
@@ -58,6 +58,20 @@ def AddToPath(path):
|
||||
sys.path.insert(1, path)
|
||||
|
||||
|
||||
# The m5 module's pointer to the parsed options object
|
||||
options = None
|
||||
|
||||
|
||||
# User should call this function after calling parse_args() to pass
|
||||
# parsed standard option values back into the m5 module for
|
||||
# processing.
|
||||
def setStandardOptions(_options):
|
||||
# Set module global var
|
||||
global options
|
||||
options = _options
|
||||
# tell C++ about output directory
|
||||
main.setOutputDir(options.outdir)
|
||||
|
||||
# Callback to set trace flags. Not necessarily the best way to do
|
||||
# things in the long run (particularly if we change how these global
|
||||
# options are handled).
|
||||
@@ -110,6 +124,7 @@ TorF = "True | False"
|
||||
# Standard optparse options. Need to be explicitly included by the
|
||||
# user script when it calls optparse.OptionParser().
|
||||
standardOptions = [
|
||||
optparse.make_option("--outdir", type="string", default="."),
|
||||
optparse.make_option("--traceflags", type="string", action="callback",
|
||||
callback=setTraceFlags),
|
||||
optparse.make_option("--tracestart", type="int", action="callback",
|
||||
@@ -187,7 +202,7 @@ def resolveSimObject(name):
|
||||
def instantiate(root):
|
||||
config.ticks_per_sec = float(root.clock.frequency)
|
||||
# ugly temporary hack to get output to config.ini
|
||||
sys.stdout = file('config.ini', 'w')
|
||||
sys.stdout = file(os.path.join(options.outdir, 'config.ini'), 'w')
|
||||
root.print_ini()
|
||||
sys.stdout.close() # close config.ini
|
||||
sys.stdout = sys.__stdout__ # restore to original
|
||||
|
||||
@@ -297,6 +297,14 @@ main(int argc, char **argv)
|
||||
Py_Finalize();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
setOutputDir(const string &dir)
|
||||
{
|
||||
simout.setDirectory(dir);
|
||||
}
|
||||
|
||||
|
||||
IniFile inifile;
|
||||
|
||||
SimObject *
|
||||
|
||||
Reference in New Issue
Block a user