Note that running "m5 --help" still has the old names:

Trace Options
-------------
--trace-help            Print help on trace flags
--trace-flags=FLAG[,FLAG]
                        Sets the flags for tracing (-FLAG disables a flag)
--trace-start=TIME      Start tracing at TIME (must be in ticks)
--trace-file=FILE       Sets the output file for tracing [Default: cout]
--trace-ignore=EXPR     Ignore EXPR sim objects


On Wed, May 4, 2011 at 7:07 AM, Nathan Binkert <n...@binkert.org> wrote:

> changeset 5a9a639ce16f in /z/repo/m5
> details: http://repo.m5sim.org/m5?cmd=changeset;node=5a9a639ce16f
> description:
>        debug: fix help output
>
> diffstat:
>
>  src/base/debug.cc      |   4 ++--
>  src/base/debug.hh      |  16 ++++++++--------
>  src/python/m5/debug.py |  28 ++++++++++++++++++++--------
>  3 files changed, 30 insertions(+), 18 deletions(-)
>
> diffs (115 lines):
>
> diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.cc
> --- a/src/base/debug.cc Mon May 02 12:40:32 2011 -0700
> +++ b/src/base/debug.cc Wed May 04 10:08:08 2011 -0400
> @@ -101,14 +101,14 @@
>  CompoundFlag::enable()
>  {
>     SimpleFlag::enable();
> -    for_each(flags.begin(), flags.end(), mem_fun(&Flag::enable));
> +    for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::enable));
>  }
>
>  void
>  CompoundFlag::disable()
>  {
>     SimpleFlag::disable();
> -    for_each(flags.begin(), flags.end(), mem_fun(&Flag::disable));
> +    for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::disable));
>  }
>
>  struct AllFlags : public Flag
> diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.hh
> --- a/src/base/debug.hh Mon May 02 12:40:32 2011 -0700
> +++ b/src/base/debug.hh Wed May 04 10:08:08 2011 -0400
> @@ -44,6 +44,7 @@
>   protected:
>     const char *_name;
>     const char *_desc;
> +    std::vector<Flag *> _kids;
>
>   public:
>     Flag(const char *name, const char *desc);
> @@ -51,6 +52,7 @@
>
>     std::string name() const { return _name; }
>     std::string desc() const { return _desc; }
> +    std::vector<Flag *> kids() { return _kids; }
>
>     virtual void enable() = 0;
>     virtual void disable() = 0;
> @@ -77,7 +79,12 @@
>  class CompoundFlag : public SimpleFlag
>  {
>   protected:
> -    std::vector<Flag *> flags;
> +    void
> +    addFlag(Flag &f)
> +    {
> +        if (&f != NULL)
> +            _kids.push_back(&f);
> +    }
>
>   public:
>     CompoundFlag(const char *name, const char *desc,
> @@ -99,13 +106,6 @@
>         addFlag(f15); addFlag(f16); addFlag(f17); addFlag(f18);
> addFlag(f19);
>     }
>
> -    void
> -    addFlag(Flag &f)
> -    {
> -        if (&f != NULL)
> -            flags.push_back(&f);
> -    }
> -
>     void enable();
>     void disable();
>  };
> diff -r 3f49ed206f46 -r 5a9a639ce16f src/python/m5/debug.py
> --- a/src/python/m5/debug.py    Mon May 02 12:40:32 2011 -0700
> +++ b/src/python/m5/debug.py    Wed May 04 10:08:08 2011 -0400
> @@ -26,24 +26,36 @@
>  #
>  # Authors: Nathan Binkert
>
> +from UserDict import DictMixin
> +
>  import internal
>
> +from internal.debug import SimpleFlag, CompoundFlag
>  from internal.debug import schedBreakCycle, setRemoteGDBPort
> +from m5.util import printList
>
>  def help():
>     print "Base Flags:"
> -    for flag in flags.basic:
> -        print "    %s: %s" % (flag, flags.descriptions[flag])
> +    for name in sorted(flags):
> +        if name == 'All':
> +            continue
> +        flag = flags[name]
> +        children = [c for c in flag.kids() ]
> +        if not children:
> +            print "    %s: %s" % (name, flag.desc())
>     print
>     print "Compound Flags:"
> -    for flag in flags.compound:
> -        if flag == 'All':
> +    for name in sorted(flags):
> +        if name == 'All':
>             continue
> -        print "    %s: %s" % (flag, flags.descriptions[flag])
> -        util.printList(flags.compoundMap[flag], indent=8)
> -        print
> +        flag = flags[name]
> +        children = [c for c in flag.kids() ]
> +        if children:
> +            print "    %s: %s" % (name, flag.desc())
> +            printList([ c.name() for c in children ], indent=8)
> +    print
>
> -class AllFlags(object):
> +class AllFlags(DictMixin):
>     def __init__(self):
>         self._version = -1
>         self._dict = {}
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to