From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kip Macy Subject: resend Fwd: xc_ptrace fix Date: Fri, 29 Apr 2005 17:04:32 -0700 Message-ID: References: Reply-To: Kip Macy Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org Please apply. Paravirtualized guest debugging does not work without this change. ---------- Forwarded message ---------- From: Kip Macy Date: Apr 28, 2005 7:08 PM Subject: xc_ptrace fix 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 # # 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 =3D cr3_virt[cpu][vtopdi(va)]) =3D=3D 0) /* logical address *= / goto error_out; - pde =3D page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT; + if (ctxt[cpu].flags & VGCF_VMX_GUEST) + pde =3D page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT; if (pde !=3D pde_phys[cpu]) { pde_phys[cpu] =3D pde; @@ -194,7 +195,8 @@ } if ((page =3D pde_virt[cpu][vtopti(va)]) =3D=3D 0) /* logical address = */ goto error_out; - page =3D page_array[page >> PAGE_SHIFT] << PAGE_SHIFT; + if (ctxt[cpu].flags & VGCF_VMX_GUEST) + page =3D page_array[page >> PAGE_SHIFT] << PAGE_SHIFT; if (page !=3D page_phys[cpu] || perm !=3D prev_perm[cpu]) { page_phys[cpu] =3D page;