diff options
author | Nathan Binkert <nate@binkert.org> | 2011-05-04 10:08:08 -0400 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2011-05-04 10:08:08 -0400 |
commit | 0dffd35741fafc4d51102c7276b61306bfa73d87 (patch) | |
tree | d83c99d311e1c5cd8cecfa866655b62c0957f32b | |
parent | 8ce85d3db6681084c5fe50bded0a312e550581ab (diff) | |
download | gem5-0dffd35741fafc4d51102c7276b61306bfa73d87.tar.xz |
debug: fix help output
-rw-r--r-- | src/base/debug.cc | 4 | ||||
-rw-r--r-- | src/base/debug.hh | 16 | ||||
-rw-r--r-- | src/python/m5/debug.py | 28 |
3 files changed, 30 insertions, 18 deletions
diff --git a/src/base/debug.cc b/src/base/debug.cc index be301da07..71675aada 100644 --- a/src/base/debug.cc +++ b/src/base/debug.cc @@ -101,14 +101,14 @@ void 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 --git a/src/base/debug.hh b/src/base/debug.hh index ced6b4f48..d43117e71 100644 --- a/src/base/debug.hh +++ b/src/base/debug.hh @@ -44,6 +44,7 @@ class Flag protected: const char *_name; const char *_desc; + std::vector<Flag *> _kids; public: Flag(const char *name, const char *desc); @@ -51,6 +52,7 @@ class Flag 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 SimpleFlag : public Flag 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 @@ class CompoundFlag : public SimpleFlag 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 --git a/src/python/m5/debug.py b/src/python/m5/debug.py index 8231126a0..508bf2842 100644 --- a/src/python/m5/debug.py +++ b/src/python/m5/debug.py @@ -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 = {} |