aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/traps.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-03-29 22:56:29 -0400
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-05-08 18:51:03 -0400
commit6cac5a924668a56c7ccefc345805f1fe0536a90e (patch)
tree0e15fe317a21ac40244cbf38cdeaa36f4c9837fd /arch/x86/include/asm/traps.h
parent6b2e8523df148c15ea5abf13075026fb8bdb3f86 (diff)
xen/x86-64: fix breakpoints and hardware watchpoints
Native x86-64 uses the IST mechanism to run int3 and debug traps on an alternative stack. Xen does not do this, and so the frames were being misinterpreted by the ptrace code. This change special-cases these two exceptions by using Xen variants which run on the normal kernel stack properly. Impact: avoid crash or bad data when IST trap is invoked under Xen Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/include/asm/traps.h')
-rw-r--r--arch/x86/include/asm/traps.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index 0d5342515b86..c44e5002f2ff 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -13,6 +13,9 @@ asmlinkage void divide_error(void);
13asmlinkage void debug(void); 13asmlinkage void debug(void);
14asmlinkage void nmi(void); 14asmlinkage void nmi(void);
15asmlinkage void int3(void); 15asmlinkage void int3(void);
16asmlinkage void xen_debug(void);
17asmlinkage void xen_int3(void);
18asmlinkage void xen_stack_segment(void);
16asmlinkage void overflow(void); 19asmlinkage void overflow(void);
17asmlinkage void bounds(void); 20asmlinkage void bounds(void);
18asmlinkage void invalid_op(void); 21asmlinkage void invalid_op(void);