$NetBSD: patch-ad,v 1.1 2011/04/04 09:07:06 hauke Exp $

Turn this non-fatal condition from a panic into a warning, pulling up a 3.4 change
<http://xenbits.xensource.com/hg/staging/xen-3.4-testing.hg/rev/60ed1226a37c#>
as proposed by cegger.

--- xen/arch/x86/cpu/mcheck/amd_nonfatal.c.orig	2009-08-06 12:56:41.000000000 +0000
+++ xen/arch/x86/cpu/mcheck/amd_nonfatal.c
@@ -208,14 +208,19 @@ static void mce_amd_work_fn(void *data)
 
 		/* HW does not count *all* kinds of correctable errors.
 		 * Thus it is possible, that the polling routine finds an
-		 * correctable error even if the HW reports nothing.
-		 * However, the other way around is not possible (= BUG).
-		 */ 
+		 * correctable error even if the HW reports nothing. */ 
 		if (counter > 0) {
 			/* HW reported correctable errors,
 			 * the polling routine did not find...
 			 */
-			BUG_ON(adjust == 0);
+			if (adjust == 0) {
+				printk("CPU counter reports %"PRIu32
+					" correctable hardware error%s that %s"
+					" not reported by the status MSRs\n",
+					counter,
+					(counter == 1 ? "" : "s"),
+					(counter == 1 ? "was" : "were"));
+			}
 			/* subtract 1 to not double count the error 
 			 * from the polling service routine */ 
 			adjust += (counter - 1);
