|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
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
I got what you mean, these two patch are both needed.
>
>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
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|