Commit 4562c986 authored by Matthew McClintock's avatar Matthew McClintock Committed by Benjamin Herrenschmidt

powerpc/kexec: Adds correct calling convention for kexec purgatory

Call kexec purgatory code correctly. We were getting lucky before.
If you examine the powerpc 32bit kexec "purgatory" code you will
see it expects the following:

>From kexec-tools: purgatory/arch/ppc/v2wrap_32.S
-> calling convention:
->   r3 = physical number of this cpu (all cpus)
->   r4 = address of this chunk (master only)

As such, we need to set r3 to the current core, r4 happens to be
unused by purgatory at the moment but we go ahead and set it
here as well
Signed-off-by: default avatarMatthew McClintock <msm@freescale.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 2bfc96a1
...@@ -810,6 +810,9 @@ relocate_new_kernel: ...@@ -810,6 +810,9 @@ relocate_new_kernel:
isync isync
sync sync
mfspr r3, SPRN_PIR /* current core we are running on */
mr r4, r5 /* load physical address of chunk called */
/* jump to the entry point, usually the setup routine */ /* jump to the entry point, usually the setup routine */
mtlr r5 mtlr r5
blrl blrl
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment