[PATCH] 8xx: avoid "dcbst" misbehaviour with unpopulated TLB
[linux-2.6/kmemtrace.git] / include / asm-x86_64 / bug.h
blob3d2a666a5dd536f95239f2637c1ee87c4bb48376
1 #ifndef __ASM_X8664_BUG_H
2 #define __ASM_X8664_BUG_H 1
4 #include <linux/stringify.h>
6 /*
7 * Tell the user there is some problem. The exception handler decodes
8 * this frame.
9 */
10 struct bug_frame {
11 unsigned char ud2[2];
12 /* should use 32bit offset instead, but the assembler doesn't
13 like it */
14 char *filename;
15 unsigned short line;
16 } __attribute__((packed));
18 #ifdef CONFIG_BUG
19 #define HAVE_ARCH_BUG
20 #define BUG() \
21 asm volatile("ud2 ; .quad %c1 ; .short %c0" :: \
22 "i"(__LINE__), "i" (__stringify(__FILE__)))
23 void out_of_line_bug(void);
24 #else
25 static inline void out_of_line_bug(void) { }
26 #endif
28 #include <asm-generic/bug.h>
29 #endif