home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-xtensa / bug.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.0 KB  |  42 lines

  1. /*
  2.  * include/asm-xtensa/bug.h
  3.  *
  4.  * Macros to cause a 'bug' message.
  5.  *
  6.  * This file is subject to the terms and conditions of the GNU General Public
  7.  * License.  See the file "COPYING" in the main directory of this archive
  8.  * for more details.
  9.  *
  10.  * Copyright (C) 2001 - 2005 Tensilica Inc.
  11.  */
  12.  
  13. #ifndef _XTENSA_BUG_H
  14. #define _XTENSA_BUG_H
  15.  
  16. #include <linux/stringify.h>
  17.  
  18. #define ILL    __asm__ __volatile__ (".byte 0,0,0\n")
  19.  
  20. #ifdef CONFIG_KALLSYMS
  21. # define BUG() do {                            \
  22.     printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__);        \
  23.     ILL;                                \
  24. } while (0)
  25. #else
  26. # define BUG() do {                            \
  27.     printk("kernel BUG!\n");                    \
  28.           ILL;                                \
  29. } while (0)
  30. #endif
  31.  
  32. #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
  33. #define PAGE_BUG(page) do {  BUG(); } while (0)
  34. #define WARN_ON(condition) do {                           \
  35.   if (unlikely((condition)!=0)) {                       \
  36.     printk ("Warning in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
  37.       dump_stack();                               \
  38.   }                                       \
  39. } while (0)
  40.  
  41. #endif    /* _XTENSA_BUG_H */
  42.