|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
Re: [Xen-ia64-devel] [PATCH] Strange problem with virtual aliases 
| Hi Matthew.
On Thu, Nov 30, 2006 at 03:17:57PM +1100, Matthew Chapman wrote:
> I found the problem...
> 
> The real VHPT insertion is done based on the machine PTE returned from
> translate_domain_pte, which does the appropriate offset calculations.
> 
> However, the insertion into the one-entry TLB uses the original PTE, but
> the page size has been reset to PAGE_SIZE [1].  Thus the entry in the
> one-entry TLB incorrectly maps the PAGE_SIZE sub-page which was faulted
> on to the PAGE_SIZE sub-page at the bottom of the superpage.
one-entry TLB is shrinked to PAGE_SIZE around virtual address.
not the bottom of the superpage.
So shrinking page size to PAGE_SIZE doesn't affect correctness.
> I think it makes most sense to simply use the original itir when
> inserting into the single-entry TLB, as per attached patch.  I've moved
> the vcpu_set_tr_entry calls up a level into vcpu_itc_d and vcpu_itc_i;
> the third caller previously used the 4 flag to specify "don't do that".
vcpu_set_tr_entry() must be before p2m_entry_retry() check.
Otherwise one-entry TLB might have a stale entry which was purged
by other vcpu.
-- 
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
 | 
 |  | 
  
    |  |  |