[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] Fix mca handler so as not to destroy ar(was: Re: [Xen-ia64-devel] Re: mca handler)
On Fri, Jul 25, 2008 at 05:47:37PM +0900, SUZUKI Kazuhiro wrote: > The following patch fixes the mca handler so as not to destroy ar > and some bugs. Thank you for fixing some bugs and it looks basically good. Some comments below. > @@ -524,24 +457,111 @@ ia64_reload_tr: > srlz.d > ;; > #ifdef XEN > -.reload_vhpt: > - // 5. VHPT > - GET_THIS_PADDR(r1, inserted_vhpt);; > - cmp.eq p7,p0=r2,r0 > -(p7) br.cond.sptk .overlap_vhpt // vhpt isn't mapped. > + // 5. shared_info > + GET_THIS_PADDR(r2, inserted_shared_info);; > + ld8 r16=[r2] > + mov r18=XSI_SHIFT<<2 > + movl r20=__pgprot(__DIRTY_BITS | _PAGE_PL_PRIV | _PAGE_AR_RW) > + ;; > + GET_THIS_PADDR(r2, domain_shared_info);; > + ld8 r17=[r2] > + ;; > + dep r17=0,r17,60,4 > + ;; > + or r17=r17,r20 // construct PA | page properties > + mov cr.itir=r18 > + mov cr.ifa=r16 > + ;; > + mov r16=IA64_TR_SHARED_INFO > + ;; > + itr.d dtr[r16]=r17 // wire in new mapping... > + ;; > + srlz.d > + ;; Unconditionally pinning down shared_info into inserted_shared_info is wrong because shared_info is shared only with PV domain and xen VMM. So In VMX domain case, it shouldn't pinned down. Otherwise VMX guest wrongly accesses to shared_info. In ia64_do_tlb_purge() case, unconditionally purging DTR[IA64_TR_SHARED_INFO] is okay, but unconditionally inserting DTR[IA64_TR_SHARED_INFO] is bad. thanks, -- yamahata _______________________________________________ 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 |