]> 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)
commita9d4a099a25def6cb471529d4c947283fb05cd42
tree02a4aee7b9b8787c6f160fb4b622328bcf149b65
parent7088ce4af1f6a5c6283b326eae0edd07a3a2d8d7
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