diff options
Diffstat (limited to 'src/python/m5')
-rw-r--r-- | src/python/m5/main.py | 42 | ||||
-rw-r--r-- | src/python/m5/objects/Root.py | 3 |
2 files changed, 18 insertions, 27 deletions
diff --git a/src/python/m5/main.py b/src/python/m5/main.py index 5df6d03cf..d02bc466b 100644 --- a/src/python/m5/main.py +++ b/src/python/m5/main.py @@ -30,11 +30,6 @@ import code, optparse, os, socket, sys from datetime import datetime from attrdict import attrdict -try: - import info -except ImportError: - info = None - __all__ = [ 'options', 'arguments', 'main' ] usage="%prog [m5 options] script.py [script options]" @@ -142,18 +137,10 @@ add_option("--debug-break", metavar="TIME[,TIME]", action='append', split=',', set_group("Trace Options") add_option("--trace-flags", metavar="FLAG[,FLAG]", action='append', split=',', help="Sets the flags for tracing") -add_option("--trace-start", metavar="TIME", default='0s', - help="Start tracing at TIME (must have units)") -add_option("--trace-cycle", metavar="CYCLE", default='0', - help="Start tracing at CYCLE") +add_option("--trace-start", metavar="TIME", type='int', + help="Start tracing at TIME (must be in ticks)") add_option("--trace-file", metavar="FILE", default="cout", help="Sets the output file for tracing [Default: %default]") -add_option("--trace-circlebuf", metavar="SIZE", type="int", default=0, - help="If SIZE is non-zero, turn on the circular buffer with SIZE lines") -add_option("--no-trace-circlebuf", action="store_const", const=0, - dest='trace_circlebuf', help=optparse.SUPPRESS_HELP) -bool_option("trace-dumponexit", default=False, - help="Dump trace buffer on exit") add_option("--trace-ignore", metavar="EXPR", action='append', split=':', help="Ignore EXPR sim objects") @@ -211,6 +198,8 @@ def parse_args(): return opts,args def main(): + import defines + import info import internal parse_args() @@ -278,14 +267,19 @@ def main(): for when in options.debug_break: internal.debug.schedBreakCycle(int(when)) - # set tracing options - objects.Trace.flags = options.trace_flags - objects.Trace.start = options.trace_start - objects.Trace.cycle = options.trace_cycle - objects.Trace.file = options.trace_file - objects.Trace.bufsize = options.trace_circlebuf - objects.Trace.dump_on_exit = options.trace_dumponexit - objects.Trace.ignore = options.trace_ignore + for flag in options.trace_flags: + internal.trace.set(flag) + + if options.trace_start is not None: + internal.trace.enabled = False + def enable_trace(): + internal.event.enabled = True + internal.event.create(enable_trace, options.trace_start) + + internal.trace.output(options.trace_file) + + for ignore in options.trace_ignore: + internal.trace.ignore(ignore) # set execution trace options objects.ExecutionTrace.speculative = options.speculative @@ -309,7 +303,7 @@ def main(): # we want readline if we're doing anything interactive if options.interactive or options.pdb: - exec("import readline", scope) + exec "import readline" in scope # if pdb was requested, execfile the thing under pdb, otherwise, # just do the execfile normally diff --git a/src/python/m5/objects/Root.py b/src/python/m5/objects/Root.py index b6123f192..81482c1de 100644 --- a/src/python/m5/objects/Root.py +++ b/src/python/m5/objects/Root.py @@ -3,7 +3,6 @@ from m5.params import * from Serialize import Serialize from Serialize import Statreset from Statistics import Statistics -from Trace import Trace from ExeTrace import ExecutionTrace class Root(SimObject): @@ -15,9 +14,7 @@ class Root(SimObject): output_file = Param.String('cout', "file to dump simulator output to") checkpoint = Param.String('', "checkpoint file to load") # stats = Param.Statistics(Statistics(), "statistics object") -# trace = Param.Trace(Trace(), "trace object") # serialize = Param.Serialize(Serialize(), "checkpoint generation options") stats = Statistics() - trace = Trace() exetrace = ExecutionTrace() serialize = Serialize() |