WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH} Dump machine check context for fatal machine check
From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
Date: Mon, 8 Feb 2010 17:39:46 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 08 Feb 2010 01:41:57 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acqooqa7JeX700CUToex3akE1jQZZw==
Thread-topic: [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
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH} Dump machine check context for fatal machine check, Jiang, Yunhong <=