aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2008-12-16 06:40:27 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-16 12:40:32 -0500
commitb93a531e315e97ef00367099e6b5f19651936e20 (patch)
tree231e6d626fbf85dd80d7cbac49a9c9a14282f898 /arch/x86
parent85072bd55219231b8ca5d9d3fa3492eb4fa6635f (diff)
allow bug table entries to use relative pointers (and use it on x86-64)
Impact: reduce bug table size This allows reducing the bug table size by half. Perhaps there are other 64-bit architectures that could also make use of this. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--arch/x86/include/asm/bug.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ac22bb7719f7..ab98cca84e1b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -87,6 +87,10 @@ config GENERIC_IOMAP
87config GENERIC_BUG 87config GENERIC_BUG
88 def_bool y 88 def_bool y
89 depends on BUG 89 depends on BUG
90 select GENERIC_BUG_RELATIVE_POINTERS if X86_64
91
92config GENERIC_BUG_RELATIVE_POINTERS
93 bool
90 94
91config GENERIC_HWEIGHT 95config GENERIC_HWEIGHT
92 def_bool y 96 def_bool y
diff --git a/arch/x86/include/asm/bug.h b/arch/x86/include/asm/bug.h
index 3def2065fcea..d9cf1cd156d2 100644
--- a/arch/x86/include/asm/bug.h
+++ b/arch/x86/include/asm/bug.h
@@ -9,7 +9,7 @@
9#ifdef CONFIG_X86_32 9#ifdef CONFIG_X86_32
10# define __BUG_C0 "2:\t.long 1b, %c0\n" 10# define __BUG_C0 "2:\t.long 1b, %c0\n"
11#else 11#else
12# define __BUG_C0 "2:\t.quad 1b, %c0\n" 12# define __BUG_C0 "2:\t.long 1b - 2b, %c0 - 2b\n"
13#endif 13#endif
14 14
15#define BUG() \ 15#define BUG() \