- 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
This commit is contained in:
@@ -43,12 +43,13 @@ void log_setCallback(logCallback c, void *p)
|
||||
privData = p;
|
||||
}
|
||||
|
||||
static char *log_strings[4] =
|
||||
static char *log_strings[5] =
|
||||
{
|
||||
"User: ",
|
||||
"Error: ",
|
||||
"Warning:",
|
||||
"Info: ",
|
||||
"Debug: ",
|
||||
"Debug: "
|
||||
};
|
||||
|
||||
void log_printf(enum log_levels level, const char *file, int line, const char *function, const char *format, ...)
|
||||
@@ -68,7 +69,7 @@ void log_printf(enum log_levels level, const char *file, int line, const char *f
|
||||
if (f != NULL)
|
||||
file = f + 1;
|
||||
|
||||
fprintf(log_output, "%s %d %ld %s:%d %s(): %s\n", log_strings[level], count, time(NULL), file, line, function, buffer);
|
||||
fprintf(log_output, "%s %d %ld %s:%d %s(): %s\n", log_strings[level+1], count, time(NULL), file, line, function, buffer);
|
||||
fflush(log_output);
|
||||
|
||||
va_end(args);
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user