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

RE: [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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.