xen/mce: Register native mce handler as vMCE bounce back point

When Xen hypervisor inject vMCE to guest, use native mce handler
to handle it

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Liu, Jinsong 2012-06-07 20:10:37 +08:00 committed by Konrad Rzeszutek Wilk
parent a8fccdb061
commit 05e36006ad
1 changed files with 7 additions and 3 deletions

View File

@ -626,8 +626,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
/* /*
* Look for known traps using IST, and substitute them * Look for known traps using IST, and substitute them
* appropriately. The debugger ones are the only ones we care * appropriately. The debugger ones are the only ones we care
* about. Xen will handle faults like double_fault and * about. Xen will handle faults like double_fault,
* machine_check, so we should never see them. Warn if * so we should never see them. Warn if
* there's an unexpected IST-using fault handler. * there's an unexpected IST-using fault handler.
*/ */
if (addr == (unsigned long)debug) if (addr == (unsigned long)debug)
@ -642,7 +642,11 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
return 0; return 0;
#ifdef CONFIG_X86_MCE #ifdef CONFIG_X86_MCE
} else if (addr == (unsigned long)machine_check) { } else if (addr == (unsigned long)machine_check) {
return 0; /*
* when xen hypervisor inject vMCE to guest,
* use native mce handler to handle it
*/
;
#endif #endif
} else { } else {
/* Some other trap using IST? */ /* Some other trap using IST? */