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-ia64-devel

RE: [Xen-ia64-devel] PATCH: vti bugs fix

To: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>, "Alex Williamson" <alex.williamson@xxxxxx>
Subject: RE: [Xen-ia64-devel] PATCH: vti bugs fix
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Fri, 11 Aug 2006 10:15:21 +0800
Delivery-date: Thu, 10 Aug 2006 19:15:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Aca8bp+wlgGO1r1cSvKUswdg7mok6wAe7+XA
Thread-topic: [Xen-ia64-devel] PATCH: vti bugs fix
>From: Tristan Gingold
>Sent: 2006?8?10? 19:21
>To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx; Alex Williamson
>Subject: [Xen-ia64-devel] PATCH: vti bugs fix
>
>Hi,
>
>this patch fixes two bugs in vti code:
>* guest_vhpt_lookup fails on long-format vhpt instead of reading it as
>  a short-format one.
>  This patch could be improved by reading the entry.  This is future work.
Yes, guest long format vhpt needs to be handled.

>* vtlb_purge loops infinitly if VA is high enough and some high bits are set
>in psbits.

Below fixes may be more efficient, and there was this logic, but was removed
by accident

diff -r 6f02c4b9a9d0 xen/arch/ia64/vmx/vtlb.c
    135 --- a/xen/arch/ia64/vmx/vtlb.c  Wed Aug 09 12:05:13 2006 +0800
    136 +++ b/xen/arch/ia64/vmx/vtlb.c  Fri Aug 11 09:54:37 2006 +0800
    137 @@ -250,7 +250,7 @@ void vtlb_purge(VCPU *v, u64 va, u64 ps)
    138      psbits = VMX(v, psbits[(va >> 61)]);
    139      size = PSIZE(ps);
    140      start = va & (-size);
    141 -    end = start + size;
    142 +    end = start + size -1;
    143      while (psbits) {
    144          curadr = start;
    145          ps = __ffs(psbits);
    146 @@ -281,7 +281,7 @@ static void vhpt_purge(VCPU *v, u64 va,
    147      ia64_rr rr;
    148      size = PSIZE(ps);
    149      start = va & (-size);
    150 -    end = start + size;
    151 +    end = start + size -1;
    152      rr.rrval = ia64_get_rr(va);
    153      size = PSIZE(rr.ps);
    154      while(start < end){
>
>Tested by running a VTi domain with a long-format vhpt.
Which guest OS do you run, which supports long-format vhpt?
virtualizing/handling protect key may be needed to support guest long-format 
vhpt.

Thanks,
Anthony


>
>Tristan.

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

<Prev in Thread] Current Thread [Next in Thread>