WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] fix vmx_vcpu_ptr_i(), vmx_vcpu_ptr

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] fix vmx_vcpu_ptr_i(), vmx_vcpu_ptr_d()
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 16 Jun 2006 18:40:24 +0000
Delivery-date: Fri, 16 Jun 2006 11:42:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 34455164dd33c48adb8af1b183db4a6ccabda765
# Parent  b27139d8c1e1f57d8184c6799c89fc481655312d
[IA64] fix vmx_vcpu_ptr_i(), vmx_vcpu_ptr_d()

They must purge all tr registers which overlap. not only one.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/vmx/vmmu.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff -r b27139d8c1e1 -r 34455164dd33 xen/arch/ia64/vmx/vmmu.c
--- a/xen/arch/ia64/vmx/vmmu.c  Sat Jun 03 11:16:47 2006 -0600
+++ b/xen/arch/ia64/vmx/vmmu.c  Sat Jun 03 13:21:14 2006 -0600
@@ -456,8 +456,7 @@ IA64FAULT vmx_vcpu_ptr_d(VCPU *vcpu,UINT
     u64 va;
 
     va = PAGEALIGN(ifa, ps);
-    index = vtr_find_overlap(vcpu, va, ps, DSIDE_TLB);
-    if (index>=0) {
+    while ((index = vtr_find_overlap(vcpu, va, ps, DSIDE_TLB)) >= 0) {
         vcpu->arch.dtrs[index].pte.p=0;
     }
     thash_purge_entries(vcpu, va, ps);
@@ -470,8 +469,7 @@ IA64FAULT vmx_vcpu_ptr_i(VCPU *vcpu,UINT
     u64 va;
 
     va = PAGEALIGN(ifa, ps);
-    index = vtr_find_overlap(vcpu, va, ps, ISIDE_TLB);
-    if (index>=0) {
+    while ((index = vtr_find_overlap(vcpu, va, ps, ISIDE_TLB)) >= 0) {
         vcpu->arch.itrs[index].pte.p=0;
     }
     thash_purge_entries(vcpu, va, ps);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] fix vmx_vcpu_ptr_i(), vmx_vcpu_ptr_d(), Xen patchbot-unstable <=