|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-3.2-testing] vmx: Update RIP past INT3	instruction 
 
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1224178057 -3600
# Node ID dfbf481940bb48c891fe2988721a02db05bb7d29
# Parent  65479fae664911f8435485daf0eb91908e39dd67
vmx: Update RIP past INT3 instruction on INT3 vmexit.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   18593:cafbd83e2258
xen-unstable date:        Fri Oct 10 10:11:34 2008 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)
diff -r 65479fae6649 -r dfbf481940bb xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c        Thu Oct 16 18:27:17 2008 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c        Thu Oct 16 18:27:37 2008 +0100
@@ -2817,10 +2817,15 @@ asmlinkage void vmx_vmexit_handler(struc
              */
             exit_qualification = __vmread(EXIT_QUALIFICATION);
             write_debugreg(6, exit_qualification | 0xffff0ff0);
-            /* fall through */
+            if ( !v->domain->debugger_attached )
+                goto exit_and_crash;
+            domain_pause_for_debugger();
+            break;
         case TRAP_int3:
             if ( !v->domain->debugger_attached )
                 goto exit_and_crash;
+            inst_len = __get_instruction_length(); /* Safe: INT3 */
+            __update_guest_eip(inst_len);
             domain_pause_for_debugger();
             break;
         case TRAP_no_device:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] [xen-3.2-testing] vmx: Update RIP past INT3	instruction on INT3 vmexit.,
Xen patchbot-3.2-testing <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |