diff options
author | Liu, Jinsong <jinsong.liu@intel.com> | 2012-06-07 08:10:37 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-07-19 15:51:38 -0400 |
commit | 05e36006adc3046f86f2be8652a22d5f77ebd6ea (patch) | |
tree | 7f207e99da26d04de115383f09c6b2fd937fd87c | |
parent | a8fccdb0617386695a13ec742a61b5c935b63795 (diff) |
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>
-rw-r--r-- | 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 9a6346865c49..0c1ab43f6672 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -626,8 +626,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val, | |||
626 | /* | 626 | /* |
627 | * Look for known traps using IST, and substitute them | 627 | * Look for known traps using IST, and substitute them |
628 | * appropriately. The debugger ones are the only ones we care | 628 | * appropriately. The debugger ones are the only ones we care |
629 | * about. Xen will handle faults like double_fault and | 629 | * about. Xen will handle faults like double_fault, |
630 | * machine_check, so we should never see them. Warn if | 630 | * so we should never see them. Warn if |
631 | * there's an unexpected IST-using fault handler. | 631 | * there's an unexpected IST-using fault handler. |
632 | */ | 632 | */ |
633 | if (addr == (unsigned long)debug) | 633 | if (addr == (unsigned long)debug) |
@@ -642,7 +642,11 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val, | |||
642 | return 0; | 642 | return 0; |
643 | #ifdef CONFIG_X86_MCE | 643 | #ifdef CONFIG_X86_MCE |
644 | } else if (addr == (unsigned long)machine_check) { | 644 | } else if (addr == (unsigned long)machine_check) { |
645 | return 0; | 645 | /* |
646 | * when xen hypervisor inject vMCE to guest, | ||
647 | * use native mce handler to handle it | ||
648 | */ | ||
649 | ; | ||
646 | #endif | 650 | #endif |
647 | } else { | 651 | } else { |
648 | /* Some other trap using IST? */ | 652 | /* Some other trap using IST? */ |