diff options
author | davidcunado-arm <david.cunado@arm.com> | 2017-09-18 12:17:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-18 12:17:33 +0100 |
commit | b4f4a2f06ce4da2b7856abb71ad38e726aa7ec68 (patch) | |
tree | f1e70250154010f18994c4d1ea68ce0c133bd722 /include/common/debug.h | |
parent | 756f9bb86ea71b5816da53e4a40ee6e3fe9e5625 (diff) | |
parent | 7f56e9a31c91099cd0147883a0282ec89ae0b346 (diff) |
Merge pull request #1093 from soby-mathew/eb/log_fw
Implement log framework
Diffstat (limited to 'include/common/debug.h')
-rw-r--r-- | include/common/debug.h | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/include/common/debug.h b/include/common/debug.h index 814cf840..3f0f84a1 100644 --- a/include/common/debug.h +++ b/include/common/debug.h @@ -24,47 +24,62 @@ #define LOG_LEVEL_VERBOSE 50 #ifndef __ASSEMBLY__ +#include <stdarg.h> #include <stdio.h> +/* + * Define Log Markers corresponding to each log level which will + * be embedded in the format string and is expected by tf_log() to determine + * the log level. + */ +#define LOG_MARKER_ERROR "\xa" /* 10 */ +#define LOG_MARKER_NOTICE "\x14" /* 20 */ +#define LOG_MARKER_WARNING "\x1e" /* 30 */ +#define LOG_MARKER_INFO "\x28" /* 40 */ +#define LOG_MARKER_VERBOSE "\x32" /* 50 */ + #if LOG_LEVEL >= LOG_LEVEL_NOTICE -# define NOTICE(...) tf_printf("NOTICE: " __VA_ARGS__) +# define NOTICE(...) tf_log(LOG_MARKER_NOTICE __VA_ARGS__) #else # define NOTICE(...) #endif #if LOG_LEVEL >= LOG_LEVEL_ERROR -# define ERROR(...) tf_printf("ERROR: " __VA_ARGS__) +# define ERROR(...) tf_log(LOG_MARKER_ERROR __VA_ARGS__) #else # define ERROR(...) #endif #if LOG_LEVEL >= LOG_LEVEL_WARNING -# define WARN(...) tf_printf("WARNING: " __VA_ARGS__) +# define WARN(...) tf_log(LOG_MARKER_WARNING __VA_ARGS__) #else # define WARN(...) #endif #if LOG_LEVEL >= LOG_LEVEL_INFO -# define INFO(...) tf_printf("INFO: " __VA_ARGS__) +# define INFO(...) tf_log(LOG_MARKER_INFO __VA_ARGS__) #else # define INFO(...) #endif #if LOG_LEVEL >= LOG_LEVEL_VERBOSE -# define VERBOSE(...) tf_printf("VERBOSE: " __VA_ARGS__) +# define VERBOSE(...) tf_log(LOG_MARKER_VERBOSE __VA_ARGS__) #else # define VERBOSE(...) #endif - void __dead2 do_panic(void); #define panic() do_panic() /* Function called when stack protection check code detects a corrupted stack */ void __dead2 __stack_chk_fail(void); +void tf_log(const char *fmt, ...) __printflike(1, 2); void tf_printf(const char *fmt, ...) __printflike(1, 2); int tf_snprintf(char *s, size_t n, const char *fmt, ...) __printflike(3, 4); +void tf_vprintf(const char *fmt, va_list args); +void tf_string_print(const char *str); +void tf_log_set_max_level(unsigned int log_level); #endif /* __ASSEMBLY__ */ #endif /* __DEBUG_H__ */ |