aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/xen-ops.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-08 18:07:00 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-16 05:02:31 -0400
commit997409d3d0bd6894f33e31ced251c0fdf523aa14 (patch)
treecc4a963310cc9ae00138607cdaa35c99e7d5f76c /arch/x86/xen/xen-ops.h
parente176d367d0cc8b8efd2e0960c9edf5d2fe7cd9f1 (diff)
xen64: deal with extra words Xen pushes onto exception frames
Xen pushes two extra words containing the values of rcx and r11. This pvop hook copies the words back into their appropriate registers, and cleans them off the stack. This leaves the stack in native form, so the normal handler can run unchanged. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stephen Tweedie <sct@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/xen/xen-ops.h')
-rw-r--r--arch/x86/xen/xen-ops.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index aca4a7803e2c..c4800a2c5a41 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -67,7 +67,9 @@ DECL_ASM(void, xen_irq_disable_direct, void);
67DECL_ASM(unsigned long, xen_save_fl_direct, void); 67DECL_ASM(unsigned long, xen_save_fl_direct, void);
68DECL_ASM(void, xen_restore_fl_direct, unsigned long); 68DECL_ASM(void, xen_restore_fl_direct, unsigned long);
69 69
70/* These are not functions, and cannot be called normally */
70void xen_iret(void); 71void xen_iret(void);
71void xen_sysexit(void); 72void xen_sysexit(void);
73void xen_adjust_exception_frame(void);
72 74
73#endif /* XEN_OPS_H */ 75#endif /* XEN_OPS_H */