[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 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |