| 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
 |