Add linux-next specific files for 20110831
[linux-2.6/next.git] / arch / mips / include / asm / bug.h
blob540c98a810d1bce2639e65f09610651ee3fb8aff
1 #ifndef __ASM_BUG_H
2 #define __ASM_BUG_H
4 #include <linux/compiler.h>
5 #include <asm/sgidefs.h>
7 #ifdef CONFIG_BUG
9 #include <asm/break.h>
11 static inline void __noreturn BUG(void)
13 __asm__ __volatile__("break %0" : : "i" (BRK_BUG));
14 unreachable();
17 #define HAVE_ARCH_BUG
19 #if (_MIPS_ISA > _MIPS_ISA_MIPS1)
21 static inline void __BUG_ON(unsigned long condition)
23 if (__builtin_constant_p(condition)) {
24 if (condition)
25 BUG();
26 else
27 return;
29 __asm__ __volatile__("tne $0, %0, %1"
30 : : "r" (condition), "i" (BRK_BUG));
33 #define BUG_ON(C) __BUG_ON((unsigned long)(C))
35 #define HAVE_ARCH_BUG_ON
37 #endif /* _MIPS_ISA > _MIPS_ISA_MIPS1 */
39 #endif
41 #include <asm-generic/bug.h>
43 #endif /* __ASM_BUG_H */