diff options
author | Mark Rutland <mark.rutland@arm.com> | 2018-07-11 16:56:45 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-07-12 16:49:47 +0300 |
commit | 3b7142752e4bee153df6db4a76ca104ef0d7c0b4 (patch) | |
tree | 3f51bae1958091a7fe9d395f9c998dc9365b276f /arch/arm64/include/asm/syscall.h | |
parent | f37099b6992a0b818c7b51b899e435f4006a9f90 (diff) | |
download | linux-3b7142752e4bee153df6db4a76ca104ef0d7c0b4.tar.xz |
arm64: convert native/compat syscall entry to C
Now that the syscall invocation logic is in C, we can migrate the rest
of the syscall entry logic over, so that the entry assembly needn't look
at the register values at all.
The SVE reset across syscall logic now unconditionally clears TIF_SVE,
but sve_user_disable() will only write back to CPACR_EL1 when SVE is
actually enabled.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Dave Martin <dave.martin@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/syscall.h')
-rw-r--r-- | arch/arm64/include/asm/syscall.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/syscall.h b/arch/arm64/include/asm/syscall.h index 50841cb1bfa9..b83d0e6980a3 100644 --- a/arch/arm64/include/asm/syscall.h +++ b/arch/arm64/include/asm/syscall.h @@ -26,6 +26,10 @@ typedef long (*syscall_fn_t)(unsigned long, unsigned long, extern const syscall_fn_t sys_call_table[]; +#ifdef CONFIG_COMPAT +extern const syscall_fn_t compat_sys_call_table[]; +#endif + static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs) { |