diff options
author | Jesper Nilsson <jesper.nilsson@axis.com> | 2008-01-17 04:42:58 -0500 |
---|---|---|
committer | Jesper Nilsson <jesper.nilsson@axis.com> | 2008-02-08 05:06:28 -0500 |
commit | 0dfb8c35703709ca5e8f58e019d72383110999a7 (patch) | |
tree | 825532e0771ed49704f7649029be392e72559b53 /include/asm-cris/arch-v32 | |
parent | fbdb5f865b570e34d6e0d17f327f8d9bc2c4ccc6 (diff) |
CRIS: Add architecture dependent bug.h for CRIS v10 and CRIS v32
Diffstat (limited to 'include/asm-cris/arch-v32')
-rw-r--r-- | include/asm-cris/arch-v32/bug.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/asm-cris/arch-v32/bug.h b/include/asm-cris/arch-v32/bug.h new file mode 100644 index 000000000000..0f211e135248 --- /dev/null +++ b/include/asm-cris/arch-v32/bug.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef __ASM_CRISv32_ARCH_BUG_H | ||
2 | #define __ASM_CRISv32_ARCH_BUG_H | ||
3 | |||
4 | #include <linux/stringify.h> | ||
5 | |||
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. | ||
11 | */ | ||
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 | ||
28 | |||
29 | #define HAVE_ARCH_BUG | ||
30 | #endif | ||
31 | |||
32 | #include <asm-generic/bug.h> | ||
33 | #endif | ||