linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [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).