Linux 2.6.25.20
[linux/fpc-iii.git] / include / asm-cris / arch-v32 / bug.h
blob0f211e13524841591926e43ae844666d44acf6b6
1 #ifndef __ASM_CRISv32_ARCH_BUG_H
2 #define __ASM_CRISv32_ARCH_BUG_H
4 #include <linux/stringify.h>
6 #ifdef CONFIG_BUG
7 #ifdef CONFIG_DEBUG_BUGVERBOSE
8 /*
9 * The penalty for the in-band code path will be the size of break 14.
10 * All other stuff is done out-of-band with exception handlers.
12 #define BUG() \
13 __asm__ __volatile__ ("0: break 14\n\t" \
14 ".section .fixup,\"ax\"\n" \
15 "1:\n\t" \
16 "move.d %0, $r10\n\t" \
17 "move.d %1, $r11\n\t" \
18 "jump do_BUG\n\t" \
19 "nop\n\t" \
20 ".previous\n\t" \
21 ".section __ex_table,\"a\"\n\t" \
22 ".dword 0b, 1b\n\t" \
23 ".previous\n\t" \
24 : : "ri" (__FILE__), "i" (__LINE__))
25 #else
26 #define BUG() __asm__ __volatile__ ("break 14\n\t")
27 #endif
29 #define HAVE_ARCH_BUG
30 #endif
32 #include <asm-generic/bug.h>
33 #endif