| #ifndef _I386_BUG_H |
| #define _I386_BUG_H |
| |
| #include <linux/config.h> |
| |
| /* |
| * Tell the user there is some problem. |
| * The offending file and line are encoded after the "officially |
| * undefined" opcode for parsing in the trap handler. |
| */ |
| |
| #if 1 /* Set to zero for a slightly smaller kernel */ |
| #define BUG() \ |
| __asm__ __volatile__( "ud2\n" \ |
| "\t.word %c0\n" \ |
| "\t.long %c1\n" \ |
| : : "i" (__LINE__), "i" (__FILE__)) |
| #else |
| #define BUG() __asm__ __volatile__("ud2\n") |
| #endif |
| |
| #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0) |
| |
| #define PAGE_BUG(page) do { \ |
| BUG(); \ |
| } while (0) |
| |
| #define WARN_ON(condition) do { \ |
| if (unlikely((condition)!=0)) { \ |
| printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ |
| dump_stack(); \ |
| } \ |
| } while (0) |
| |
| #endif |