]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: adjust el0_sync so that a function can be called
authorLarry Bassel <larry.bassel@linaro.org>
Fri, 30 May 2014 19:34:14 +0000 (20:34 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 10 Jul 2014 09:10:20 +0000 (10:10 +0100)
commit5a8653f4a0e65a4a6d4def613cc2f5ee045e9337
tree02a4aee7b9b8787c6f160fb4b622328bcf149b65
parent50a24ff5cf1abf1240f53a9073aacbbe66cea6dc
arm64: adjust el0_sync so that a function can be called

To implement the context tracker properly on arm64,
a function call needs to be made after debugging and
interrupts are turned on, but before the lr is changed
to point to ret_to_user(). If the function call
is made after the lr is changed the function will not
return to the correct place.

For similar reasons, defer the setting of x0 so that
it doesn't need to be saved around the function call
(save far_el1 in x26 temporarily instead).

Acked-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Larry Bassel <larry.bassel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/entry.S