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

Re: [Xen-ia64-devel] [PATCH] Strange problem with virtual aliases



On Thu, Nov 30, 2006 at 01:11:51PM +0800, Xu, Anthony wrote:
> 
> I found following code segment in function vcpu_itc_no_srlz,
> If inserted into VHPT, the pagesize is forced to PAGE_SHIFT.

I have compiled Xen with PAGE_SHIFT=12, otherwise yes 4KB pages would
not work.  But I consider that a limitation not a bug :)

However at the bottom of that function (vcpu_itc_no_srlz) there is:

  vcpu_set_tr_entry(&PSCBX(vcpu,dtlb),mp_pte,ps<<2,vaddr);

Assume itc.d inserts a large page (say 16MB).  mp_pte.ppn is the
original value passed to itc.d - the bottom of the large page.  vaddr is
the original ifa - maybe in the middle of the large page.  However, ps
has been forced to PAGE_SHIFT.  The result is a bad mapping in the
1-entry DTLB (&PSCBX(vcpu,dtlb)).  That is what my patch fixes.

Matt

_______________________________________________
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®.