]>
Commit | Line | Data |
---|---|---|
1 | #ifndef __ASM_X8664_BUG_H | |
2 | #define __ASM_X8664_BUG_H 1 | |
3 | ||
4 | #ifdef CONFIG_BUG | |
5 | #define HAVE_ARCH_BUG | |
6 | ||
7 | #ifdef CONFIG_DEBUG_BUGVERBOSE | |
8 | #define BUG() \ | |
9 | do { \ | |
10 | asm volatile("1:\tud2\n" \ | |
11 | ".pushsection __bug_table,\"a\"\n" \ | |
12 | "2:\t.quad 1b, %c0\n" \ | |
13 | "\t.word %c1, 0\n" \ | |
14 | "\t.org 2b+%c2\n" \ | |
15 | ".popsection" \ | |
16 | : : "i" (__FILE__), "i" (__LINE__), \ | |
17 | "i" (sizeof(struct bug_entry))); \ | |
18 | for(;;) ; \ | |
19 | } while(0) | |
20 | #else | |
21 | #define BUG() \ | |
22 | do { \ | |
23 | asm volatile("ud2"); \ | |
24 | for(;;) ; \ | |
25 | } while(0) | |
26 | #endif | |
27 | ||
28 | void out_of_line_bug(void); | |
29 | #else | |
30 | static inline void out_of_line_bug(void) { } | |
31 | #endif | |
32 | ||
33 | #include <asm-generic/bug.h> | |
34 | #endif |