debug: fix help output
This commit is contained in:
parent
8ce85d3db6
commit
0dffd35741
3 changed files with 30 additions and 18 deletions
|
@ -101,14 +101,14 @@ void
|
||||||
CompoundFlag::enable()
|
CompoundFlag::enable()
|
||||||
{
|
{
|
||||||
SimpleFlag::enable();
|
SimpleFlag::enable();
|
||||||
for_each(flags.begin(), flags.end(), mem_fun(&Flag::enable));
|
for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::enable));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CompoundFlag::disable()
|
CompoundFlag::disable()
|
||||||
{
|
{
|
||||||
SimpleFlag::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
|
struct AllFlags : public Flag
|
||||||
|
|
|
@ -44,6 +44,7 @@ class Flag
|
||||||
protected:
|
protected:
|
||||||
const char *_name;
|
const char *_name;
|
||||||
const char *_desc;
|
const char *_desc;
|
||||||
|
std::vector<Flag *> _kids;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Flag(const char *name, const char *desc);
|
Flag(const char *name, const char *desc);
|
||||||
|
@ -51,6 +52,7 @@ class Flag
|
||||||
|
|
||||||
std::string name() const { return _name; }
|
std::string name() const { return _name; }
|
||||||
std::string desc() const { return _desc; }
|
std::string desc() const { return _desc; }
|
||||||
|
std::vector<Flag *> kids() { return _kids; }
|
||||||
|
|
||||||
virtual void enable() = 0;
|
virtual void enable() = 0;
|
||||||
virtual void disable() = 0;
|
virtual void disable() = 0;
|
||||||
|
@ -77,7 +79,12 @@ class SimpleFlag : public Flag
|
||||||
class CompoundFlag : public SimpleFlag
|
class CompoundFlag : public SimpleFlag
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
std::vector<Flag *> flags;
|
void
|
||||||
|
addFlag(Flag &f)
|
||||||
|
{
|
||||||
|
if (&f != NULL)
|
||||||
|
_kids.push_back(&f);
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CompoundFlag(const char *name, const char *desc,
|
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);
|
addFlag(f15); addFlag(f16); addFlag(f17); addFlag(f18); addFlag(f19);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
addFlag(Flag &f)
|
|
||||||
{
|
|
||||||
if (&f != NULL)
|
|
||||||
flags.push_back(&f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void enable();
|
void enable();
|
||||||
void disable();
|
void disable();
|
||||||
};
|
};
|
||||||
|
|
|
@ -26,24 +26,36 @@
|
||||||
#
|
#
|
||||||
# Authors: Nathan Binkert
|
# Authors: Nathan Binkert
|
||||||
|
|
||||||
|
from UserDict import DictMixin
|
||||||
|
|
||||||
import internal
|
import internal
|
||||||
|
|
||||||
|
from internal.debug import SimpleFlag, CompoundFlag
|
||||||
from internal.debug import schedBreakCycle, setRemoteGDBPort
|
from internal.debug import schedBreakCycle, setRemoteGDBPort
|
||||||
|
from m5.util import printList
|
||||||
|
|
||||||
def help():
|
def help():
|
||||||
print "Base Flags:"
|
print "Base Flags:"
|
||||||
for flag in flags.basic:
|
for name in sorted(flags):
|
||||||
print " %s: %s" % (flag, flags.descriptions[flag])
|
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
|
||||||
print "Compound Flags:"
|
print "Compound Flags:"
|
||||||
for flag in flags.compound:
|
for name in sorted(flags):
|
||||||
if flag == 'All':
|
if name == 'All':
|
||||||
continue
|
continue
|
||||||
print " %s: %s" % (flag, flags.descriptions[flag])
|
flag = flags[name]
|
||||||
util.printList(flags.compoundMap[flag], indent=8)
|
children = [c for c in flag.kids() ]
|
||||||
print
|
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):
|
def __init__(self):
|
||||||
self._version = -1
|
self._version = -1
|
||||||
self._dict = {}
|
self._dict = {}
|
||||||
|
|
Loading…
Reference in a new issue