Module: xenomai-3
Branch: next
Commit: 5697298f58c48ef891b6494cfd78d8bc0de92732
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5697298f58c48ef891b6494cfd78d8bc0de92732

Author: Philippe Gerum <r...@xenomai.org>
Date:   Tue Feb 17 15:07:15 2015 +0100

cobalt/kernel: rebase assertion mechanism on BUG/WARN support

---

 include/cobalt/kernel/assert.h      |   93 ++++++++++---------------------
 include/cobalt/kernel/bheap.h       |    2 +-
 include/cobalt/kernel/rtdm/driver.h |    2 +-
 include/cobalt/kernel/sched.h       |    2 +-
 kernel/cobalt/Makefile              |    1 -
 kernel/cobalt/arch/x86/smi.c        |    4 +-
 kernel/cobalt/assert.c              |  103 -----------------------------------
 kernel/cobalt/clock.c               |    2 +-
 kernel/cobalt/heap.c                |   12 ++--
 kernel/cobalt/init.c                |    9 +--
 kernel/cobalt/posix/event.c         |    2 +-
 kernel/cobalt/posix/monitor.c       |    2 +-
 kernel/cobalt/posix/mutex.c         |    4 +-
 kernel/cobalt/posix/process.c       |   62 ++++++++++-----------
 kernel/cobalt/posix/signal.c        |    6 +-
 kernel/cobalt/posix/syscall.c       |   10 ++--
 kernel/cobalt/posix/thread.c        |    4 +-
 kernel/cobalt/posix/timer.c         |    2 +-
 kernel/cobalt/rtdm/core.c           |    2 +-
 kernel/cobalt/rtdm/device.c         |    8 +--
 kernel/cobalt/rtdm/drvlib.c         |    2 +-
 kernel/cobalt/rtdm/fd.c             |    6 +-
 kernel/cobalt/sched-quota.c         |   12 ++--
 kernel/cobalt/sched-sporadic.c      |    8 +--
 kernel/cobalt/sched-tp.c            |    4 +-
 kernel/cobalt/sched.c               |   16 +++---
 kernel/cobalt/synch.c               |   18 +++---
 kernel/cobalt/thread.c              |   26 +++++----
 kernel/cobalt/vfile.c               |    8 +--
 kernel/drivers/autotune/autotune.c  |    2 +-
 kernel/drivers/ipc/bufp.c           |    4 +-
 31 files changed, 147 insertions(+), 291 deletions(-)

diff --git a/include/cobalt/kernel/assert.h b/include/cobalt/kernel/assert.h
index 2318410..82d01a5 100644
--- a/include/cobalt/kernel/assert.h
+++ b/include/cobalt/kernel/assert.h
@@ -19,75 +19,40 @@
 #ifndef _COBALT_KERNEL_ASSERT_H
 #define _COBALT_KERNEL_ASSERT_H
 
+#include <linux/kconfig.h>
 #include <cobalt/kernel/trace.h>
 #include <cobalt/kernel/ancillaries.h>
 
-#define XENO_INFO  KERN_INFO    "[Xenomai] "
-#define XENO_WARN  KERN_WARNING "[Xenomai] "
-#define XENO_ERR   KERN_ERR     "[Xenomai] "
-
-#define XENO_DEBUG(__subsys)   \
-       (CONFIG_XENO_OPT_DEBUG_##__subsys > 0)
-
-#define XENO_ASSERT(__subsys, __cond)                                          
\
-       ({                                                                      
\
-               int __ret = !XENO_DEBUG(__subsys) || (__cond);                  
\
-               if (unlikely(!__ret))                                           
\
-                       __xnsys_assert_failed(__FILE__, __LINE__, (#__cond));   
\
-               __ret;                                                          
\
-       })
-
-#define XENO_BUGON(__subsys, __cond)                                   \
-       do {                                                            \
-               if (unlikely(XENO_DEBUG(__subsys) && (__cond)))         \
-                       xnsys_fatal("bug at %s:%d (%s)",                \
-                                   __FILE__, __LINE__, (#__cond));     \
-       } while (0)
-
-#define XENO_BUG(__subsys)  XENO_BUGON(__subsys, 1)
-
-#define XENO_WARNON(__subsys, __cond)                                  \
-       do {                                                            \
-               if (unlikely(XENO_DEBUG(__subsys) && (__cond)))         \
-                       printk(XENO_WARN "assertion failed at %s:%d (%s)", \
-                                   __FILE__, __LINE__, (#__cond));     \
-       } while (0)
-
-#ifndef CONFIG_XENO_OPT_DEBUG_COBALT
-#define CONFIG_XENO_OPT_DEBUG_COBALT   0
-#endif
-
-#ifndef CONFIG_XENO_OPT_DEBUG_CONTEXT
-#define CONFIG_XENO_OPT_DEBUG_CONTEXT  0
-#endif
-
-#ifndef CONFIG_XENO_OPT_DEBUG_LOCKING
-#define CONFIG_XENO_OPT_DEBUG_LOCKING  0
-#endif
-
-#ifndef CONFIG_XENO_OPT_DEBUG_USER
-#define CONFIG_XENO_OPT_DEBUG_USER     0
-#endif
-
-#define primary_mode_only()    XENO_BUGON(CONTEXT, ipipe_root_p)
-#define secondary_mode_only()  XENO_BUGON(CONTEXT, !ipipe_root_p)
-#define interrupt_only()       XENO_BUGON(CONTEXT, !xnsched_interrupt_p())
-#define realtime_cpu_only()    XENO_BUGON(CONTEXT, 
!xnsched_supported_cpu(ipipe_processor_id()))
-#define thread_only()          XENO_BUGON(CONTEXT, xnsched_interrupt_p())
+#define XENO_INFO      KERN_INFO    "[Xenomai] "
+#define XENO_WARNING   KERN_WARNING "[Xenomai] "
+#define XENO_ERR       KERN_ERR     "[Xenomai] "
+
+#define XENO_DEBUG(__subsys)                           \
+       IS_ENABLED(CONFIG_XENO_OPT_DEBUG_##__subsys)
+#define XENO_ASSERT(__subsys, __cond)                  \
+       (!WARN_ON(XENO_DEBUG(__subsys) && !(__cond)))
+#define XENO_BUG(__subsys)                             \
+       BUG_ON(XENO_DEBUG(__subsys))
+#define XENO_BUG_ON(__subsys, __cond)                  \
+       BUG_ON(XENO_DEBUG(__subsys) && (__cond))
+#define XENO_WARN(__subsys, __cond, __fmt...)          \
+       WARN(XENO_DEBUG(__subsys) && (__cond), __fmt)
+#define XENO_WARN_ON(__subsys, __cond)                 \
+       WARN_ON(XENO_DEBUG(__subsys) && (__cond))
+#define XENO_WARN_ON_ONCE(__subsys, __cond)            \
+       WARN_ON_ONCE(XENO_DEBUG(__subsys) && (__cond))
+
+#define primary_mode_only()    XENO_BUG_ON(CONTEXT, ipipe_root_p)
+#define secondary_mode_only()  XENO_BUG_ON(CONTEXT, !ipipe_root_p)
+#define interrupt_only()       XENO_BUG_ON(CONTEXT, !xnsched_interrupt_p())
+#define realtime_cpu_only()    XENO_BUG_ON(CONTEXT, 
!xnsched_supported_cpu(ipipe_processor_id()))
+#define thread_only()          XENO_BUG_ON(CONTEXT, xnsched_interrupt_p())
 #if XENO_DEBUG(LOCKING)
-#define atomic_only()          XENO_BUGON(CONTEXT, (xnlock_is_owner(&nklock) 
&& hard_irqs_disabled()) == 0)
-#define preemptible_only()     XENO_BUGON(CONTEXT, xnlock_is_owner(&nklock) || 
hard_irqs_disabled())
+#define atomic_only()          XENO_BUG_ON(CONTEXT, (xnlock_is_owner(&nklock) 
&& hard_irqs_disabled()) == 0)
+#define preemptible_only()     XENO_BUG_ON(CONTEXT, xnlock_is_owner(&nklock) 
|| hard_irqs_disabled())
 #else
-#define atomic_only()          XENO_BUGON(CONTEXT, hard_irqs_disabled() == 0)
-#define preemptible_only()     XENO_BUGON(CONTEXT, hard_irqs_disabled() != 0)
+#define atomic_only()          XENO_BUG_ON(CONTEXT, hard_irqs_disabled() == 0)
+#define preemptible_only()     XENO_BUG_ON(CONTEXT, hard_irqs_disabled() != 0)
 #endif
 
-void __xnsys_assert_failed(const char *file, int line, const char *msg);
-
-void __xnsys_fatal(const char *format, ...);
-
-#define xnsys_fatal(__fmt, __args...) nkpanic(KERN_ERR __fmt, ##__args)
-
-extern void (*nkpanic)(const char *format, ...);
-
 #endif /* !_COBALT_KERNEL_ASSERT_H */
diff --git a/include/cobalt/kernel/bheap.h b/include/cobalt/kernel/bheap.h
index e04e694..4506c2a 100644
--- a/include/cobalt/kernel/bheap.h
+++ b/include/cobalt/kernel/bheap.h
@@ -63,7 +63,7 @@ static inline int bheap_ordered(bheap_t *heap)
 }
 
 #define BHEAP_CHECK(heap)                                              \
-       XENO_BUGON(COBALT, ((heap)->sz == 0) || !bheap_ordered(heap))
+       XENO_BUG_ON(COBALT, ((heap)->sz == 0) || !bheap_ordered(heap))
 
 #define bheap_gethead(heap)                            \
        ({                                              \
diff --git a/include/cobalt/kernel/rtdm/driver.h 
b/include/cobalt/kernel/rtdm/driver.h
index 6faa8bd..b2087f1 100644
--- a/include/cobalt/kernel/rtdm/driver.h
+++ b/include/cobalt/kernel/rtdm/driver.h
@@ -551,7 +551,7 @@ static inline void rtdm_lock_init(rtdm_lock_t *lock)
  */
 static inline void rtdm_lock_get(rtdm_lock_t *lock)
 {
-       XENO_BUGON(COBALT, !spltest());
+       XENO_BUG_ON(COBALT, !spltest());
        spin_lock(lock);
        __xnsched_lock();
 }
diff --git a/include/cobalt/kernel/sched.h b/include/cobalt/kernel/sched.h
index b7a4365..c9b86fb 100644
--- a/include/cobalt/kernel/sched.h
+++ b/include/cobalt/kernel/sched.h
@@ -394,7 +394,7 @@ int xnsched_maybe_resched_after_unlocked_switch(struct 
xnsched *sched)
 static inline struct xnsched *
 xnsched_finish_unlocked_switch(struct xnsched *sched)
 {
-       XENO_BUGON(COBALT, !hard_irqs_disabled());
+       XENO_BUG_ON(COBALT, !hard_irqs_disabled());
        return xnsched_current();
 }
 
diff --git a/kernel/cobalt/Makefile b/kernel/cobalt/Makefile
index eb2a509..a8c799b 100644
--- a/kernel/cobalt/Makefile
+++ b/kernel/cobalt/Makefile
@@ -2,7 +2,6 @@ obj-$(CONFIG_XENOMAI) += xenomai.o rtdm/ posix/
 
 xenomai-y :=   apc.o           \
                arith.o         \
-               assert.o        \
                bufd.o          \
                clock.o         \
                heap.o          \
diff --git a/kernel/cobalt/arch/x86/smi.c b/kernel/cobalt/arch/x86/smi.c
index f3e6b4d..cc38f17 100644
--- a/kernel/cobalt/arch/x86/smi.c
+++ b/kernel/cobalt/arch/x86/smi.c
@@ -75,7 +75,7 @@ void mach_x86_smi_disable(void)
        mask_bits(smi_masked_bits, smi_en_addr);
 
        if (inl(smi_en_addr) & smi_masked_bits)
-               printk(XENO_WARN "SMI workaround failed!\n");
+               printk(XENO_WARNING "SMI workaround failed!\n");
        else
                printk(XENO_INFO "SMI workaround enabled\n");
 
@@ -122,7 +122,7 @@ void mach_x86_smi_init(void)
        }
 
        if (smi_state == 0) {
-               printk(XENO_WARN "SMI-enabled chipset found, but SMI workaround 
disabled\n"
+               printk(XENO_WARNING "SMI-enabled chipset found, but SMI 
workaround disabled\n"
                       "          (see xenomai.smi parameter). You might 
encounter\n"
                       "          high latencies!\n");
                pci_dev_put(dev);
diff --git a/kernel/cobalt/assert.c b/kernel/cobalt/assert.c
deleted file mode 100644
index 09a94d2..0000000
--- a/kernel/cobalt/assert.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2013 Philippe Gerum <r...@xenomai.org>.
- *
- * Xenomai is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2 of the License,
- * or (at your option) any later version.
- *
- * Xenomai is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Xenomai; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#include <stdarg.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <cobalt/kernel/sched.h>
-#include <cobalt/kernel/assert.h>
-#include <cobalt/kernel/clock.h>
-
-void (*nkpanic)(const char *format, ...) = panic;
-EXPORT_SYMBOL_GPL(nkpanic);
-
-void __xnsys_fatal(const char *format, ...)
-{
-       struct xnthread *thread;
-       struct xnsched *sched;
-       static int oopsed;
-       unsigned int cpu;
-       char pbuf[16];
-       xnticks_t now;
-       va_list ap;
-       int cprio;
-       spl_t s;
-
-       xntrace_panic_freeze();
-       ipipe_prepare_panic();
-
-       xnlock_get_irqsave(&nklock, s);
-
-       if (oopsed)
-               goto out;
-
-       oopsed = 1;
-       va_start(ap, format);
-       vprintk(format, ap);
-       va_end(ap);
-
-       now = xnclock_read_monotonic(&nkclock);
-
-       printk(KERN_ERR "\n %-3s  %-6s %-8s %-8s %-8s  %s\n",
-              "CPU", "PID", "PRI", "TIMEOUT", "STAT", "NAME");
-
-       /*
-        * NOTE: &nkthreadq can't be empty, we have the root thread(s)
-        * linked there at least.
-        */
-       for_each_online_cpu(cpu) {
-               sched = xnsched_struct(cpu);
-               list_for_each_entry(thread, &nkthreadq, glink) {
-                       if (thread->sched != sched)
-                               continue;
-                       cprio = xnthread_current_priority(thread);
-                       ksformat(pbuf, sizeof(pbuf), "%3d", cprio);
-                       printk(KERN_ERR "%c%3u  %-6d %-8s %-8Lu %.8x  %s\n",
-                              thread == sched->curr ? '>' : ' ',
-                              cpu,
-                              xnthread_host_pid(thread),
-                              pbuf,
-                              xnthread_get_timeout(thread, now),
-                              xnthread_get_state(thread),
-                              thread->name);
-               }
-       }
-
-       printk(KERN_ERR "Master time base: clock=%Lu\n",
-              xnclock_read_raw(&nkclock));
-#ifdef CONFIG_SMP
-       printk(KERN_ERR "Current CPU: #%d\n", ipipe_processor_id());
-#endif
-out:
-       xnlock_put_irqrestore(&nklock, s);
-
-       show_stack(NULL,NULL);
-       xntrace_panic_dump();
-       for (;;)
-               cpu_relax();
-}
-EXPORT_SYMBOL_GPL(__xnsys_fatal);
-
-void __xnsys_assert_failed(const char *file, int line, const char *msg)
-{
-       xntrace_panic_freeze();
-       printk(XENO_ERR "assertion failed at %s:%d (%s)\n",
-              file, line, msg);
-       xntrace_panic_dump();
-}
-EXPORT_SYMBOL_GPL(__xnsys_assert_failed);
diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
index 24cb9a4..9338e67 100644
--- a/kernel/cobalt/clock.c
+++ b/kernel/cobalt/clock.c
@@ -648,7 +648,7 @@ void xnclock_deregister(struct xnclock *clock)
 
        for_each_online_cpu(cpu) {
                tmd = xnclock_percpu_timerdata(clock, cpu);
-               XENO_BUGON(COBALT, !xntimerq_empty(&tmd->q));
+               XENO_BUG_ON(COBALT, !xntimerq_empty(&tmd->q));
                xntimerq_destroy(&tmd->q);
        }
 
diff --git a/kernel/cobalt/heap.c b/kernel/cobalt/heap.c
index 6c9fdb0..70f1c8f 100644
--- a/kernel/cobalt/heap.c
+++ b/kernel/cobalt/heap.c
@@ -348,7 +348,7 @@ splitpage:
                 * size, building a free list of free blocks.
                 */
                for (block = headpage, eblock =
-                    headpage + XNHEAP_PAGESZ - bsize; block < eblock;
+                            headpage + XNHEAP_PAGESZ - bsize; block < eblock;
                     block += bsize)
                        *((caddr_t *)block) = block + bsize;
 
@@ -450,8 +450,8 @@ void *xnheap_alloc(struct xnheap *heap, u32 size)
                } else {
                        if (bsize <= XNHEAP_PAGESZ)
                                --heap->buckets[ilog].fcount;
-                       XENO_BUGON(COBALT, (caddr_t)block < heap->membase ||
-                                  (caddr_t)block >= heap->memlim);
+                       XENO_BUG_ON(COBALT, (caddr_t)block < heap->membase ||
+                                   (caddr_t)block >= heap->memlim);
                        pagenum = ((caddr_t)block - heap->membase) / 
XNHEAP_PAGESZ;
                        ++heap->pagemap[pagenum].bcount;
                }
@@ -522,7 +522,7 @@ void xnheap_free(struct xnheap *heap, void *block)
        free_page_list:
                /* Link all freed pages in a single sub-list. */
                for (freepage = (caddr_t) block,
-                    tailpage = (caddr_t) block + bsize - XNHEAP_PAGESZ;
+                            tailpage = (caddr_t) block + bsize - XNHEAP_PAGESZ;
                     freepage < tailpage; freepage += XNHEAP_PAGESZ)
                        *((caddr_t *) freepage) = freepage + XNHEAP_PAGESZ;
 
@@ -538,7 +538,7 @@ void xnheap_free(struct xnheap *heap, void *block)
                for (nextpage = heap->freelist, lastpage = NULL;
                     nextpage != NULL && nextpage < (caddr_t) block;
                     lastpage = nextpage, nextpage = *((caddr_t *)nextpage))
-                 ;     /* Loop */
+                       ;       /* Loop */
 
                *((caddr_t *)tailpage) = nextpage;
 
@@ -586,7 +586,7 @@ void xnheap_free(struct xnheap *heap, void *block)
                nextpage = freepage + XNHEAP_PAGESZ;
                nblocks = XNHEAP_PAGESZ >> log2size;
                heap->buckets[ilog].fcount -= (nblocks - 1);
-               XENO_BUGON(COBALT, heap->buckets[ilog].fcount < 0);
+               XENO_BUG_ON(COBALT, heap->buckets[ilog].fcount < 0);
 
                /*
                 * Still easy case: all free blocks are laid on a
diff --git a/kernel/cobalt/init.c b/kernel/cobalt/init.c
index d47ecec..bfa63a2 100644
--- a/kernel/cobalt/init.c
+++ b/kernel/cobalt/init.c
@@ -258,7 +258,7 @@ static struct {
 static int __init setup_init_state(char *s)
 {
        static char warn_bad_state[] __initdata =
-               XENO_WARN "invalid init state '%s'\n";
+               XENO_WARNING "invalid init state '%s'\n";
        int n;
 
        for (n = 0; n < ARRAY_SIZE(init_states); n++)
@@ -303,9 +303,6 @@ static __init int sys_init(void)
 
        xnregistry_init();
 
-       nkpanic = __xnsys_fatal;
-       smp_wmb();
-
        /*
         * If starting in stopped mode, do all initializations, but do
         * not enable the core timer.
@@ -327,7 +324,7 @@ static int __init xenomai_init(void)
        int ret, __maybe_unused cpu;
 
        if (!realtime_core_enabled()) {
-               printk(XENO_WARN "disabled on kernel command line\n");
+               printk(XENO_WARNING "disabled on kernel command line\n");
                return 0;
        }
 
@@ -338,7 +335,7 @@ static int __init xenomai_init(void)
                        cpu_set(cpu, xnsched_realtime_cpus);
        }
        if (cpumask_empty(&xnsched_realtime_cpus)) {
-               printk(XENO_WARN "disabled via empty real-time CPU mask\n");
+               printk(XENO_WARNING "disabled via empty real-time CPU mask\n");
                set_realtime_core_state(COBALT_STATE_DISABLED);
                return 0;
        }
diff --git a/kernel/cobalt/posix/event.c b/kernel/cobalt/posix/event.c
index 372e253..2366a4c 100644
--- a/kernel/cobalt/posix/event.c
+++ b/kernel/cobalt/posix/event.c
@@ -97,7 +97,7 @@ COBALT_SYSCALL(event_init, current,
        state->flags = 0;
        state->nwaiters = 0;
        stateoff = cobalt_umm_offset(umm, state);
-       XENO_BUGON(COBALT, stateoff != (__u32)stateoff);
+       XENO_BUG_ON(COBALT, stateoff != (__u32)stateoff);
        shadow.flags = flags;
        shadow.handle = event->handle;
        shadow.state_offset = (__u32)stateoff;
diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index 476050a..5df5604 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -101,7 +101,7 @@ COBALT_SYSCALL(monitor_init, current,
 
        state->flags = 0;
        stateoff = cobalt_umm_offset(umm, state);
-       XENO_BUGON(COBALT, stateoff != (__u32)stateoff);
+       XENO_BUG_ON(COBALT, stateoff != (__u32)stateoff);
        shadow.flags = flags;
        shadow.handle = mon->handle;
        shadow.state_offset = (__u32)stateoff;
diff --git a/kernel/cobalt/posix/mutex.c b/kernel/cobalt/posix/mutex.c
index 80af511..43620c5 100644
--- a/kernel/cobalt/posix/mutex.c
+++ b/kernel/cobalt/posix/mutex.c
@@ -74,7 +74,7 @@ cobalt_mutex_destroy_inner(xnhandle_t handle, struct 
cobalt_kqueues *q)
        mutex = xnregistry_lookup(handle, NULL);
        if (!cobalt_obj_active(mutex, COBALT_MUTEX_MAGIC, typeof(*mutex))) {
                xnlock_put_irqrestore(&nklock, s);
-               printk(XENO_WARN "mutex_destroy: invalid mutex %x\n",
+               printk(XENO_WARNING "mutex_destroy: invalid mutex %x\n",
                        mutex ? mutex->magic : ~0);
                return;
        }
@@ -204,7 +204,7 @@ redo:
        case PTHREAD_MUTEX_NORMAL:
                /* Attempting to relock a normal mutex, deadlock. */
 #if XENO_DEBUG(USER)
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "thread %s deadlocks on non-recursive mutex\n",
                       curr->name);
 #endif
diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c
index 07b011f..7fedf43 100644
--- a/kernel/cobalt/posix/process.c
+++ b/kernel/cobalt/posix/process.c
@@ -194,7 +194,7 @@ static void remove_process(struct cobalt_process *process)
                __clear_bit(personality->xid, &process->permap);
                personality->ops.detach_process(priv);
                atomic_dec(&personality->refcnt);
-               XENO_ASSERT(COBALT, atomic_read(&personality->refcnt) >= 0);
+               XENO_WARN_ON(COBALT, atomic_read(&personality->refcnt) < 0);
                if (personality->module)
                        module_put(personality->module);
        }
@@ -721,7 +721,7 @@ static inline int handle_exception(struct ipipe_trap_data 
*d)
 #if XENO_DEBUG(COBALT) || XENO_DEBUG(USER)
        if (!user_mode(d->regs)) {
                xntrace_panic_freeze();
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "switching %s to secondary mode after exception #%u in "
                       "kernel-space at 0x%lx (pid %d)\n", thread->name,
                       xnarch_fault_trap(d),
@@ -729,7 +729,7 @@ static inline int handle_exception(struct ipipe_trap_data 
*d)
                       xnthread_host_pid(thread));
                xntrace_panic_dump();
        } else if (xnarch_fault_notify(d)) /* Don't report debug traps */
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "switching %s to secondary mode after exception #%u from 
"
                       "user-space at 0x%lx (pid %d)\n", thread->name,
                       xnarch_fault_trap(d),
@@ -756,7 +756,7 @@ static int handle_mayday_event(struct pt_regs *regs)
        struct xnarchtcb *tcb = xnthread_archtcb(thread);
        struct cobalt_ppd *sys_ppd;
 
-       XENO_BUGON(COBALT, !xnthread_test_state(thread, XNUSER));
+       XENO_BUG_ON(COBALT, !xnthread_test_state(thread, XNUSER));
 
        /* We enter the mayday handler with hw IRQs off. */
        sys_ppd = cobalt_ppd_get(0);
@@ -825,7 +825,7 @@ static int handle_setaffinity_event(struct 
ipipe_cpu_migration_data *d)
         * mode then switches back to it, in SMP configurations.
         */
        if (cpus_empty(thread->affinity))
-               printk(XENO_WARN "thread %s[%d] changed CPU affinity 
inconsistently\n",
+               printk(XENO_WARNING "thread %s[%d] changed CPU affinity 
inconsistently\n",
                       thread->name, xnthread_host_pid(thread));
        else {
                xnlock_get_irqsave(&nklock, s);
@@ -863,7 +863,7 @@ static inline void check_affinity(struct task_struct *p) /* 
nklocked, IRQs off *
         * hopeless, whine and kill that thread asap.
         */
        if (!xnsched_supported_cpu(cpu)) {
-               printk(XENO_WARN "thread %s[%d] switched to non-rt CPU%d, 
aborted.\n",
+               printk(XENO_WARNING "thread %s[%d] switched to non-rt CPU%d, 
aborted.\n",
                       thread->name, xnthread_host_pid(thread), cpu);
                /*
                 * Can't call xnthread_cancel() from a migration
@@ -983,7 +983,7 @@ static inline void lock_timers(void)
 
 static inline void unlock_timers(void)
 {
-       XENO_BUGON(COBALT, atomic_read(&nkclklk) == 0);
+       XENO_BUG_ON(COBALT, atomic_read(&nkclklk) == 0);
        smp_mb__before_atomic();
        atomic_dec(&nkclklk);
        smp_mb__after_atomic();
@@ -1001,7 +1001,7 @@ static int handle_taskexit_event(struct task_struct *p) 
/* p == current */
        secondary_mode_only();
 
        thread = xnthread_current();
-       XENO_BUGON(COBALT, thread == NULL);
+       XENO_BUG_ON(COBALT, thread == NULL);
        trace_cobalt_shadow_unmap(thread);
 
        if (xnthread_test_state(thread, XNDEBUG))
@@ -1089,31 +1089,25 @@ static int handle_schedule_event(struct task_struct 
*next_task)
        }
 
 no_ptrace:
-       if (XENO_DEBUG(COBALT)) {
-               if (!xnthread_test_state(next, XNRELAX)) {
-                       xntrace_panic_freeze();
-                       show_stack(xnthread_host_task(next), NULL);
-                       xnsys_fatal
-                               ("hardened thread %s[%d] running in Linux 
domain?! "
-                                "(status=0x%x, sig=%d, prev=%s[%d])",
-                                next->name, next_task->pid, 
xnthread_get_state(next),
-                                signal_pending(next_task), prev_task->comm, 
prev_task->pid);
-               } else if (!(next_task->ptrace & PT_PTRACED) &&
-                          /*
-                           * Allow ptraced threads to run shortly in order to
-                           * properly recover from a stopped state.
-                           */
+       /*
+        * Do basic sanity checks on the incoming thread state.
+        * NOTE: we allow ptraced threads to run shortly in order to
+        * properly recover from a stopped state.
+        */
+       if (!XENO_WARN(COBALT, !xnthread_test_state(next, XNRELAX),
+                      "hardened thread %s[%d] running in Linux domain?! "
+                      "(status=0x%x, sig=%d, prev=%s[%d])",
+                      next->name, next_task->pid, xnthread_get_state(next),
+                      signal_pending(next_task), prev_task->comm, 
prev_task->pid))
+               XENO_WARN(COBALT,
+                         !(next_task->ptrace & PT_PTRACED) &&
                           !xnthread_test_state(next, XNDORMANT)
-                          && xnthread_test_state(next, XNPEND)) {
-                       xntrace_panic_freeze();
-                       show_stack(xnthread_host_task(next), NULL);
-                       xnsys_fatal
-                               ("blocked thread %s[%d] rescheduled?! "
-                                "(status=0x%x, sig=%d, prev=%s[%d])",
-                                next->name, next_task->pid, 
xnthread_get_state(next),
-                                signal_pending(next_task), prev_task->comm, 
prev_task->pid);
-               }
-       }
+                         && xnthread_test_state(next, XNPEND),
+                         "blocked thread %s[%d] rescheduled?! "
+                         "(status=0x%x, sig=%d, prev=%s[%d])",
+                         next->name, next_task->pid, xnthread_get_state(next),
+                         signal_pending(next_task), prev_task->comm,
+                         prev_task->pid);
 out:
        return KEVENT_PROPAGATE;
 }
@@ -1279,7 +1273,7 @@ static int attach_process(struct cobalt_process *process)
 
        p->mayday_tramp = map_mayday_page();
        if (p->mayday_tramp == 0) {
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "%s[%d] cannot map MAYDAY page\n",
                       current->comm, current->pid);
                ret = -ENOMEM;
@@ -1288,7 +1282,7 @@ static int attach_process(struct cobalt_process *process)
 
        exe_path = get_exe_path(current);
        if (IS_ERR(exe_path)) {
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "%s[%d] can't find exe path\n",
                       current->comm, current->pid);
                exe_path = NULL; /* Not lethal, but weird. */
diff --git a/kernel/cobalt/posix/signal.c b/kernel/cobalt/posix/signal.c
index 993849d..91986b2 100644
--- a/kernel/cobalt/posix/signal.c
+++ b/kernel/cobalt/posix/signal.c
@@ -47,7 +47,7 @@ static int cobalt_signal_deliver(struct cobalt_thread *thread,
        int sig, ret;
 
        sig = sigp->si.si_signo;
-       XENO_BUGON(COBALT, sig < 1 || sig > _NSIG);
+       XENO_BUG_ON(COBALT, sig < 1 || sig > _NSIG);
 
        /*
         * Attempt to deliver the signal immediately to the initial
@@ -152,7 +152,7 @@ struct cobalt_sigpending *cobalt_signal_alloc(void)
 
        if (list_empty(&sigpending_pool)) {
                if (printk_ratelimit())
-                       printk(XENO_WARN "signal bucket pool underflows\n");
+                       printk(XENO_WARNING "signal bucket pool underflows\n");
                return NULL;
        }
 
@@ -216,7 +216,7 @@ static int signal_wait(sigset_t *set, xnticks_t timeout,
        spl_t s;
 
        curr = cobalt_current_thread();
-       XENO_BUGON(COBALT, curr == NULL);
+       XENO_BUG_ON(COBALT, curr == NULL);
 
        if (u_si && !access_wok(u_si, sizeof(*u_si)))
                return -EFAULT;
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 34b9ddd..16d0101 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -253,7 +253,7 @@ static COBALT_SYSCALL(mayday, oneway, (void))
 
        cur = xnthread_current();
        if (cur == NULL) {
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "MAYDAY received from invalid context %s[%d]\n",
                       current->comm, current->pid);
                return -EPERM;
@@ -454,7 +454,7 @@ static int stop_services(const void __user *u_buf, size_t 
u_bufsz)
                /* Kill lingering RTDM tasks. */
                ret = xnthread_killall(final_grace_period, 0);
                if (ret == -EAGAIN)
-                       printk(XENO_WARN "some RTDM tasks won't stop");
+                       printk(XENO_WARNING "some RTDM tasks won't stop");
                xntimer_release_hardware();
                set_realtime_core_state(COBALT_STATE_STOPPED);
                printk(XENO_INFO "services stopped\n");
@@ -852,7 +852,7 @@ static int handle_head_syscall(struct ipipe_domain *ipd, 
struct pt_regs *regs)
         */
        if (unlikely(!allowed_syscall(process, thread, sysflags, nr))) {
                if (XENO_DEBUG(COBALT))
-                       printk(XENO_WARN
+                       printk(XENO_WARNING
                               "syscall <%d> denied to %s[%d]\n",
                               nr, current->comm, current->pid);
                __xn_error_return(regs, -EPERM);
@@ -986,7 +986,7 @@ linux_syscall:
        return KEVENT_PROPAGATE;
 
 bad_syscall:
-       printk(XENO_WARN "bad syscall <%#lx>\n", __xn_syscall(regs));
+       printk(XENO_WARNING "bad syscall <%#lx>\n", __xn_syscall(regs));
 
        __xn_error_return(regs, -ENOSYS);
 
@@ -1110,7 +1110,7 @@ int ipipe_fastcall_hook(struct pt_regs *regs)
        int ret;
 
        ret = handle_head_syscall(&xnsched_realtime_domain, regs);
-       XENO_BUGON(COBALT, ret == KEVENT_PROPAGATE);
+       XENO_BUG_ON(COBALT, ret == KEVENT_PROPAGATE);
 
        return ret;
 }
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index 6f3f0cf..a106292 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -129,7 +129,7 @@ static inline void thread_unhash(const struct 
cobalt_local_hkey *hkey)
                gslot = *gtail;
        }
        /* gslot must be found here. */
-       XENO_BUGON(COBALT, !(gslot && gtail));
+       XENO_BUG_ON(COBALT, !(gslot && gtail));
        *gtail = gslot->next;
 
        xnlock_put_irqrestore(&nklock, s);
@@ -204,7 +204,7 @@ void cobalt_thread_map(struct xnthread *curr)
 
        thread = container_of(curr, struct cobalt_thread, threadbase);
        thread->process = cobalt_current_process();
-       XENO_BUGON(COBALT, thread->process == NULL);
+       XENO_BUG_ON(COBALT, thread->process == NULL);
 }
 
 struct xnthread_personality *cobalt_thread_exit(struct xnthread *curr)
diff --git a/kernel/cobalt/posix/timer.c b/kernel/cobalt/posix/timer.c
index ac265cc..7ef61c3 100644
--- a/kernel/cobalt/posix/timer.c
+++ b/kernel/cobalt/posix/timer.c
@@ -381,7 +381,7 @@ int __cobalt_timer_settime(timer_t timerid, int flags,
        spl_t s;
 
        cc = cobalt_current_process();
-       XENO_BUGON(COBALT, cc == NULL);
+       XENO_BUG_ON(COBALT, cc == NULL);
 
        xnlock_get_irqsave(&nklock, s);
 
diff --git a/kernel/cobalt/rtdm/core.c b/kernel/cobalt/rtdm/core.c
index 77cc335..d00b0c4 100644
--- a/kernel/cobalt/rtdm/core.c
+++ b/kernel/cobalt/rtdm/core.c
@@ -106,7 +106,7 @@ open_devnode(struct rtdm_device *dev, const char *path, int 
oflag)
 
 #ifdef CONFIG_XENO_OPT_DEBUG_USER
        if (strncmp(path, "/dev/rtdm/", 10))
-               printk(XENO_WARN
+               printk(XENO_WARNING
                       "%s[%d] opens obsolete device path: %s\n",
                       current->comm, current->pid, path);
 #endif
diff --git a/kernel/cobalt/rtdm/device.c b/kernel/cobalt/rtdm/device.c
index 620748a..1c602c2 100644
--- a/kernel/cobalt/rtdm/device.c
+++ b/kernel/cobalt/rtdm/device.c
@@ -241,7 +241,7 @@ static int state_change_notifier(struct notifier_block *nb,
                        return NOTIFY_DONE;
                ret = drv->smops.start(drv);
                if (ret)
-                       printk(XENO_WARN
+                       printk(XENO_WARNING
                               "failed starting driver %s (%d)\n",
                               drv->profile_info.name, ret);
                break;
@@ -250,7 +250,7 @@ static int state_change_notifier(struct notifier_block *nb,
                        return NOTIFY_DONE;
                ret = drv->smops.stop(drv);
                if (ret)
-                       printk(XENO_WARN
+                       printk(XENO_WARNING
                               "failed stopping driver %s (%d)\n",
                               drv->profile_info.name, ret);
                break;
@@ -291,7 +291,7 @@ static int register_driver(struct rtdm_driver *drv)
        ret = alloc_chrdev_region(&rdev, 0, drv->device_count,
                                  drv->profile_info.name);
        if (ret) {
-               printk(XENO_WARN "cannot allocate chrdev region %s[0..%d]\n",
+               printk(XENO_WARNING "cannot allocate chrdev region %s[0..%d]\n",
                       drv->profile_info.name, drv->device_count - 1);
                return ret;
        }
@@ -319,7 +319,7 @@ fail_cdev:
 
 static void unregister_driver(struct rtdm_driver *drv)
 {
-       XENO_BUGON(COBALT, drv->profile_info.magic != RTDM_CLASS_MAGIC);
+       XENO_BUG_ON(COBALT, drv->profile_info.magic != RTDM_CLASS_MAGIC);
 
        if (!atomic_dec_and_test(&drv->refcount))
                return;
diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
index fcc0c58..329bf18 100644
--- a/kernel/cobalt/rtdm/drvlib.c
+++ b/kernel/cobalt/rtdm/drvlib.c
@@ -599,7 +599,7 @@ int device_service_routine(...)
  */
 void rtdm_toseq_init(rtdm_toseq_t *timeout_seq, nanosecs_rel_t timeout)
 {
-       XENO_ASSERT(COBALT, !xnsched_unblockable_p()); /* only warn here */
+       XENO_WARN_ON(COBALT, xnsched_unblockable_p()); /* only warn here */
 
        *timeout_seq = xnclock_read_monotonic(&nkclock) + timeout;
 }
diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
index 95d8120..7f35ea3 100644
--- a/kernel/cobalt/rtdm/fd.c
+++ b/kernel/cobalt/rtdm/fd.c
@@ -128,7 +128,7 @@ static inline void set_compat_bit(struct rtdm_fd *fd)
                fd->compat = 0;
        else {
                regs = task_pt_regs(current);
-               XENO_BUGON(COBALT, !__xn_syscall_p(regs));
+               XENO_BUG_ON(COBALT, !__xn_syscall_p(regs));
                fd->compat = __COBALT_CALL_COMPAT(__xn_reg_sys(regs));
        }
 }
@@ -352,7 +352,7 @@ void rtdm_fd_unlock(struct rtdm_fd *fd)
 
        xnlock_get_irqsave(&fdtree_lock, s);
        /* Warn if fd was unreferenced. */
-       XENO_ASSERT(COBALT, fd->refs > 0);
+       XENO_WARN_ON(COBALT, fd->refs <= 0);
        __put_fd(fd, s);
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_unlock);
@@ -733,7 +733,7 @@ void rtdm_fd_init(void)
 static inline void warn_user(const char *name)
 {
 #ifdef CONFIG_XENO_OPT_DEBUG_USER
-       printk(XENO_WARN "%s[%d] called regular %s() with RTDM file/socket\n",
+       printk(XENO_WARNING "%s[%d] called regular %s() with RTDM 
file/socket\n",
               current->comm, current->pid, name + 5);
 #endif
 }
diff --git a/kernel/cobalt/sched-quota.c b/kernel/cobalt/sched-quota.c
index 71e2c36..d0c9ac8 100644
--- a/kernel/cobalt/sched-quota.c
+++ b/kernel/cobalt/sched-quota.c
@@ -152,7 +152,7 @@ static void quota_refill_handler(struct xntimer *timer)
        struct xnsched *sched;
 
        qs = container_of(timer, struct xnsched_quota, refill_timer);
-       XENO_BUGON(COBALT, list_empty(&qs->groups));
+       XENO_BUG_ON(COBALT, list_empty(&qs->groups));
        sched = container_of(qs, struct xnsched, quota);
 
        list_for_each_entry(tg, &qs->groups, next) {
@@ -276,9 +276,9 @@ static void xnsched_quota_trackprio(struct xnthread *thread,
 {
        if (p) {
                /* We should not cross groups during PIP boost. */
-               XENO_WARNON(COBALT,
-                          thread->base_class == &xnsched_class_quota &&
-                          thread->quota->tgid != p->quota.tgid);
+               XENO_WARN_ON(COBALT,
+                            thread->base_class == &xnsched_class_quota &&
+                            thread->quota->tgid != p->quota.tgid);
                thread->cprio = p->quota.prio;
        } else
                thread->cprio = thread->bprio;
@@ -322,7 +322,7 @@ static int xnsched_quota_declare(struct xnthread *thread,
 static void xnsched_quota_forget(struct xnthread *thread)
 {
        thread->quota->nr_threads--;
-       XENO_BUGON(COBALT, thread->quota->nr_threads < 0);
+       XENO_BUG_ON(COBALT, thread->quota->nr_threads < 0);
        list_del(&thread->quota_next);
        thread->quota = NULL;
 }
@@ -454,7 +454,7 @@ pick:
                list_add_tail(&next->quota_expired, &tg->expired);
                goto pick;
        }
- out:
+out:
        tg->nr_active--;
 
        return next;
diff --git a/kernel/cobalt/sched-sporadic.c b/kernel/cobalt/sched-sporadic.c
index f1a602a..a101308 100644
--- a/kernel/cobalt/sched-sporadic.c
+++ b/kernel/cobalt/sched-sporadic.c
@@ -34,7 +34,7 @@ static inline void sporadic_note_late_drop(struct xnsched 
*sched)
         * hundred times in a row. This normally reveals a time budget
         * which is too tight.
         */
-       XENO_BUGON(COBALT, ++sched->pss.drop_retries > 100);
+       XENO_BUG_ON(COBALT, ++sched->pss.drop_retries > 100);
 }
 
 static inline void sporadic_note_valid_drop(struct xnsched *sched)
@@ -42,7 +42,7 @@ static inline void sporadic_note_valid_drop(struct xnsched 
*sched)
        sched->pss.drop_retries = 0;
 }
 
-#else /* !XENO_BUGON(COBALT) */
+#else /* !XENO_DEBUG(COBALT) */
 
 static inline void sporadic_note_late_drop(struct xnsched *sched)
 {
@@ -52,7 +52,7 @@ static inline void sporadic_note_valid_drop(struct xnsched 
*sched)
 {
 }
 
-#endif /* !XENO_BUGON(COBALT) */
+#endif /* !XENO_DEBUG(COBALT) */
 
 static inline xnticks_t sporadic_diff_time(xnticks_t start, xnticks_t end)
 {
@@ -125,7 +125,7 @@ static void sporadic_replenish_handler(struct xntimer 
*timer)
 
        pss = container_of(timer, struct xnsched_sporadic_data, repl_timer);
        thread = pss->thread;
-       XENO_BUGON(COBALT, pss->repl_pending <= 0);
+       XENO_BUG_ON(COBALT, pss->repl_pending <= 0);
 
 retry:
        now = xnclock_read_monotonic(&nkclock);
diff --git a/kernel/cobalt/sched-tp.c b/kernel/cobalt/sched-tp.c
index 774c3b7..b088cf4 100644
--- a/kernel/cobalt/sched-tp.c
+++ b/kernel/cobalt/sched-tp.c
@@ -147,7 +147,7 @@ static void xnsched_tp_trackprio(struct xnthread *thread,
         */
        if (p) {
                /* We should never cross partition boundaries. */
-               XENO_WARNON(COBALT,
+               XENO_WARN_ON(COBALT,
                           thread->base_class == &xnsched_class_tp &&
                           thread->tps - thread->sched->tp.partitions != 
p->tp.ptid);
                thread->cprio = p->tp.prio;
@@ -243,7 +243,7 @@ xnsched_tp_set_schedule(struct xnsched *sched,
        union xnsched_policy_param param;
        struct xnthread *thread, *tmp;
 
-       XENO_BUGON(COBALT, gps != NULL &&
+       XENO_BUG_ON(COBALT, gps != NULL &&
                   (gps->pwin_nr <= 0 || gps->pwins[0].w_offset != 0));
 
        xnsched_tp_stop_schedule(sched);
diff --git a/kernel/cobalt/sched.c b/kernel/cobalt/sched.c
index f828da4..a6469db 100644
--- a/kernel/cobalt/sched.c
+++ b/kernel/cobalt/sched.c
@@ -63,7 +63,7 @@ static void xnsched_register_class(struct xnsched_class 
*sched_class)
         * Classes shall be registered by increasing priority order,
         * idle first and up.
         */
-       XENO_BUGON(COBALT, sched_class->next &&
+       XENO_BUG_ON(COBALT, sched_class->next &&
                   sched_class->next->weight > sched_class->weight);
 
        printk(XENO_INFO "scheduling class %s registered.\n", 
sched_class->name);
@@ -120,11 +120,11 @@ static void watchdog_handler(struct xntimer *timer)
        trace_cobalt_watchdog_signal(curr);
 
        if (xnthread_test_state(curr, XNUSER)) {
-               printk(XENO_WARN "watchdog triggered on CPU #%d -- runaway 
thread "
+               printk(XENO_WARNING "watchdog triggered on CPU #%d -- runaway 
thread "
                       "'%s' signaled\n", xnsched_cpu(sched), curr->name);
                xnthread_call_mayday(curr, SIGDEBUG_WATCHDOG);
        } else {
-               printk(XENO_WARN "watchdog triggered on CPU #%d -- runaway 
thread "
+               printk(XENO_WARNING "watchdog triggered on CPU #%d -- runaway 
thread "
                       "'%s' canceled\n", xnsched_cpu(sched), curr->name);
                /*
                 * On behalf on an IRQ handler, xnthread_cancel()
@@ -515,7 +515,7 @@ void xnsched_initq(struct xnsched_mlq *q)
 
 static inline int get_qindex(struct xnsched_mlq *q, int prio)
 {
-       XENO_BUGON(COBALT, prio < 0 || prio >= XNSCHED_MLQ_LEVELS);
+       XENO_BUG_ON(COBALT, prio < 0 || prio >= XNSCHED_MLQ_LEVELS);
        /*
         * BIG FAT WARNING: We need to rescale the priority level to a
         * 0-based range. We use find_first_bit() to scan the bitmap
@@ -583,7 +583,7 @@ struct xnthread *xnsched_getq(struct xnsched_mlq *q)
 
        idx = xnsched_weightq(q);
        head = q->heads + idx;
-       XENO_BUGON(COBALT, list_empty(head));
+       XENO_BUG_ON(COBALT, list_empty(head));
        thread = list_first_entry(head, struct xnthread, rlink);
        del_q(q, &thread->rlink, idx);
 
@@ -624,7 +624,7 @@ struct xnthread *xnsched_rt_pick(struct xnsched *sched)
         */
        idx = xnsched_weightq(q);
        head = q->heads + idx;
-       XENO_BUGON(COBALT, list_empty(head));
+       XENO_BUG_ON(COBALT, list_empty(head));
 
        /*
         * The active class (i.e. ->sched_class) is the one currently
@@ -891,7 +891,7 @@ out:
 shadow_epilogue:
        __ipipe_complete_domain_migration();
 
-       XENO_BUGON(COBALT, xnthread_current() == NULL);
+       XENO_BUG_ON(COBALT, xnthread_current() == NULL);
 
        /*
         * Interrupts must be disabled here (has to be done on entry
@@ -900,7 +900,7 @@ shadow_epilogue:
         * handler that hit before we call xnsched_run in
         * xnthread_suspend() when relaxing a thread.
         */
-       XENO_BUGON(COBALT, !hard_irqs_disabled());
+       XENO_BUG_ON(COBALT, !hard_irqs_disabled());
 
        return 1;
 }
diff --git a/kernel/cobalt/synch.c b/kernel/cobalt/synch.c
index 410ed73..93176eb 100644
--- a/kernel/cobalt/synch.c
+++ b/kernel/cobalt/synch.c
@@ -140,7 +140,7 @@ int xnsynch_sleep_on(struct xnsynch *synch, xnticks_t 
timeout,
 
        primary_mode_only();
 
-       XENO_BUGON(COBALT, synch->status & XNSYNCH_OWNER);
+       XENO_BUG_ON(COBALT, synch->status & XNSYNCH_OWNER);
 
        thread = xnthread_current();
 
@@ -186,7 +186,7 @@ struct xnthread *xnsynch_wakeup_one_sleeper(struct xnsynch 
*synch)
        struct xnthread *thread;
        spl_t s;
 
-       XENO_BUGON(COBALT, synch->status & XNSYNCH_OWNER);
+       XENO_BUG_ON(COBALT, synch->status & XNSYNCH_OWNER);
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -213,7 +213,7 @@ int xnsynch_wakeup_many_sleepers(struct xnsynch *synch, int 
nr)
        int nwakeups = 0;
        spl_t s;
 
-       XENO_BUGON(COBALT, synch->status & XNSYNCH_OWNER);
+       XENO_BUG_ON(COBALT, synch->status & XNSYNCH_OWNER);
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -261,7 +261,7 @@ void xnsynch_wakeup_this_sleeper(struct xnsynch *synch, 
struct xnthread *sleeper
 {
        spl_t s;
 
-       XENO_BUGON(COBALT, synch->status & XNSYNCH_OWNER);
+       XENO_BUG_ON(COBALT, synch->status & XNSYNCH_OWNER);
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -333,7 +333,7 @@ int xnsynch_try_acquire(struct xnsynch *synch)
 
        primary_mode_only();
 
-       XENO_BUGON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
+       XENO_BUG_ON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
 
        curr = xnthread_current();
        lockp = xnsynch_fastlock(synch);
@@ -400,7 +400,7 @@ int xnsynch_acquire(struct xnsynch *synch, xnticks_t 
timeout,
 
        primary_mode_only();
 
-       XENO_BUGON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
+       XENO_BUG_ON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
 
        curr = xnthread_current();
        currh = curr->handle;
@@ -548,7 +548,7 @@ static void clear_boost(struct xnsynch *synch, struct 
xnthread *owner)
        } else {
                /* Find the highest priority needed to enforce the PIP. */
                hsynch = list_first_entry(&owner->claimq, struct xnsynch, link);
-               XENO_BUGON(COBALT, list_empty(&hsynch->pendq));
+               XENO_BUG_ON(COBALT, list_empty(&hsynch->pendq));
                target = list_first_entry(&hsynch->pendq, struct xnthread, 
plink);
                if (target->wprio > wprio)
                        wprio = target->wprio;
@@ -637,7 +637,7 @@ struct xnthread *xnsynch_release(struct xnsynch *synch,
        xnhandle_t threadh;
        atomic_t *lockp;
 
-       XENO_BUGON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
+       XENO_BUG_ON(COBALT, (synch->status & XNSYNCH_OWNER) == 0);
 
        trace_cobalt_synch_release(synch);
 
@@ -793,7 +793,7 @@ int xnsynch_flush(struct xnsynch *synch, int reason)
        trace_cobalt_synch_flush(synch);
 
        if (list_empty(&synch->pendq)) {
-               XENO_BUGON(COBALT, synch->status & XNSYNCH_CLAIMED);
+               XENO_BUG_ON(COBALT, synch->status & XNSYNCH_CLAIMED);
                ret = XNSYNCH_DONE;
        } else {
                ret = XNSYNCH_RESCHED;
diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index b883c4a..cd9e1c2 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -106,7 +106,7 @@ static int kthread_trampoline(void *arg)
 
        ret = xnthread_map(thread, ka->done);
        if (ret) {
-               printk(XENO_WARN "failed to create kernel shadow %s\n",
+               printk(XENO_WARNING "failed to create kernel shadow %s\n",
                       thread->name);
                return ret;
        }
@@ -440,7 +440,7 @@ static inline void cleanup_tcb(struct xnthread *thread) /* 
nklock held, irqs off
        xnvfile_touch_tag(&nkthreadlist_tag);
 
        if (xnthread_test_state(thread, XNREADY)) {
-               XENO_BUGON(COBALT, xnthread_test_state(thread, 
XNTHREAD_BLOCK_BITS));
+               XENO_BUG_ON(COBALT, xnthread_test_state(thread, 
XNTHREAD_BLOCK_BITS));
                xnsched_dequeue(thread);
                xnthread_clear_state(thread, XNREADY);
        }
@@ -839,9 +839,9 @@ void xnthread_suspend(struct xnthread *thread, int mask,
        spl_t s;
 
        /* No, you certainly do not want to suspend the root thread. */
-       XENO_BUGON(COBALT, xnthread_test_state(thread, XNROOT));
+       XENO_BUG_ON(COBALT, xnthread_test_state(thread, XNROOT));
        /* No built-in support for conjunctive wait. */
-       XENO_BUGON(COBALT, wchan && thread->wchan);
+       XENO_BUG_ON(COBALT, wchan && thread->wchan);
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -1470,7 +1470,7 @@ void xnthread_cancel(struct xnthread *thread)
        spl_t s;
 
        /* Right, so you want to kill the kernel?! */
-       XENO_BUGON(COBALT, xnthread_test_state(thread, XNROOT));
+       XENO_BUG_ON(COBALT, xnthread_test_state(thread, XNROOT));
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -1557,7 +1557,7 @@ int xnthread_join(struct xnthread *thread, bool 
uninterruptible)
        spl_t s;
        int ret;
 
-       XENO_BUGON(COBALT, xnthread_test_state(thread, XNROOT));
+       XENO_BUG_ON(COBALT, xnthread_test_state(thread, XNROOT));
 
        xnlock_get_irqsave(&nklock, s);
 
@@ -2010,9 +2010,13 @@ void xnthread_relax(int notify, int reason)
        xnthread_suspend(thread, XNRELAX, XN_INFINITE, XN_RELATIVE, NULL);
        splnone();
 
-       if (XENO_DEBUG(COBALT) && !ipipe_root_p)
-               xnsys_fatal("xnthread_relax() failed for thread %s[%d]",
-                           thread->name, xnthread_host_pid(thread));
+       /*
+        * Basic sanity check after an expected transition to secondary
+        * mode.
+        */
+       XENO_WARN(COBALT, !ipipe_root_p,
+                 "xnthread_relax() failed for thread %s[%d]",
+                 thread->name, xnthread_host_pid(thread));
 
        __ipipe_reenter_root();
 
@@ -2060,7 +2064,7 @@ static inline void do_kthread_signal(struct task_struct 
*p,
                                     struct xnthread *thread,
                                     struct lostage_signal *rq)
 {
-       printk(XENO_WARN
+       printk(XENO_WARNING
               "kernel shadow %s received unhandled signal %d (action=0x%x)\n",
               thread->name, rq->signo, rq->sigval);
 }
@@ -2450,7 +2454,7 @@ void xnthread_call_mayday(struct xnthread *thread, int 
reason)
        struct task_struct *p = xnthread_host_task(thread);
 
        /* Mayday traps are available to userland threads only. */
-       XENO_BUGON(COBALT, !xnthread_test_state(thread, XNUSER));
+       XENO_BUG_ON(COBALT, !xnthread_test_state(thread, XNUSER));
        xnthread_set_info(thread, XNKICKED);
        xnthread_signal(thread, SIGDEBUG, reason);
        ipipe_raise_mayday(p);
diff --git a/kernel/cobalt/vfile.c b/kernel/cobalt/vfile.c
index 427e167..dc311f9 100644
--- a/kernel/cobalt/vfile.c
+++ b/kernel/cobalt/vfile.c
@@ -223,7 +223,7 @@ redo:
         * errors in all other cases.
         */
        if (ops->begin) {
-               XENO_BUGON(COBALT, ops->end == NULL);
+               XENO_BUG_ON(COBALT, ops->end == NULL);
                data = ops->begin(it);
                if (data == NULL) {
                        kfree(it);
@@ -300,7 +300,7 @@ static int vfile_snapshot_release(struct inode *inode, 
struct file *file)
                it = seq->private;
                if (it) {
                        --xnvfile_nref(it->vfile);
-                       XENO_BUGON(COBALT, it->vfile->entry.refcnt < 0);
+                       XENO_BUG_ON(COBALT, it->vfile->entry.refcnt < 0);
                        if (it->databuf)
                                it->endfn(it, it->databuf);
                        kfree(it);
@@ -400,7 +400,7 @@ int xnvfile_init_snapshot(const char *name,
        struct proc_dir_entry *ppde, *pde;
        int mode;
 
-       XENO_BUGON(COBALT, vfile->tag == NULL);
+       XENO_BUG_ON(COBALT, vfile->tag == NULL);
 
        if (vfile->entry.lockops == NULL)
                /* Defaults to nucleus lock */
@@ -554,7 +554,7 @@ static int vfile_regular_release(struct inode *inode, 
struct file *file)
                it = seq->private;
                if (it) {
                        --xnvfile_nref(it->vfile);
-                       XENO_BUGON(COBALT, xnvfile_nref(it->vfile) < 0);
+                       XENO_BUG_ON(COBALT, xnvfile_nref(it->vfile) < 0);
                        kfree(it);
                }
 
diff --git a/kernel/drivers/autotune/autotune.c 
b/kernel/drivers/autotune/autotune.c
index fbacb0e..6afec5c 100644
--- a/kernel/drivers/autotune/autotune.c
+++ b/kernel/drivers/autotune/autotune.c
@@ -568,7 +568,7 @@ static int tune_gravity(struct gravity_tuner *tuner, int 
period)
 
                if (state->min_lat < 0) {
                        if (tuner->get_gravity(tuner) == 0) {
-                               printk(XENO_WARN
+                               printk(XENO_WARNING
                                       "autotune(%s) failed with early shot 
(%Ld ns)\n",
                                       tuner->name,
                                       xnclock_ticks_to_ns(&nkclock, 
state->min_lat));
diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c
index 5ae166a..fcfd694 100644
--- a/kernel/drivers/ipc/bufp.c
+++ b/kernel/drivers/ipc/bufp.c
@@ -243,7 +243,7 @@ redo:
                        goto out;
 
                wc = rtipc_get_wait_context(waiter);
-               XENO_BUGON(COBALT, wc == NULL);
+               XENO_BUG_ON(COBALT, wc == NULL);
                bufwc = container_of(wc, struct bufp_wait_context, wc);
                if (bufwc->len + sk->fillsz <= sk->bufsz)
                        /* This call rescheds internally. */
@@ -493,7 +493,7 @@ redo:
                        goto out;
 
                wc = rtipc_get_wait_context(waiter);
-               XENO_BUGON(COBALT, wc == NULL);
+               XENO_BUG_ON(COBALT, wc == NULL);
                bufwc = container_of(wc, struct bufp_wait_context, wc);
                if (bufwc->len <= rsk->fillsz)
                        rtdm_event_pulse(&rsk->i_event);


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to