aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-03-26 10:24:02 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-03-26 10:24:11 -0400
commit7b886416dfd76df9dd7304868556b1d82cf38890 (patch)
tree9d46b52b55cc76e2e12c93625dd5400fd614619c /arch/s390/kernel
parentf5daba1d4116d964435ddd99f32b6c80448a496b (diff)
[S390] Remove CONFIG_MACHCHK_WARNING.
Everybody enables it so there is no point for an extra config option. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/nmi.c29
1 files changed, 11 insertions, 18 deletions
diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c
index 8d50eaf76a60..4bfdc421d7e9 100644
--- a/arch/s390/kernel/nmi.c
+++ b/arch/s390/kernel/nmi.c
@@ -59,28 +59,23 @@ void s390_handle_mcck(void)
59 59
60 if (mcck.channel_report) 60 if (mcck.channel_report)
61 crw_handle_channel_report(); 61 crw_handle_channel_report();
62 62 /*
63#ifdef CONFIG_MACHCHK_WARNING 63 * A warning may remain for a prolonged period on the bare iron.
64/* 64 * (actually until the machine is powered off, or the problem is gone)
65 * The warning may remain for a prolonged period on the bare iron. 65 * So we just stop listening for the WARNING MCH and avoid continuously
66 * (actually till the machine is powered off, or until the problem is gone) 66 * being interrupted. One caveat is however, that we must do this per
67 * So we just stop listening for the WARNING MCH and prevent continuously 67 * processor and cannot use the smp version of ctl_clear_bit().
68 * being interrupted. One caveat is however, that we must do this per 68 * On VM we only get one interrupt per virtally presented machinecheck.
69 * processor and cannot use the smp version of ctl_clear_bit(). 69 * Though one suffices, we may get one interrupt per (virtual) cpu.
70 * On VM we only get one interrupt per virtally presented machinecheck. 70 */
71 * Though one suffices, we may get one interrupt per (virtual) processor.
72 */
73 if (mcck.warning) { /* WARNING pending ? */ 71 if (mcck.warning) { /* WARNING pending ? */
74 static int mchchk_wng_posted = 0; 72 static int mchchk_wng_posted = 0;
75 /* 73
76 * Use single machine clear, as we cannot handle smp right now 74 /* Use single cpu clear, as we cannot handle smp here. */
77 */
78 __ctl_clear_bit(14, 24); /* Disable WARNING MCH */ 75 __ctl_clear_bit(14, 24); /* Disable WARNING MCH */
79 if (xchg(&mchchk_wng_posted, 1) == 0) 76 if (xchg(&mchchk_wng_posted, 1) == 0)
80 kill_cad_pid(SIGPWR, 1); 77 kill_cad_pid(SIGPWR, 1);
81 } 78 }
82#endif
83
84 if (mcck.kill_task) { 79 if (mcck.kill_task) {
85 local_irq_enable(); 80 local_irq_enable();
86 printk(KERN_EMERG "mcck: Terminating task because of machine " 81 printk(KERN_EMERG "mcck: Terminating task because of machine "
@@ -375,9 +370,7 @@ static int __init machine_check_init(void)
375{ 370{
376 ctl_set_bit(14, 25); /* enable external damage MCH */ 371 ctl_set_bit(14, 25); /* enable external damage MCH */
377 ctl_set_bit(14, 27); /* enable system recovery MCH */ 372 ctl_set_bit(14, 27); /* enable system recovery MCH */
378#ifdef CONFIG_MACHCHK_WARNING
379 ctl_set_bit(14, 24); /* enable warning MCH */ 373 ctl_set_bit(14, 24); /* enable warning MCH */
380#endif
381 return 0; 374 return 0;
382} 375}
383arch_initcall(machine_check_init); 376arch_initcall(machine_check_init);