summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/syscall.h
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2018-07-11 14:56:45 +0100
committerWill Deacon <will.deacon@arm.com>2018-07-12 14:49:47 +0100
commit3b7142752e4bee153df6db4a76ca104ef0d7c0b4 (patch)
tree3f51bae1958091a7fe9d395f9c998dc9365b276f /arch/arm64/include/asm/syscall.h
parentf37099b6992a0b818c7b51b899e435f4006a9f90 (diff)
downloadlinux-3b7142752e4bee153df6db4a76ca104ef0d7c0b4.tar.bz2
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.h4
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)
{