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

[Xen-devel] xc_ptrace fix


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Kip Macy <kip.macy@xxxxxxxxx>
  • Date: Thu, 28 Apr 2005 19:08:56 -0700
  • Delivery-date: Fri, 29 Apr 2005 02:08:38 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=o8kkW24dCAR5mwpHvBn5d3R98vtI7T4D8g6+c4bFKDKY91C7GqY57U22ZM5xh8YUhoBS6ljrYQTlUYbuF9VrwIklSU9Ot9kuWIdWAHCXS5dPk7DdjIXU4UoZlRy82us9QCfMnP0SJ47ijsHZMXugcKZBNOF96L7TqNwkjwuM7lY=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Make work for paravirtualized guest

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/04/28 15:22:26-07:00 kmacy@xxxxxxxxxxxxxxxxxxxx 
#   Fix xc_ptrace
#   Signed-off-by: Kip Macy <kmacy@xxxxxxxxxxx>
# 
# BitKeeper/etc/logging_ok
#   2005/04/28 15:22:26-07:00 kmacy@xxxxxxxxxxxxxxxxxxxx +1 -0
#   Logging to logging@xxxxxxxxxxxxxxx accepted
# 
# tools/libxc/xc_ptrace.c
#   2005/04/28 15:22:15-07:00 kmacy@xxxxxxxxxxxxxxxxxxxx +4 -2
#   don't reference page_array in the paravirtualized case
# 
diff -Nru a/tools/libxc/xc_ptrace.c b/tools/libxc/xc_ptrace.c
--- a/tools/libxc/xc_ptrace.c   2005-04-27 19:11:24 -07:00
+++ b/tools/libxc/xc_ptrace.c   2005-04-27 19:11:24 -07:00
@@ -181,7 +181,8 @@
     } 
     if ((pde = cr3_virt[cpu][vtopdi(va)]) == 0) /* logical address */
        goto error_out;
-    pde = page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT;
+    if (ctxt[cpu].flags & VGCF_VMX_GUEST)
+       pde = page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT;
     if (pde != pde_phys[cpu]) 
     {
        pde_phys[cpu] = pde;
@@ -194,7 +195,8 @@
     }
     if ((page = pde_virt[cpu][vtopti(va)]) == 0) /* logical address */
        goto error_out;
-    page = page_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
+    if (ctxt[cpu].flags & VGCF_VMX_GUEST)
+       page = page_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
     if (page != page_phys[cpu] || perm != prev_perm[cpu]) 
     {
        page_phys[cpu] = page;

_______________________________________________
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®.