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>
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