-#define SBUG() spl_debug_bug(__FILE__, __FUNCTION__, __LINE__);
-
-#define spl_debug_msg(cdls, subsys, mask, file, fn, line, format, a...) \
- spl_debug_vmsg(cdls, subsys, mask, file, fn, \
- line, NULL, NULL, format, ##a)
-
-#ifdef __ia64__
-#define CDEBUG_STACK() (THREAD_SIZE - \
- ((unsigned long)__builtin_dwarf_cfa() & \
- (THREAD_SIZE - 1)))
-#else
-#define CDEBUG_STACK() (THREAD_SIZE - \
- ((unsigned long)__builtin_frame_address(0) & \
- (THREAD_SIZE - 1)))
-# endif /* __ia64__ */
-
-#define __CHECK_STACK(file, func, line) \
-do { \
- unsigned long _stack = CDEBUG_STACK(); \
- \
- if (_stack > (3*THREAD_SIZE/4) && _stack > spl_debug_stack) { \
- spl_debug_stack = _stack; \
- spl_debug_msg(NULL, D_TRACE, D_WARNING, \
- file, func, line, \
- "Exceeded maximum safe stack " \
- "%lu/%lu\n", _stack, THREAD_SIZE); \
- __ASSERT(0); \
- } \
-} while (0)
-
-#define CHECK_STACK()__CHECK_STACK(__FILE__, __func__, __LINE__)
-
-#define __CDEBUG(cdls, subsys, mask, format, a...) \
-do { \
- CHECK_STACK(); \
- \
- if (((mask) & D_CANTMASK) != 0 || \
- ((spl_debug_mask & (mask)) != 0 && \
- (spl_debug_subsys & (subsys)) != 0)) \
- spl_debug_msg(cdls, subsys, mask, \
- __FILE__, __FUNCTION__, __LINE__, \
- format, ## a); \
-} while (0)
-
-#define CDEBUG(mask, format, a...) \
- __CDEBUG(NULL, DEBUG_SUBSYSTEM, mask, format, ## a)
-
-#define __CDEBUG_LIMIT(subsys, mask, format, a...) \
-do { \
- static spl_debug_limit_state_t cdls; \
- \
- __CDEBUG(&cdls, subsys, mask, format, ## a); \
-} while (0)
-
-#define CDEBUG_LIMIT(mask, format, a...) \
- __CDEBUG_LIMIT(DEBUG_SUBSYSTEM, mask, format, ## a)
-
-#define dprintf(fmt, a...) CDEBUG_LIMIT(D_INFO, fmt, ## a)
-#define CWARN(fmt, a...) CDEBUG_LIMIT(D_WARNING, fmt, ## a)
-#define CERROR(fmt, a...) CDEBUG_LIMIT(D_ERROR, fmt, ## a)
-#define CEMERG(fmt, a...) CDEBUG_LIMIT(D_EMERG, fmt, ## a)
-#define CONSOLE(mask, fmt, a...) CDEBUG(D_CONSOLE | (mask), fmt, ## a)
-
-#define GOTO(label, rc) \
-do { \
- long GOTO__ret = (long)(rc); \
- CDEBUG(D_TRACE,"Process leaving via %s (rc=%lu : %ld : %lx)\n", \
- #label, (unsigned long)GOTO__ret, (signed long)GOTO__ret,\
- (signed long)GOTO__ret); \
- goto label; \
-} while (0)
-
-#define RETURN(rc) \
-do { \
- typeof(rc) RETURN__ret = (rc); \
- CDEBUG(D_TRACE, "Process leaving (rc=%lu : %ld : %lx)\n", \
- (long)RETURN__ret, (long)RETURN__ret, (long)RETURN__ret);\
- return RETURN__ret; \
-} while (0)
-
-#define ENTRY \
-do { \
- CDEBUG(D_TRACE, "Process entered\n"); \
-} while (0)
-
-#define EXIT \
-do { \
- CDEBUG(D_TRACE, "Process leaving\n"); \
-} while(0)
-
-extern int spl_debug_vmsg(spl_debug_limit_state_t *cdls, int subsys, int mask,
- const char *file, const char *fn, const int line,
- const char *format1, va_list args, const char *format2, ...);
-
-extern unsigned long spl_debug_set_mask(unsigned long mask);
-extern unsigned long spl_debug_get_mask(void);
-extern unsigned long spl_debug_set_subsys(unsigned long mask);
-extern unsigned long spl_debug_get_subsys(void);
-extern int spl_debug_set_mb(int mb);
-extern int spl_debug_get_mb(void);
-
-extern int spl_debug_dumplog(void);
-extern void spl_debug_dumpstack(struct task_struct *tsk);
-extern void spl_debug_bug(char *file, const char *func, const int line);
-
-extern int spl_debug_clear_buffer(void);
-extern int spl_debug_mark_buffer(char *text);