diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2008-12-22 18:23:18 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-01-08 00:25:10 -0500 |
commit | 5c9a2606bcad101e169012d9f79ab3aed60926aa (patch) | |
tree | 8aeafb4ba9071833e0e79c5e76187b5587338a6b /arch/powerpc | |
parent | 29f1aff2cc20d8b81fe3c890b8f134e84b8f41fe (diff) |
powerpc/iseries: Kexec is known not to work on iseries
The non-zero return from the prepare callback is returned by sys_kexec_load()
to userspace, indicating that kexec is not supported on the machine.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 70b688c1aefb..24519b96d6ad 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/string.h> | 23 | #include <linux/string.h> |
24 | #include <linux/seq_file.h> | 24 | #include <linux/seq_file.h> |
25 | #include <linux/kdev_t.h> | 25 | #include <linux/kdev_t.h> |
26 | #include <linux/kexec.h> | ||
26 | #include <linux/major.h> | 27 | #include <linux/major.h> |
27 | #include <linux/root_dev.h> | 28 | #include <linux/root_dev.h> |
28 | #include <linux/kernel.h> | 29 | #include <linux/kernel.h> |
@@ -638,6 +639,13 @@ static int __init iseries_probe(void) | |||
638 | return 1; | 639 | return 1; |
639 | } | 640 | } |
640 | 641 | ||
642 | #ifdef CONFIG_KEXEC | ||
643 | static int iseries_kexec_prepare(struct kimage *image) | ||
644 | { | ||
645 | return -ENOSYS; | ||
646 | } | ||
647 | #endif | ||
648 | |||
641 | define_machine(iseries) { | 649 | define_machine(iseries) { |
642 | .name = "iSeries", | 650 | .name = "iSeries", |
643 | .setup_arch = iSeries_setup_arch, | 651 | .setup_arch = iSeries_setup_arch, |
@@ -658,6 +666,9 @@ define_machine(iseries) { | |||
658 | .probe = iseries_probe, | 666 | .probe = iseries_probe, |
659 | .ioremap = iseries_ioremap, | 667 | .ioremap = iseries_ioremap, |
660 | .iounmap = iseries_iounmap, | 668 | .iounmap = iseries_iounmap, |
669 | #ifdef CONFIG_KEXEC | ||
670 | .machine_kexec_prepare = iseries_kexec_prepare, | ||
671 | #endif | ||
661 | /* XXX Implement enable_pmcs for iSeries */ | 672 | /* XXX Implement enable_pmcs for iSeries */ |
662 | }; | 673 | }; |
663 | 674 | ||