diff options
author | Mark Rutland <mark.rutland@arm.com> | 2018-07-11 14:56:46 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-07-12 14:49:47 +0100 |
commit | d9be03256d745360a859b11091e5a43f7828382b (patch) | |
tree | 79002ebd5411c6bcf9110ebef6f6b89dfce87f3d /arch/arm64/kernel/entry.S | |
parent | 3b7142752e4bee153df6db4a76ca104ef0d7c0b4 (diff) | |
download | kernel_replicant_linux-d9be03256d745360a859b11091e5a43f7828382b.tar.gz kernel_replicant_linux-d9be03256d745360a859b11091e5a43f7828382b.tar.bz2 kernel_replicant_linux-d9be03256d745360a859b11091e5a43f7828382b.zip |
arm64: don't restore GPRs when context tracking
Now that syscalls are invoked with pt_regs, we no longer need to ensure
that the argument regsiters are live in the entry assembly, and it's
fine to not restore them after context_tracking_user_exit() has
corrupted them.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r-- | arch/arm64/kernel/entry.S | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 156c4e3fd1a4..c41b84d06644 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -41,19 +41,9 @@ * Context tracking subsystem. Used to instrument transitions * between user and kernel mode. */ - .macro ct_user_exit, syscall = 0 + .macro ct_user_exit #ifdef CONFIG_CONTEXT_TRACKING bl context_tracking_user_exit - .if \syscall == 1 - /* - * Save/restore needed during syscalls. Restore syscall arguments from - * the values already saved on stack during kernel_entry. - */ - ldp x0, x1, [sp] - ldp x2, x3, [sp, #S_X2] - ldp x4, x5, [sp, #S_X4] - ldp x6, x7, [sp, #S_X6] - .endif #endif .endm |