* [PATCH] powerpc/iseries: Kexec is known not to work on iseries
@ 2008-12-23 9:23 Michael Ellerman
2008-12-23 18:50 ` Nathan Lynch
0 siblings, 1 reply; 3+ messages in thread
From: Michael Ellerman @ 2008-12-23 9:23 UTC (permalink / raw)
To: linuxppc-dev
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>
---
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 70b688c..24519b9 100644
--- a/arch/powerpc/platforms/iseries/setup.c
+++ b/arch/powerpc/platforms/iseries/setup.c
@@ -23,6 +23,7 @@
#include <linux/string.h>
#include <linux/seq_file.h>
#include <linux/kdev_t.h>
+#include <linux/kexec.h>
#include <linux/major.h>
#include <linux/root_dev.h>
#include <linux/kernel.h>
@@ -638,6 +639,13 @@ static int __init iseries_probe(void)
return 1;
}
+#ifdef CONFIG_KEXEC
+static int iseries_kexec_prepare(struct kimage *image)
+{
+ return -ENOSYS;
+}
+#endif
+
define_machine(iseries) {
.name = "iSeries",
.setup_arch = iSeries_setup_arch,
@@ -658,6 +666,9 @@ define_machine(iseries) {
.probe = iseries_probe,
.ioremap = iseries_ioremap,
.iounmap = iseries_iounmap,
+#ifdef CONFIG_KEXEC
+ .machine_kexec_prepare = iseries_kexec_prepare,
+#endif
/* XXX Implement enable_pmcs for iSeries */
};
--
1.5.3.7.1.g4e596e
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc/iseries: Kexec is known not to work on iseries
2008-12-23 9:23 [PATCH] powerpc/iseries: Kexec is known not to work on iseries Michael Ellerman
@ 2008-12-23 18:50 ` Nathan Lynch
2008-12-23 19:12 ` Anton Vorontsov
0 siblings, 1 reply; 3+ messages in thread
From: Nathan Lynch @ 2008-12-23 18:50 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
Hi,
Michael Ellerman wrote:
> 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.
...
> @@ -638,6 +639,13 @@ static int __init iseries_probe(void)
> return 1;
> }
>
> +#ifdef CONFIG_KEXEC
> +static int iseries_kexec_prepare(struct kimage *image)
> +{
> + return -ENOSYS;
> +}
> +#endif
> +
> define_machine(iseries) {
> .name = "iSeries",
> .setup_arch = iSeries_setup_arch,
> @@ -658,6 +666,9 @@ define_machine(iseries) {
> .probe = iseries_probe,
> .ioremap = iseries_ioremap,
> .iounmap = iseries_iounmap,
> +#ifdef CONFIG_KEXEC
> + .machine_kexec_prepare = iseries_kexec_prepare,
> +#endif
> /* XXX Implement enable_pmcs for iSeries */
> };
But machine_kexec_prepare() already returns -ENOSYS if the platform
doesn't have the hook in ppc_md. I must be missing something; what is
this patch fixing?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc/iseries: Kexec is known not to work on iseries
2008-12-23 18:50 ` Nathan Lynch
@ 2008-12-23 19:12 ` Anton Vorontsov
0 siblings, 0 replies; 3+ messages in thread
From: Anton Vorontsov @ 2008-12-23 19:12 UTC (permalink / raw)
To: Nathan Lynch; +Cc: linuxppc-dev
Hi Nathan,
On Tue, Dec 23, 2008 at 12:50:51PM -0600, Nathan Lynch wrote:
> Hi,
>
> Michael Ellerman wrote:
> > 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.
>
> ...
>
> > @@ -638,6 +639,13 @@ static int __init iseries_probe(void)
> > return 1;
> > }
> >
> > +#ifdef CONFIG_KEXEC
> > +static int iseries_kexec_prepare(struct kimage *image)
> > +{
> > + return -ENOSYS;
> > +}
> > +#endif
> > +
> > define_machine(iseries) {
> > .name = "iSeries",
> > .setup_arch = iSeries_setup_arch,
> > @@ -658,6 +666,9 @@ define_machine(iseries) {
> > .probe = iseries_probe,
> > .ioremap = iseries_ioremap,
> > .iounmap = iseries_iounmap,
> > +#ifdef CONFIG_KEXEC
> > + .machine_kexec_prepare = iseries_kexec_prepare,
> > +#endif
> > /* XXX Implement enable_pmcs for iSeries */
> > };
>
> But machine_kexec_prepare() already returns -ENOSYS if the platform
> doesn't have the hook in ppc_md. I must be missing something;
Yeah, the kexec discussion, starting from here:
http://ozlabs.org/pipermail/linuxppc-dev/2008-December/066321.html
The default behaviour has changed.
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-12-23 19:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-23 9:23 [PATCH] powerpc/iseries: Kexec is known not to work on iseries Michael Ellerman
2008-12-23 18:50 ` Nathan Lynch
2008-12-23 19:12 ` Anton Vorontsov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).