ia64/xen-unstable

changeset 18612:cafbd83e2258

vmx: Update RIP past INT3 instruction on INT3 vmexit.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Oct 10 10:11:34 2008 +0100 (2008-10-10)
parents 583e45983aaa
children 60bd590a0438
files xen/arch/x86/hvm/vmx/vmx.c
line diff
     1.1 --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri Oct 10 10:06:49 2008 +0100
     1.2 +++ b/xen/arch/x86/hvm/vmx/vmx.c	Fri Oct 10 10:11:34 2008 +0100
     1.3 @@ -2115,10 +2115,15 @@ asmlinkage void vmx_vmexit_handler(struc
     1.4               */
     1.5              exit_qualification = __vmread(EXIT_QUALIFICATION);
     1.6              write_debugreg(6, exit_qualification | 0xffff0ff0);
     1.7 -            /* fall through */
     1.8 +            if ( !v->domain->debugger_attached )
     1.9 +                goto exit_and_crash;
    1.10 +            domain_pause_for_debugger();
    1.11 +            break;
    1.12          case TRAP_int3:
    1.13              if ( !v->domain->debugger_attached )
    1.14                  goto exit_and_crash;
    1.15 +            inst_len = __get_instruction_length(); /* Safe: INT3 */
    1.16 +            __update_guest_eip(inst_len);
    1.17              domain_pause_for_debugger();
    1.18              break;
    1.19          case TRAP_no_device: