[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH} Dump machine check context for fatal machine check



Dump machine check context for fatal machine check

This small patches enable Xen hypervisor to always dump machine check ontext, 
previously it will not print anything if fatal MCE happens. It also add 
checking for NULL pointer.

It also change the address passing to guest to always use guest mfn. It should 
benifit non-translated guest.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@xxxxxxxxx>

diff -r 753f36697b0f xen/arch/x86/cpu/mcheck/mce_intel.c
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c       Mon Feb 08 14:32:57 2010 +0800
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c       Mon Feb 08 16:17:43 2010 +0800
@@ -370,7 +370,7 @@ static void intel_UCR_handler(struct mci
                           }
 
                           gfn =
-                              mfn_to_gmfn(d, ((bank->mc_addr) >> PAGE_SHIFT));
+                              get_gpfn_from_mfn((bank->mc_addr) >> PAGE_SHIFT);
                           bank->mc_addr =  gfn << PAGE_SHIFT |
                                         (bank->mc_addr & (PAGE_SIZE -1 ));
                           if (fill_vmsr_data(bank, global->mc_gstatus) == -1)
@@ -663,6 +663,10 @@ static void intel_machine_check(struct c
     mctc = mcheck_mca_logout(MCA_MCE_SCAN, mca_allbanks, &bs, &clear_bank);
 
     if (bs.errcnt) {
+        /* dump MCE error */
+        if (mctc != NULL)
+            x86_mcinfo_dump(mctelem_dataptr(mctc));
+
         /*
          * Uncorrected errors must be dealth with in softirq context.
          */
@@ -690,9 +694,6 @@ static void intel_machine_check(struct c
         mce_printk(MCE_CRITICAL, "MCE: clear_bank map %lx on CPU%d\n",
                 *((unsigned long*)clear_bank), smp_processor_id());
         mcheck_mca_clearbanks(clear_bank);
-       /* Print MCE error */
-        x86_mcinfo_dump(mctelem_dataptr(mctc));
-
     } else {
         if (mctc != NULL)
             mctelem_dismiss(mctc);


Attachment: dump_mce.patch
Description: dump_mce.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.