aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/bug.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86_64/bug.h')
-rw-r--r--include/asm-x86_64/bug.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-x86_64/bug.h b/include/asm-x86_64/bug.h
new file mode 100644
index 000000000000..d2032f56e87c
--- /dev/null
+++ b/include/asm-x86_64/bug.h
@@ -0,0 +1,25 @@
1#ifndef __ASM_X8664_BUG_H
2#define __ASM_X8664_BUG_H 1
3
4#include <linux/stringify.h>
5
6/*
7 * Tell the user there is some problem. The exception handler decodes
8 * this frame.
9 */
10struct 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));
17
18#define HAVE_ARCH_BUG
19#define BUG() \
20 asm volatile("ud2 ; .quad %c1 ; .short %c0" :: \
21 "i"(__LINE__), "i" (__stringify(KBUILD_BASENAME)))
22void out_of_line_bug(void);
23#include <asm-generic/bug.h>
24
25#endif