diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
| -rw-r--r-- | arch/s390/kernel/setup.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 5ba5a5485da9..5204778b8e5e 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
| @@ -261,8 +261,11 @@ void (*_machine_power_off)(void) = machine_power_off_smp; | |||
| 261 | * Reboot, halt and power_off routines for non SMP. | 261 | * Reboot, halt and power_off routines for non SMP. |
| 262 | */ | 262 | */ |
| 263 | extern void reipl(unsigned long devno); | 263 | extern void reipl(unsigned long devno); |
| 264 | extern void reipl_diag(void); | ||
| 264 | static void do_machine_restart_nonsmp(char * __unused) | 265 | static void do_machine_restart_nonsmp(char * __unused) |
| 265 | { | 266 | { |
| 267 | reipl_diag(); | ||
| 268 | |||
| 266 | if (MACHINE_IS_VM) | 269 | if (MACHINE_IS_VM) |
| 267 | cpcmd ("IPL", NULL, 0); | 270 | cpcmd ("IPL", NULL, 0); |
| 268 | else | 271 | else |
| @@ -634,6 +637,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
| 634 | struct cpuinfo_S390 *cpuinfo; | 637 | struct cpuinfo_S390 *cpuinfo; |
| 635 | unsigned long n = (unsigned long) v - 1; | 638 | unsigned long n = (unsigned long) v - 1; |
| 636 | 639 | ||
| 640 | preempt_disable(); | ||
| 637 | if (!n) { | 641 | if (!n) { |
| 638 | seq_printf(m, "vendor_id : IBM/S390\n" | 642 | seq_printf(m, "vendor_id : IBM/S390\n" |
| 639 | "# processors : %i\n" | 643 | "# processors : %i\n" |
| @@ -658,6 +662,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
| 658 | cpuinfo->cpu_id.ident, | 662 | cpuinfo->cpu_id.ident, |
| 659 | cpuinfo->cpu_id.machine); | 663 | cpuinfo->cpu_id.machine); |
| 660 | } | 664 | } |
| 665 | preempt_enable(); | ||
| 661 | return 0; | 666 | return 0; |
| 662 | } | 667 | } |
| 663 | 668 | ||
