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