diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-10-16 01:38:50 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-11-30 01:14:50 +0000 |
commit | 63dc68a8cf60cb110b147dab1704d990808b39e2 (patch) | |
tree | 48dbc7a170eff5e16c3a1f6bf4fe53ab168c4e83 /include/asm-mips/bug.h | |
parent | 005985609ff72df3257fde6b29aa9d71342c2a6b (diff) | |
download | blackbird-op-linux-63dc68a8cf60cb110b147dab1704d990808b39e2.tar.gz blackbird-op-linux-63dc68a8cf60cb110b147dab1704d990808b39e2.zip |
[MIPS] Use conditional traps for BUG_ON on MIPS II and better.
This shaves of around 4kB and a few cycles for the average kernel that
has CONFIG_BUG enabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/bug.h')
-rw-r--r-- | include/asm-mips/bug.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-mips/bug.h b/include/asm-mips/bug.h index 7b4739dc8f3f..4d560a533940 100644 --- a/include/asm-mips/bug.h +++ b/include/asm-mips/bug.h @@ -1,6 +1,7 @@ #ifndef __ASM_BUG_H #define __ASM_BUG_H +#include <asm/sgidefs.h> #ifdef CONFIG_BUG @@ -13,6 +14,17 @@ do { \ #define HAVE_ARCH_BUG +#if (_MIPS_ISA > _MIPS_ISA_MIPS1) + +#define BUG_ON(condition) \ +do { \ + __asm__ __volatile__("tne $0, %0" : : "r" (condition)); \ +} while (0) + +#define HAVE_ARCH_BUG_ON + +#endif /* _MIPS_ISA > _MIPS_ISA_MIPS1 */ + #endif #include <asm-generic/bug.h> |