Testing kexec/kdump on ls2085ardb (arm64)
Pratyush Anand
panand at redhat.com
Wed Apr 12 09:36:40 PDT 2017
Hi Denys,
On Wednesday 12 April 2017 08:05 PM, Denys Zagorui wrote:
> Hello, Pratyush
> Thanks for your reply.
>
> Could you describe how i can find out wich enable method used. One more
> things, i made this tests on qemu, and it works. Logs attached.
>
From your board log (log_for_com ):
PSCI: PSCI does not exist
and then
[ 60.561877] Can't kexec: CPUs are stuck in the kernel.
Above message is coming from machine_kexec_prepare() when
cpus_are_stuck_in_kernel() returns true. See, its implementation. It
will return true if number of possible cpus is > 1 and cpu_die() is not
implemented.
You can boot your first kernel with nr_cpus=1 in kernel cmdline and
then you should be able to kexec to the second kernel from there.
However, it can not be a solution. You should update your firmware with
psci implementation.
For the time being you can have spin-table work aroudn like this [1],
but please note that spin-table is discouraged upstream [2].
[1]
https://github.com/pratyushanand/linux/commit/a50e98635b7257c101f02f7ac488a4cb04187f6d
[2] https://patchwork.kernel.org/patch/7873571/
From your qemu log:
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv0.2 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
and so it works :-)
~Pratyush
More information about the kexec
mailing list