Subject: Re: [PATCH] powerpc/iseries: Kexec is known not to work on iseries

From: Anton Vorontsov <[email-masked]>
Date: Tue, 23 Dec 2008 22:12:02 +0300

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: [email-masked]
irc://irc.freenode.net/bd2