Changes in kernel/generic/include/debug.h [da52547:b83ba81] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/debug.h
rda52547 rb83ba81 37 37 38 38 #include <panic.h> 39 #include < symtab.h>39 #include <arch/debug.h> 40 40 41 #define CALLER 41 #define CALLER ((uintptr_t) __builtin_return_address(0)) 42 42 43 #ifdef CONFIG_DEBUG 43 #ifndef HERE 44 /** Current Instruction Pointer address */ 45 # define HERE ((uintptr_t *) 0) 46 #endif 44 47 45 48 /** Debugging ASSERT macro … … 52 55 * 53 56 */ 54 #define ASSERT(expr) \ 55 do { \ 56 if (!(expr)) \ 57 panic_assert("%s", #expr); \ 58 } while (0) 59 60 /** Debugging verbose ASSERT macro 61 * 62 * If CONFIG_DEBUG is set, the ASSERT() macro 63 * evaluates expr and if it is false raises 64 * kernel panic. The panic message contains also 65 * the supplied message. 66 * 67 * @param expr Expression which is expected to be true. 68 * @param msg Additional message to show (string). 69 * 70 */ 71 #define ASSERT_VERBOSE(expr, msg) \ 72 do { \ 73 if (!(expr)) \ 74 panic_assert("%s, %s", #expr, msg); \ 75 } while (0) 76 77 #else /* CONFIG_DEBUG */ 78 79 #define ASSERT(expr) 80 #define ASSERT_VERBOSE(expr, msg) 81 82 #endif /* CONFIG_DEBUG */ 83 84 #ifdef CONFIG_LOG 57 #ifdef CONFIG_DEBUG 58 # define ASSERT(expr) \ 59 if (!(expr)) { \ 60 panic("Assertion failed (%s), caller=%p.", #expr, CALLER); \ 61 } 62 #else 63 # define ASSERT(expr) 64 #endif 85 65 86 66 /** Extensive logging output macro … … 91 71 * 92 72 */ 93 #define LOG(format, ...) \94 do { \95 printf("%s() from %s at %s:%u: " format "\n", __func__, \96 symtab_fmt_name_lookup(CALLER), __FILE__, __LINE__, \97 ##__VA_ARGS__); \98 } while (0)99 73 100 #else /* CONFIG_LOG */ 74 #ifdef CONFIG_LOG 75 # define LOG(format, ...) \ 76 printf("%s() at %s:%u: " format "\n", __func__, __FILE__, \ 77 __LINE__, ##__VA_ARGS__); 78 #else 79 # define LOG(format, ...) 80 #endif 101 81 102 #define LOG(format, ...) 82 /** Extensive logging execute macro 83 * 84 * If CONFIG_LOG is set, the LOG_EXEC() macro 85 * will print an information about calling a given 86 * function and call it. 87 * 88 */ 103 89 104 #endif /* CONFIG_LOG */ 90 #ifdef CONFIG_LOG 91 # define LOG_EXEC(fnc) \ 92 { \ 93 printf("%s() at %s:%u: " #fnc "\n", __func__, __FILE__, \ 94 __LINE__); \ 95 fnc; \ 96 } 97 #else 98 # define LOG_EXEC(fnc) fnc 99 #endif 105 100 106 #ifdef CONFIG_TRACE107 108 extern void __cyg_profile_func_enter(void *, void *);109 extern void __cyg_profile_func_exit(void *, void *);110 111 #endif /* CONFIG_TRACE */112 101 113 102 #endif
Note:
See TracChangeset
for help on using the changeset viewer.