There is currently no Python API to check if a debug flag is
enabled. Add a new status property that can be read or set to control
the status of a flag. The stat of a flag can also be queried by
converting it to a bool.
For example:
m5.debug.flags["XBar"].status = True
if m5.debug.flags["XBar"]:
print("XBar debugging is on")
Change-Id: I5a50c39ced182ab44e18c061c463d7d9c41ef186
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34119
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
.def_property_readonly("desc", &Debug::Flag::desc)
.def("enable", &Debug::Flag::enable)
.def("disable", &Debug::Flag::disable)
+ .def_property("status",
+ [](const Debug::Flag *flag) {
+ return flag->status();
+ },
+ [](Debug::Flag *flag, bool state) {
+ if (state) {
+ flag->enable();
+ } else {
+ flag->disable();
+ }
+ })
+ .def("__bool__", [](const Debug::Flag *flag) {
+ return flag->status();
+ })
;
py::class_<Debug::SimpleFlag>(m_debug, "SimpleFlag", c_flag);