diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-07-28 19:09:44 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-07-28 19:09:44 -0400 |
commit | f15cbe6f1a4b4d9df59142fc8e4abb973302cf44 (patch) | |
tree | 774d7b11abaaf33561ab8268bf51ddd9ceb79025 /include/asm-sh/bug.h | |
parent | 25326277d8d1393d1c66240e6255aca780f9e3eb (diff) |
sh: migrate to arch/sh/include/
This follows the sparc changes a439fe51a1f8eb087c22dd24d69cebae4a3addac.
Most of the moving about was done with Sam's directions at:
http://marc.info/?l=linux-sh&m=121724823706062&w=2
with subsequent hacking and fixups entirely my fault.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/bug.h')
-rw-r--r-- | include/asm-sh/bug.h | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/include/asm-sh/bug.h b/include/asm-sh/bug.h deleted file mode 100644 index c01718040166..000000000000 --- a/include/asm-sh/bug.h +++ /dev/null | |||
@@ -1,79 +0,0 @@ | |||
1 | #ifndef __ASM_SH_BUG_H | ||
2 | #define __ASM_SH_BUG_H | ||
3 | |||
4 | #define TRAPA_BUG_OPCODE 0xc33e /* trapa #0x3e */ | ||
5 | |||
6 | #ifdef CONFIG_GENERIC_BUG | ||
7 | #define HAVE_ARCH_BUG | ||
8 | #define HAVE_ARCH_WARN_ON | ||
9 | |||
10 | /** | ||
11 | * _EMIT_BUG_ENTRY | ||
12 | * %1 - __FILE__ | ||
13 | * %2 - __LINE__ | ||
14 | * %3 - trap type | ||
15 | * %4 - sizeof(struct bug_entry) | ||
16 | * | ||
17 | * The trapa opcode itself sits in %0. | ||
18 | * The %O notation is used to avoid # generation. | ||
19 | * | ||
20 | * The offending file and line are encoded in the __bug_table section. | ||
21 | */ | ||
22 | #ifdef CONFIG_DEBUG_BUGVERBOSE | ||
23 | #define _EMIT_BUG_ENTRY \ | ||
24 | "\t.pushsection __bug_table,\"a\"\n" \ | ||
25 | "2:\t.long 1b, %O1\n" \ | ||
26 | "\t.short %O2, %O3\n" \ | ||
27 | "\t.org 2b+%O4\n" \ | ||
28 | "\t.popsection\n" | ||
29 | #else | ||
30 | #define _EMIT_BUG_ENTRY \ | ||
31 | "\t.pushsection __bug_table,\"a\"\n" \ | ||
32 | "2:\t.long 1b\n" \ | ||
33 | "\t.short %O3\n" \ | ||
34 | "\t.org 2b+%O4\n" \ | ||
35 | "\t.popsection\n" | ||
36 | #endif | ||
37 | |||
38 | #define BUG() \ | ||
39 | do { \ | ||
40 | __asm__ __volatile__ ( \ | ||
41 | "1:\t.short %O0\n" \ | ||
42 | _EMIT_BUG_ENTRY \ | ||
43 | : \ | ||
44 | : "n" (TRAPA_BUG_OPCODE), \ | ||
45 | "i" (__FILE__), \ | ||
46 | "i" (__LINE__), "i" (0), \ | ||
47 | "i" (sizeof(struct bug_entry))); \ | ||
48 | } while (0) | ||
49 | |||
50 | #define __WARN() \ | ||
51 | do { \ | ||
52 | __asm__ __volatile__ ( \ | ||
53 | "1:\t.short %O0\n" \ | ||
54 | _EMIT_BUG_ENTRY \ | ||
55 | : \ | ||
56 | : "n" (TRAPA_BUG_OPCODE), \ | ||
57 | "i" (__FILE__), \ | ||
58 | "i" (__LINE__), \ | ||
59 | "i" (BUGFLAG_WARNING), \ | ||
60 | "i" (sizeof(struct bug_entry))); \ | ||
61 | } while (0) | ||
62 | |||
63 | #define WARN_ON(x) ({ \ | ||
64 | int __ret_warn_on = !!(x); \ | ||
65 | if (__builtin_constant_p(__ret_warn_on)) { \ | ||
66 | if (__ret_warn_on) \ | ||
67 | __WARN(); \ | ||
68 | } else { \ | ||
69 | if (unlikely(__ret_warn_on)) \ | ||
70 | __WARN(); \ | ||
71 | } \ | ||
72 | unlikely(__ret_warn_on); \ | ||
73 | }) | ||
74 | |||
75 | #endif /* CONFIG_GENERIC_BUG */ | ||
76 | |||
77 | #include <asm-generic/bug.h> | ||
78 | |||
79 | #endif /* __ASM_SH_BUG_H */ | ||