Re: [PATCH] MIPS: malta: pass fw arguments on kexec

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 31, 2015 at 03:56:14PM +0300, Aaro Koskinen wrote:

> On Tue, Mar 31, 2015 at 01:13:00PM +0200, Ralf Baechle wrote:
> > On Wed, Feb 25, 2015 at 05:21:05PM +0200, Aaro Koskinen wrote:
> > >  #define SOFTRES_REG	0x1f000500
> > > @@ -36,8 +38,19 @@ static void mips_machine_power_off(void)
> > >  	mips_machine_restart(NULL);
> > >  }
> > >  
> > > +static int mips_kexec_prepare(struct kimage *image)
> > > +{
> > > +	kexec_args[0] = fw_arg0;
> > > +	kexec_args[1] = fw_arg1;
> > > +	kexec_args[2] = fw_arg2;
> > > +	kexec_args[3] = fw_arg3;
> > > +
> > > +	return 0;
> > > +}
> > 
> > This makes arguments coming from the firmware non-overridable default?
> 
> Yes, the new kernel will boot with the same arguments as the old kernel...
> 
> I guess the kernel command line at least should be taken from kexec,
> OCTEON seems to have some code for that.

The old command line can be obtained from /proc/cmdline.  As per
documentation some boot formats but not all support the options
--command-line=string or --reuse-cmdline which I think is how it should
be done.

Sorry but cmdline manipulation in the kernel is just bad for my blood
pressure.  Among the issues:

Many MIPS platforms are manipulating the cmdline so what you eventually
find in /proc/cmdline may not what the firmware originally fed to the
kernel.  That's another tradition which should end - for sanity and
kexec's sake.

A few platfroms even hardcode the entire cmdline and that was done without
considering something like kexec.

And more.

  Ralf





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux