15 messages in com.xensource.lists.xen-ia64-develRe: [PATCH] Fix mca handler so as not...| From | Sent On | Attachments |
|---|---|---|
| Isaku Yamahata | 16 Jul 2008 19:54 | |
| SUZUKI Kazuhiro | 22 Jul 2008 19:10 | |
| SUZUKI Kazuhiro | 25 Jul 2008 01:47 | .patch |
| Isaku Yamahata | 27 Jul 2008 19:19 | |
| Isaku Yamahata | 27 Jul 2008 19:37 | |
| SUZUKI Kazuhiro | 29 Jul 2008 21:29 | .patch |
| Isaku Yamahata | 30 Jul 2008 20:27 | |
| Isaku Yamahata | 04 Aug 2008 20:36 | |
| Isaku Yamahata | 04 Aug 2008 22:18 | |
| SUZUKI Kazuhiro | 05 Aug 2008 00:21 | |
| Isaku Yamahata | 05 Aug 2008 19:05 | |
| Isaku Yamahata | 07 Aug 2008 03:29 | |
| SUZUKI Kazuhiro | 07 Aug 2008 23:40 | |
| Isaku Yamahata | 08 Aug 2008 01:02 | |
| SUZUKI Kazuhiro | 08 Aug 2008 01:36 | .patch |
| Subject: | Re: [PATCH] Fix mca handler so as not to destroy ar(was: Re: [Xen-ia64-devel] Re: mca handler)![]() |
|---|---|
| From: | Isaku Yamahata (yama...@valinux.co.jp) |
| Date: | 07/27/2008 07:19:42 PM |
| List: | com.xensource.lists.xen-ia64-devel |
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-...@lists.xensource.com http://lists.xensource.com/xen-ia64-devel





.patch