All of lore.kernel.org
 help / color / mirror / Atom feed
* xc_ptrace fix
@ 2005-04-29  2:08 Kip Macy
  2005-04-30  0:04 ` resend Fwd: " Kip Macy
  0 siblings, 1 reply; 2+ messages in thread
From: Kip Macy @ 2005-04-29  2:08 UTC (permalink / raw)
  To: xen-devel

Make work for paravirtualized guest

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/04/28 15:22:26-07:00 kmacy@curly.lab.netapp.com 
#   Fix xc_ptrace
#   Signed-off-by: Kip Macy <kmacy@fsmware.com>
# 
# BitKeeper/etc/logging_ok
#   2005/04/28 15:22:26-07:00 kmacy@curly.lab.netapp.com +1 -0
#   Logging to logging@openlogging.org accepted
# 
# tools/libxc/xc_ptrace.c
#   2005/04/28 15:22:15-07:00 kmacy@curly.lab.netapp.com +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;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* resend Fwd: xc_ptrace fix
  2005-04-29  2:08 xc_ptrace fix Kip Macy
@ 2005-04-30  0:04 ` Kip Macy
  0 siblings, 0 replies; 2+ messages in thread
From: Kip Macy @ 2005-04-30  0:04 UTC (permalink / raw)
  To: xen-devel

Please apply.  Paravirtualized guest debugging does not work without
this change.

---------- Forwarded message ----------
From: Kip Macy <kip.macy@gmail.com>
Date: Apr 28, 2005 7:08 PM
Subject: xc_ptrace fix
To: xen-devel <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@curly.lab.netapp.com
#   Fix xc_ptrace
#   Signed-off-by: Kip Macy <kmacy@fsmware.com>
#
# BitKeeper/etc/logging_ok
#   2005/04/28 15:22:26-07:00 kmacy@curly.lab.netapp.com +1 -0
#   Logging to logging@openlogging.org accepted
#
# tools/libxc/xc_ptrace.c
#   2005/04/28 15:22:15-07:00 kmacy@curly.lab.netapp.com +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;

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-04-30  0:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-29  2:08 xc_ptrace fix Kip Macy
2005-04-30  0:04 ` resend Fwd: " Kip Macy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.