Hi Anthony,
> Sorry, I didn't see xen_mca handler purge and reload TLB in latest
> changeset.
> The code is commented out. Maybe I miss something, could you elaborate
> it?
TLB purge and reload code is in xen/arch/ia64/linux-xen/mca_asm.S
367 // The following code purges TC and TR entries. Then reload all
TC entries.
368 // Purge percpu data TC entries.
369 begin_tlb_purge_and_reload:
370 movl r18=ia64_reload_tr;;
371 LOAD_PHYSICAL(p0,r18,ia64_reload_tr);;
372 mov b1=r18;;
373 br.sptk.many ia64_do_tlb_purge;;
374
> My understanding is, corrected platform MCA is CPE, and this MCA should
> have been corrected by firmware ( PAL or SAL), CPE interrupt is just
> used to inform OS something has happened.
> Uncorrected platform MCA still invoke OS_MCA, it still rendezvous other
> processors.
TLB-related uncorrected MCA is recoverd in xen_mca handler.
But when the other uncorrected MCA happens, it just causes system
reset. The other error recoveries are not implemented yet.
Thanks,
KAZ
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Subject: RE: [Xen-ia64-devel] does xen support MCA now?
Date: Fri, 21 Sep 2007 09:01:08 +0800
> >> 1. If this is a TLB-related MCA, when xen_mca handler returns to
> guest,
> >> this MCA may happen again.
> >
> >When a TLB-relate MCA is occured, xen_mca handler tries to purge and
> >reload TLB. In the current implementation, MCA is logged in dom0 but
> >there is no way to notify the guest who caused it.
>
> Sorry, I didn't see xen_mca handler purge and reload TLB in latest
> changeset.
> The code is commented out. Maybe I miss something, could you elaborate
> it?
>
>
> 1216 /* TLB error is only exist in this SAL error record */
> 1217 recover = (psp->tc && !(psp->cc || psp->bc || psp->rc ||
> psp->uc))
> 1218 /* other error recovery */
> 1219 #ifndef XEN
> 1220 || (ia64_mca_ucmc_extension
> 1221 && ia64_mca_ucmc_extension(
> 1222 IA64_LOG_CURR_BUFFER(SAL_INFO_TYPE_MCA),
> 1223 &ia64_sal_to_os_handoff_state,
> 1224 &ia64_os_to_sal_handoff_state));
> 1225 #else
>
> >
> >> 2. If this is a platform MCA, other pCPUs wakened up may trigger this
> >> again.
> >
> >The platform MCA(CPE) is handled as correctable error. The other pCPUs
> >are not rendezvoused.
>
> Are all platform MCAs belonging to CPE?
>
> My understanding is, corrected platform MCA is CPE, and this MCA should
> have been corrected by firmware ( PAL or SAL), CPE interrupt is just
> used to inform OS something has happened.
> Uncorrected platform MCA still invoke OS_MCA, it still rendezvous other
> processors.
>
>
>
> - Anthony
>
>
>
>
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|