From b4475aa2b354fa67865c3bf768409386c0dff15b Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Wed, 10 Feb 2010 23:50:03 -0200 Subject: [PATCH] Monitor: Debugging support Add configure options (--enable-debug-mon and --disable-debug-mon) plus the MON_DEBUG() macro. Signed-off-by: Luiz Capitulino Signed-off-by: Anthony Liguori --- configure | 10 ++++++++++ monitor.c | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/configure b/configure index 0a84b0ebcf..2c2e7ae048 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 6eb0e2cfa9..2a14e81614 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[];