diff options
author | Mark Rutland <mark.rutland@arm.com> | 2021-05-20 14:50:30 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-05-27 00:45:46 +0300 |
commit | 8e334d729bc4787f728e9e5abc91649f131124ff (patch) | |
tree | 8cb256485a8ddba4bf71c92035b0d56ace971b37 /drivers/platform/surface/aggregator/controller.c | |
parent | 3305e7f74a14cdb19e61af4febb098ad62820d71 (diff) | |
download | linux-8e334d729bc4787f728e9e5abc91649f131124ff.tar.xz |
arm64: smp: unify task and sp setup
Once we enable the MMU, we have to initialize:
* SP_EL0 to point at the active task
* SP to point at the active task's stack
* SCS_SP to point at the active task's shadow stack
For all tasks (including init_task), this information can be derived
from the task's task_struct.
Let's unify __primary_switched and __secondary_switched to consistently
acquire this information from the relevant task_struct. At the same
time, let's fold this together with initializing a task's final frame.
There should be no functional change as a result of this patch.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Suzuki Poulose <suzuki.poulose@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210520115031.18509-6-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/platform/surface/aggregator/controller.c')
0 files changed, 0 insertions, 0 deletions