diff options
| author | David S. Miller <davem@davemloft.net> | 2010-03-01 06:23:06 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-03-01 06:23:06 +0300 |
| commit | 47871889c601d8199c51a4086f77eebd77c29b0b (patch) | |
| tree | 40cdcac3bff0ee40cc33dcca61d0577cdf965f77 /arch/s390/kernel/machine_kexec.c | |
| parent | c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3 (diff) | |
| parent | 30ff056c42c665b9ea535d8515890857ae382540 (diff) | |
| download | linux-47871889c601d8199c51a4086f77eebd77c29b0b.tar.xz | |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Conflicts:
drivers/firmware/iscsi_ibft.c
Diffstat (limited to 'arch/s390/kernel/machine_kexec.c')
| -rw-r--r-- | arch/s390/kernel/machine_kexec.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/s390/kernel/machine_kexec.c b/arch/s390/kernel/machine_kexec.c index 131d7ee8b416..a922d51df6bf 100644 --- a/arch/s390/kernel/machine_kexec.c +++ b/arch/s390/kernel/machine_kexec.c @@ -54,11 +54,11 @@ void machine_shutdown(void) { } -void machine_kexec(struct kimage *image) +static void __machine_kexec(void *data) { relocate_kernel_t data_mover; + struct kimage *image = data; - smp_send_stop(); pfault_fini(); s390_reset_system(); @@ -68,3 +68,9 @@ void machine_kexec(struct kimage *image) (*data_mover)(&image->head, image->start); for (;;); } + +void machine_kexec(struct kimage *image) +{ + smp_send_stop(); + smp_switch_to_ipl_cpu(__machine_kexec, image); +} |
