[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] export debug status to debugger



VMX does not update DR6 on VM exits.
It's inconvenient for debugging a domain.

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r e66cecb66b1e xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c        Wed Oct 08 14:00:58 2008 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c        Sat May 10 17:03:18 2008 +0900
@@ -2109,6 +2109,13 @@ asmlinkage void vmx_vmexit_handler(struc
         switch ( vector )
         {
         case TRAP_debug:
+            /*
+             * Updates DR6 where debugger can peek (See 3B 23.2.1,
+             * Table 23-1, "Exit Qualification for Debug Exceptions").
+             */
+            exit_qualification = __vmread(EXIT_QUALIFICATION);
+            write_debugreg(6, exit_qualification | 0xffff0ff0);
+            /* fall through */
         case TRAP_int3:
             if ( !v->domain->debugger_attached )
                 goto exit_and_crash;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.