arm64: entry: cleanup sp_el0 manipulation
authorMark Rutland <mark.rutland@arm.com>
Thu, 16 Jan 2020 18:35:48 +0000 (18:35 +0000)
committerWill Deacon <will@kernel.org>
Fri, 17 Jan 2020 13:22:14 +0000 (13:22 +0000)
commit3e3934176a4f9d479dea5cdd2fe6dd560f0ca0cf
tree226179cf9042e53587e0d324c374ed9cbadd7375
parent7a2c094464e39a54f5b9228cd78208cd43872bbd
arm64: entry: cleanup sp_el0 manipulation

The kernel stashes the current task struct in sp_el0 so that this can be
acquired consistently/cheaply when required. When we take an exception
from EL0 we have to:

1) stash the original sp_el0 value
2) find the current task
3) update sp_el0 with the current task pointer

Currently steps #1 and #2 occur in one place, and step #3 a while later.
As the value of sp_el0 is immaterial between these points, let's move
them together to make the code clearer and minimize ifdeffery. This
necessitates moving the comment for MDSCR_EL1.SS.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/entry.S