[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] Register native mce handler as vMCE bounce back point
Konrad Rzeszutek Wilk wrote: > On Tue, Apr 17, 2012 at 12:55:49PM +0000, Liu, Jinsong wrote: >> Konrad Rzeszutek Wilk wrote: >>> On Mon, Apr 16, 2012 at 01:07:35AM +0000, Liu, Jinsong wrote: >>>>> From 76e40a60878ff72986fd8d92611400195ae0f997 Mon Sep 17 00:00:00 >>>>> 2001 >>>> From: Liu, Jinsong <jinsong.liu@xxxxxxxxx> >>>> Date: Mon, 16 Apr 2012 00:16:58 +0800 >>>> Subject: [PATCH 2/2] Register native mce handler as vMCE bounce >>>> back point >>>> >>>> When xen hyeprvisor inject vMCE to guest, use native mce handler to >>>> handle it >>> >>> hypervisor >>> >>>> >>>> Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx> >>>> Signed-off-by: Ke, Liping <liping.ke@xxxxxxxxx> >>>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@xxxxxxxxx> >>>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> >>>> --- arch/x86/xen/enlighten.c | 10 +++++++--- >>>> 1 files changed, 7 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c >>>> index 15628d4..346ba64 100644 --- a/arch/x86/xen/enlighten.c >>>> +++ b/arch/x86/xen/enlighten.c >>>> @@ -614,8 +614,8 @@ static int cvt_gate_to_trap(int vector, const >>>> gate_desc *val, /* >>>> * Look for known traps using IST, and substitute them >>>> * appropriately. The debugger ones are the only ones we care >>>> - * about. Xen will handle faults like double_fault and >>>> - * machine_check, so we should never see them. Warn if >>>> + * about. Xen will handle faults like double_fault, >>>> + * so we should never see them. Warn if >>>> * there's an unexpected IST-using fault handler. */ >>>> if (addr == (unsigned long)debug) >>>> @@ -630,7 +630,11 @@ static int cvt_gate_to_trap(int vector, const >>>> gate_desc *val, return 0; #ifdef CONFIG_X86_MCE >>>> } else if (addr == (unsigned long)machine_check) { - return >>>> 0; >>>> + /* + * when xen hyeprvisor inject vMCE to guest, >>>> + * use native mce handler to handle it >>>> + */ >>>> + ; >>> >>> >>> Can you just take the check out? >> >> What do you mean by 'check out'? remove >> else if (addr == (unsigned long) machine_check) { >> ; >> } >> ? >> >> That would fail to register mce bounce back point. > > Right, b/c right after we hit this check: > /* Some other trap using IST? */ > 639 if (WARN_ON(val->ist != 0)) > 640 return 0; > 641 } > > .. And the val->ist is not set for MCEs right? No, mce ist is set as 0/5 (32/64), set_intr_gate_ist(X86_TRAP_MC, &machine_check, MCE_STACK); > >> >>> >>> >>>> #endif >>>> } else { >>>> /* Some other trap using IST? */ >>>> -- >>>> 1.7.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe >> linux-kernel" in the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |