Patchwork [17/21] Monitor: Debugging support

login
register
mail settings
Submitter Luiz Capitulino
Date Feb. 11, 2010, 1:50 a.m.
Message ID <1265853007-27300-18-git-send-email-lcapitulino@redhat.com>
Download mbox | patch
Permalink /patch/45097/
State New
Headers show

Comments

Luiz Capitulino - Feb. 11, 2010, 1:50 a.m.
Add configure options (--enable-debug-mon and --disable-debug-mon)
plus the MON_DEBUG() macro.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 configure |   10 ++++++++++
 monitor.c |    8 ++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

Patch

diff --git a/configure b/configure
index 0a84b0e..2c2e7ae 100755
--- a/configure
+++ b/configure
@@ -266,6 +266,7 @@  linux_aio=""
 
 gprof="no"
 debug_tcg="no"
+debug_mon="no"
 debug="no"
 strip_opt="yes"
 bigendian="no"
@@ -514,9 +515,14 @@  for opt do
   ;;
   --disable-debug-tcg) debug_tcg="no"
   ;;
+  --enable-debug-mon) debug_mon="yes"
+  ;;
+  --disable-debug-mon) debug_mon="no"
+  ;;
   --enable-debug)
       # Enable debugging options that aren't excessively noisy
       debug_tcg="yes"
+      debug_mon="yes"
       debug="yes"
       strip_opt="no"
   ;;
@@ -1918,6 +1924,7 @@  echo "host CPU          $cpu"
 echo "host big endian   $bigendian"
 echo "target list       $target_list"
 echo "tcg debug enabled $debug_tcg"
+echo "Mon debug enabled $debug_mon"
 echo "gprof enabled     $gprof"
 echo "sparse enabled    $sparse"
 echo "strip binaries    $strip_opt"
@@ -1995,6 +2002,9 @@  echo "ARCH=$ARCH" >> $config_host_mak
 if test "$debug_tcg" = "yes" ; then
   echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
 fi
+if test "$debug_mon" = "yes" ; then
+  echo "CONFIG_DEBUG_MONITOR=y" >> $config_host_mak
+fi
 if test "$debug" = "yes" ; then
   echo "CONFIG_DEBUG_EXEC=y" >> $config_host_mak
 fi
diff --git a/monitor.c b/monitor.c
index 6eb0e2c..2a14e81 100644
--- a/monitor.c
+++ b/monitor.c
@@ -143,6 +143,14 @@  struct Monitor {
     QLIST_ENTRY(Monitor) entry;
 };
 
+#ifdef CONFIG_DEBUG_MONITOR
+#define MON_DEBUG(fmt, ...) do {    \
+    fprintf(stderr, "Monitor: ");       \
+    fprintf(stderr, fmt, ## __VA_ARGS__); } while (0)
+#else /* !CONFIG_DEBUG_MONITOR */
+#define MON_DEBUG(fmt, ...) do { } while (0)
+#endif /* CONFIG_DEBUG_MONITOR */
+
 static QLIST_HEAD(mon_list, Monitor) mon_list;
 
 static const mon_cmd_t mon_cmds[];