ia64/xen-unstable
changeset 18886:e34f3e314ecf
x86/32on64: adjust address when converting syscall to fault
The faulting address is at the start of the syscall instruction rather
than at the following one.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
The faulting address is at the start of the syscall instruction rather
than at the following one.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Fri Dec 05 15:21:59 2008 +0000 (2008-12-05) |
parents | c520af4bde59 |
children | 3db54d2aa8bd |
files | xen/arch/x86/x86_64/compat/entry.S |
line diff
1.1 --- a/xen/arch/x86/x86_64/compat/entry.S Fri Dec 05 14:46:38 2008 +0000 1.2 +++ b/xen/arch/x86/x86_64/compat/entry.S Fri Dec 05 15:21:59 2008 +0000 1.3 @@ -234,6 +234,7 @@ 1: movq %rax,TRAPBOUNCE_eip(%rdx) 1.4 call compat_create_bounce_frame 1.5 jmp compat_test_all_events 1.6 2: movl $TRAP_gp_fault,UREGS_entry_vector(%rsp) 1.7 + subl $2,UREGS_rip(%rsp) 1.8 movq VCPU_gp_fault_addr(%rbx),%rax 1.9 movzwl VCPU_gp_fault_sel(%rbx),%esi 1.10 movb $(TBF_EXCEPTION|TBF_EXCEPTION_ERRCODE|TBF_INTERRUPT),%cl