67,78d66
< def setTraceStart(option, opt_str, value, parser):
< objects.Trace.start = value
<
< def clearPCSymbol(option, opt_str, value, parser):
< objects.ExecutionTrace.pc_symbol = False
<
< def clearPrintCycle(option, opt_str, value, parser):
< objects.ExecutionTrace.print_cycle = False
<
< def statsTextFile(option, opt_str, value, parser):
< objects.Statistics.text_file = value
<
83,94c71
< callback=setTraceFlags),
< optparse.make_option("--tracestart", type="int", action="callback",
< callback=setTraceStart),
< optparse.make_option("--nopcsymbol", action="callback",
< callback=clearPCSymbol,
< help="Turn off printing PC symbols in trace output"),
< optparse.make_option("--noprintcycle", action="callback",
< callback=clearPrintCycle,
< help="Turn off printing cycles in trace output"),
< optparse.make_option("--statsfile", type="string", action="callback",
< callback=statsTextFile, metavar="FILE",
< help="Sets the output file for the statistics")
---
> callback=setTraceFlags)
105a83,92
>
> # Function to provide to C++ so it can look up instances based on paths
> def resolveSimObject(name):
> obj = config.instanceDict[name]
> if not obj._ccObject:
> obj.createCCObject()
> if obj._ccObject == -1:
> panic("resolveSimObject: recursive lookup error on %s" % name)
> return obj._ccObject
>
115c102,105
< main.initialize() # load config.ini into C++ and process it
---
> main.loadIniFile(resolveSimObject) # load config.ini into C++
> root.createCCObject()
> root.connectPorts()
> main.finalInit()