91fc417f95
a 3.4 change <http://xenbits.xensource.com/hg/staging/xen-3.4-testing.hg/rev/60ed1226a37c#> as proposed by cegger (see <http://mail-index.netbsd.org/port-xen/2011/04/01/msg006580.html> ff).
32 lines
1.2 KiB
Text
32 lines
1.2 KiB
Text
$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);
|