Re: Kexec on MIPS32R2?

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

 



Hi,

On 11/02/2020 08:01 AM, Mauro Condarelli wrote:
Can someone confirm (or disconfirm, of course) kexec is supposed to work on MIPS32R2?
My attempts to use it on a MT7628-based board result in a silent hang (watchdog cuts in)
right after:

[  201.309836] kexec_core: Starting new kernel
[  201.318239] Will call new kernel at 004f0000
[  201.322581] Bye ...

Apparently old kernel jumps to `do_kexec()` and just dies; new kernel does not give a peep.
This can be completely my fault, of course, but I would like a confirm this is supposed to work.

Thanks in advance
Mauro Condarelli
I'm not familiar with MIPSR2. I guess your platform (MT7628-based board)
cannot use the common function. It may not give a machine specific function, too.

How CPU0 do in do_kexec()? Maybe arch/mips/kernel/reloacate_kernel.S gives us some useful information. In this file CPU0 goes relocate_new_kernel() and other CPUs go kexec_smp_wait() if CONFIG_SMP is enabled. Normally CPU0 will enter the kernel_entry() of the new kernel. In my own understanding of the kexec process, I find it extremely difficult to pass parameters. Please make sure your platform passes the parameters necessary for startup. (See arch/mips/kernel/head.S, such as dtb, fw_args* or other necessary parameters, this is what I said "machine specific")




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

  Powered by Linux