arm64: entry: Free up another register on kpti's tramp_exit path
authorJames Morse <james.morse@arm.com>
Tue, 23 Nov 2021 18:41:43 +0000 (18:41 +0000)
committerJames Morse <james.morse@arm.com>
Tue, 15 Feb 2022 17:39:05 +0000 (17:39 +0000)
commit03aff3a77a58b5b52a77e00537a42090ad57b80b
treee0e0c580eb4393dc618e01ebd1060e02db04d865
parentd739da1694a0eaef0358a42b76904b611539b77b
arm64: entry: Free up another register on kpti's tramp_exit path

Kpti stashes x30 in far_el1 while it uses x30 for all its work.

Making the vectors a per-cpu data structure will require a second
register.

Allow tramp_exit two registers before it unmaps the kernel, by
leaving x30 on the stack, and stashing x29 in far_el1.

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
arch/arm64/kernel/entry.S