x86: move struct bug_frame instances out of line
authorJan Beulich <jbeulich@suse.com>
Fri, 23 Aug 2013 07:19:29 +0000 (09:19 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 23 Aug 2013 07:19:29 +0000 (09:19 +0200)
commitb5692f2ef9b6fd67c3e7b4d4f2a4bdb1d58100e5
treebd47e9cb5456ece3f11655de913b9e766af7ddd3
parent08d89ac8bd7f43d897cdffe85b236c71d3408e16
x86: move struct bug_frame instances out of line

Just like Linux did many years ago, move them into a separate (data)
section, such that they no longer pollute instruction caches and TLBs.

Assertion frames, requiring two pointers to be stored, occupy two slots
in the array, with the second slot mimicking a frame the location
pointer of which doesn't match any address within .text or .init.text
(it effectively points back to the slot itself, which - being in a data
section - can't be reached by non-buggy execution).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/efi/stub.c
xen/arch/x86/traps.c
xen/arch/x86/xen.lds.S
xen/include/asm-x86/bug.h
xen/include/asm-x86/x86_64/bug.h [deleted file]