aboutsummaryrefslogtreecommitdiff
path: root/src/helper/log.h
diff options
context:
space:
mode:
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-18 14:32:43 +0000
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-18 14:32:43 +0000
commita92d27afb0733f6280088bd79b048cbd87a2a0c4 (patch)
treedde6a6285965d2d4f68de044c04d64c121496542 /src/helper/log.h
parentcf9646bda691ce39bd113383dc24c878de8d9c39 (diff)
downloadriscv-openocd-a92d27afb0733f6280088bd79b048cbd87a2a0c4.zip
riscv-openocd-a92d27afb0733f6280088bd79b048cbd87a2a0c4.tar.gz
riscv-openocd-a92d27afb0733f6280088bd79b048cbd87a2a0c4.tar.bz2
- Added a "User:" debug level. These are messages that are intended for the user and are part of normal operation.
- Faster DEBUG/INFO() when they are disabled - target_read/write_buffer() now uses 16 and 32 bit access for single word aligned requests. Other requests are serviced as quickly as possible. - *much* faster read/write GDB packets, removing timeout problems. - GDB read/write packets w/single word aligned 32/16 bit access now use 32/16 bit word access. - working area can now be changed on the fly. Provides a way to move working area about as MMU is enabled/disabled. - cleaned up error messages for verify_image. Thanks Øyvind Harboe git-svn-id: svn://svn.berlios.de/openocd/trunk@302 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/helper/log.h')
-rw-r--r--src/helper/log.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/helper/log.h b/src/helper/log.h
index 09bc3a1..ab32760 100644
--- a/src/helper/log.h
+++ b/src/helper/log.h
@@ -26,6 +26,9 @@
#include <stdarg.h>
/* logging priorities
+ * LOG_USER - user messages. Could be anything from information
+ * to progress messags. These messages do not represent
+ * incorrect or unexpected behaviour, just normal execution.
* LOG_ERROR - fatal errors, that are likely to cause program abort
* LOG_WARNING - non-fatal errors, that may be resolved later
* LOG_INFO - state information, etc.
@@ -33,6 +36,7 @@
*/
enum log_levels
{
+ LOG_USER = -1,
LOG_ERROR = 0,
LOG_WARNING = 1,
LOG_INFO = 2,
@@ -53,13 +57,16 @@ extern void log_setCallback(logCallback callback, void *priv);
extern int debug_level;
+/* Avoid fn call and building parameter list if we're not outputting the information.
+ * Matters on feeble CPUs for DEBUG/INFO statements that are involved frequently */
+
#define DEBUG(expr ...) \
- do { \
+ do { if (debug_level >= LOG_DEBUG) \
log_printf (LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
#define INFO(expr ...) \
- do { \
+ do { if (debug_level >= LOG_INFO) \
log_printf (LOG_INFO, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
@@ -73,6 +80,12 @@ extern int debug_level;
log_printf (LOG_ERROR, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
+#define USER(expr ...) \
+ do { \
+ log_printf (LOG_USER, __FILE__, __LINE__, __FUNCTION__, expr); \
+ } while(0)
+
+
/* general failures
* error codes < 100
*/