]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen/mce: Register native mce handler as vMCE bounce back point
authorLiu, Jinsong <jinsong.liu@intel.com>
Thu, 7 Jun 2012 12:10:37 +0000 (20:10 +0800)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 12 Jun 2012 18:09:29 +0000 (14:09 -0400)
When Xen hypervisor inject vMCE to guest, use native mce handler
to handle it

[upstream git commit df4767e80f90541fbcc91cf1bf58c68a4e9c060b]
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>
arch/x86/xen/enlighten.c

index 2703c36146d2571aba4798e470a6128f7d2e4d16..f39695048b239160a56831d3de8d6ff38c516fe5 100644 (file)
@@ -526,8 +526,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)
@@ -542,7 +542,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 hypervisor inject vMCE to guest,
+                * use native mce handler to handle it
+                */
+               ;
 #endif
        } else {
                /* Some other trap using IST? */