diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-01 09:51:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-01 09:51:51 -0700 |
commit | 0242909a6135e10a28822c64f9ad50fdad52757c (patch) | |
tree | c5f9c8abe95a65433e6ac356871f2379c02488fe /arch/cris/include/arch-v32/arch/bug.h | |
parent | 0a6d2fac615972142715d736289abeeb7382e81d (diff) | |
parent | 556dcee7b829e5c350c3ffdbdb87a8b15aa3c5d3 (diff) |
Merge branch 'cris_move' of git://www.jni.nu/cris
* 'cris_move' of git://www.jni.nu/cris:
[CRIS] Move header files from include to arch/cris/include.
[CRISv32] Remove warning in io.h
Diffstat (limited to 'arch/cris/include/arch-v32/arch/bug.h')
-rw-r--r-- | arch/cris/include/arch-v32/arch/bug.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/cris/include/arch-v32/arch/bug.h b/arch/cris/include/arch-v32/arch/bug.h new file mode 100644 index 00000000000..0f211e13524 --- /dev/null +++ b/arch/cris/include/arch-v32/arch/bug.h @@ -0,0 +1,33 @@ +#ifndef __ASM_CRISv32_ARCH_BUG_H +#define __ASM_CRISv32_ARCH_BUG_H + +#include <linux/stringify.h> + +#ifdef CONFIG_BUG +#ifdef CONFIG_DEBUG_BUGVERBOSE +/* + * The penalty for the in-band code path will be the size of break 14. + * All other stuff is done out-of-band with exception handlers. + */ +#define BUG() \ + __asm__ __volatile__ ("0: break 14\n\t" \ + ".section .fixup,\"ax\"\n" \ + "1:\n\t" \ + "move.d %0, $r10\n\t" \ + "move.d %1, $r11\n\t" \ + "jump do_BUG\n\t" \ + "nop\n\t" \ + ".previous\n\t" \ + ".section __ex_table,\"a\"\n\t" \ + ".dword 0b, 1b\n\t" \ + ".previous\n\t" \ + : : "ri" (__FILE__), "i" (__LINE__)) +#else +#define BUG() __asm__ __volatile__ ("break 14\n\t") +#endif + +#define HAVE_ARCH_BUG +#endif + +#include <asm-generic/bug.h> +#endif |