diff mbox series

[7/8] arm64: Remove asmlinkage from updated functions

Message ID 20191003171642.135652-8-james.morse@arm.com (mailing list archive)
State New, archived
Headers show
Series arm64: Convert entry.S synchronous exception handling to C | expand

Commit Message

James Morse Oct. 3, 2019, 5:16 p.m. UTC
Now that the callers of these functions have moved into C, they no longer
need the asmlinkage annotation. Remove it.

Signed-off-by: James Morse <james.morse@arm.com>
---
 arch/arm64/include/asm/exception.h | 36 +++++++++++++-----------------
 arch/arm64/kernel/fpsimd.c         |  6 ++---
 arch/arm64/kernel/syscall.c        |  4 ++--
 arch/arm64/kernel/traps.c          |  8 +++----
 arch/arm64/mm/fault.c              | 16 ++++++-------
 5 files changed, 32 insertions(+), 38 deletions(-)

Comments

Mark Rutland Oct. 4, 2019, 12:58 p.m. UTC | #1
On Thu, Oct 03, 2019 at 06:16:41PM +0100, James Morse wrote:
> Now that the callers of these functions have moved into C, they no longer
> need the asmlinkage annotation. Remove it.
> 
> Signed-off-by: James Morse <james.morse@arm.com>

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  arch/arm64/include/asm/exception.h | 36 +++++++++++++-----------------
>  arch/arm64/kernel/fpsimd.c         |  6 ++---
>  arch/arm64/kernel/syscall.c        |  4 ++--
>  arch/arm64/kernel/traps.c          |  8 +++----
>  arch/arm64/mm/fault.c              | 16 ++++++-------
>  5 files changed, 32 insertions(+), 38 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h
> index e2f87b4ecbfc..c70061d6b253 100644
> --- a/arch/arm64/include/asm/exception.h
> +++ b/arch/arm64/include/asm/exception.h
> @@ -32,26 +32,22 @@ static inline u32 disr_to_esr(u64 disr)
>  }
>  
>  asmlinkage void enter_from_user_mode(void);
> -asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
> -			     struct pt_regs *regs);
> -asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
> -			       struct pt_regs *regs);
> -asmlinkage void do_undefinstr(struct pt_regs *regs);
> +void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
> +void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
> +void do_undefinstr(struct pt_regs *regs);
>  asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr);
> -asmlinkage void do_debug_exception(unsigned long addr, unsigned int esr,
> -				   struct pt_regs *regs);
> -asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs);
> -asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs);
> -asmlinkage void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs);
> -asmlinkage void do_sysinstr(unsigned int esr, struct pt_regs *regs);
> -asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
> -			       struct pt_regs *regs);
> -asmlinkage void bad_el0_sync(struct pt_regs *regs, int reason,
> -			     unsigned int esr);
> -asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs);
> -asmlinkage void el0_svc_handler(struct pt_regs *regs);
> -asmlinkage void el0_svc_compat_handler(struct pt_regs *regs);
> -asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
> -				       struct pt_regs *regs);
> +void do_debug_exception(unsigned long addr, unsigned int esr,
> +			struct pt_regs *regs);
> +void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs);
> +void do_sve_acc(unsigned int esr, struct pt_regs *regs);
> +void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs);
> +void do_sysinstr(unsigned int esr, struct pt_regs *regs);
> +void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
> +void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr);
> +void do_cp15instr(unsigned int esr, struct pt_regs *regs);
> +void el0_svc_handler(struct pt_regs *regs);
> +void el0_svc_compat_handler(struct pt_regs *regs);
> +void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
> +			    struct pt_regs *regs);
>  
>  #endif	/* __ASM_EXCEPTION_H */
> diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
> index 37d3912cfe06..3eb338f14386 100644
> --- a/arch/arm64/kernel/fpsimd.c
> +++ b/arch/arm64/kernel/fpsimd.c
> @@ -920,7 +920,7 @@ void fpsimd_release_task(struct task_struct *dead_task)
>   * would have disabled the SVE access trap for userspace during
>   * ret_to_user, making an SVE access trap impossible in that case.
>   */
> -asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs)
> +void do_sve_acc(unsigned int esr, struct pt_regs *regs)
>  {
>  	/* Even if we chose not to use SVE, the hardware could still trap: */
>  	if (unlikely(!system_supports_sve()) || WARN_ON(is_compat_task())) {
> @@ -947,7 +947,7 @@ asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs)
>  /*
>   * Trapped FP/ASIMD access.
>   */
> -asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
> +void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
>  {
>  	/* TODO: implement lazy context saving/restoring */
>  	WARN_ON(1);
> @@ -956,7 +956,7 @@ asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
>  /*
>   * Raise a SIGFPE for the current process.
>   */
> -asmlinkage void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs)
> +void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs)
>  {
>  	unsigned int si_code = FPE_FLTUNK;
>  
> diff --git a/arch/arm64/kernel/syscall.c b/arch/arm64/kernel/syscall.c
> index 871c739f060a..9a9d98a443fc 100644
> --- a/arch/arm64/kernel/syscall.c
> +++ b/arch/arm64/kernel/syscall.c
> @@ -154,14 +154,14 @@ static inline void sve_user_discard(void)
>  	sve_user_disable();
>  }
>  
> -asmlinkage void el0_svc_handler(struct pt_regs *regs)
> +void el0_svc_handler(struct pt_regs *regs)
>  {
>  	sve_user_discard();
>  	el0_svc_common(regs, regs->regs[8], __NR_syscalls, sys_call_table);
>  }
>  
>  #ifdef CONFIG_COMPAT
> -asmlinkage void el0_svc_compat_handler(struct pt_regs *regs)
> +void el0_svc_compat_handler(struct pt_regs *regs)
>  {
>  	el0_svc_common(regs, regs->regs[7], __NR_compat_syscalls,
>  		       compat_sys_call_table);
> diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
> index ba1a571a7774..54ebe24ef4b1 100644
> --- a/arch/arm64/kernel/traps.c
> +++ b/arch/arm64/kernel/traps.c
> @@ -394,7 +394,7 @@ void arm64_notify_segfault(unsigned long addr)
>  	force_signal_inject(SIGSEGV, code, addr);
>  }
>  
> -asmlinkage void do_undefinstr(struct pt_regs *regs)
> +void do_undefinstr(struct pt_regs *regs)
>  {
>  	/* check for AArch32 breakpoint instructions */
>  	if (!aarch32_break_handler(regs))
> @@ -669,7 +669,7 @@ static const struct sys64_hook cp15_64_hooks[] = {
>  	{},
>  };
>  
> -asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs)
> +void do_cp15instr(unsigned int esr, struct pt_regs *regs)
>  {
>  	const struct sys64_hook *hook, *hook_base;
>  
> @@ -710,7 +710,7 @@ asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs)
>  NOKPROBE_SYMBOL(do_cp15instr);
>  #endif
>  
> -asmlinkage void do_sysinstr(unsigned int esr, struct pt_regs *regs)
> +void do_sysinstr(unsigned int esr, struct pt_regs *regs)
>  {
>  	const struct sys64_hook *hook;
>  
> @@ -797,7 +797,7 @@ asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr)
>   * bad_el0_sync handles unexpected, but potentially recoverable synchronous
>   * exceptions taken from EL0. Unlike bad_mode, this returns.
>   */
> -asmlinkage void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr)
> +void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr)
>  {
>  	void __user *pc = (void __user *)instruction_pointer(regs);
>  
> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
> index ba62098de920..0857c2fc38b9 100644
> --- a/arch/arm64/mm/fault.c
> +++ b/arch/arm64/mm/fault.c
> @@ -724,8 +724,7 @@ static const struct fault_info fault_info[] = {
>  	{ do_bad,		SIGKILL, SI_KERNEL,	"unknown 63"			},
>  };
>  
> -asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
> -			     struct pt_regs *regs)
> +void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
>  {
>  	const struct fault_info *inf = esr_to_fault_info(esr);
>  
> @@ -743,15 +742,15 @@ asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
>  }
>  NOKPROBE_SYMBOL(do_mem_abort);
>  
> -asmlinkage void do_el0_irq_bp_hardening(void)
> +void do_el0_irq_bp_hardening(void)
>  {
>  	/* PC has already been checked in entry.S */
>  	arm64_apply_bp_hardening();
>  }
>  NOKPROBE_SYMBOL(do_el0_irq_bp_hardening);
>  
> -asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
> -				       struct pt_regs *regs)
> +void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
> +			    struct pt_regs *regs)
>  {
>  	/*
>  	 * We've taken an instruction abort from userspace and not yet
> @@ -766,8 +765,7 @@ asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
>  }
>  NOKPROBE_SYMBOL(do_el0_ia_bp_hardening);
>  
> -asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
> -			       struct pt_regs *regs)
> +void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
>  {
>  	if (user_mode(regs)) {
>  		if (!is_ttbr0_addr(instruction_pointer(regs)))
> @@ -887,8 +885,8 @@ static int cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs)
>  #endif /* CONFIG_ARM64_ERRATUM_1463225 */
>  NOKPROBE_SYMBOL(cortex_a76_erratum_1463225_debug_handler);
>  
> -asmlinkage void do_debug_exception(unsigned long addr_if_watchpoint,
> -				   unsigned int esr, struct pt_regs *regs)
> +void do_debug_exception(unsigned long addr_if_watchpoint, unsigned int esr,
> +			struct pt_regs *regs)
>  {
>  	const struct fault_info *inf = esr_to_debug_fault_info(esr);
>  	unsigned long pc = instruction_pointer(regs);
> -- 
> 2.20.1
>
diff mbox series

Patch

diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h
index e2f87b4ecbfc..c70061d6b253 100644
--- a/arch/arm64/include/asm/exception.h
+++ b/arch/arm64/include/asm/exception.h
@@ -32,26 +32,22 @@  static inline u32 disr_to_esr(u64 disr)
 }
 
 asmlinkage void enter_from_user_mode(void);
-asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
-			     struct pt_regs *regs);
-asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
-			       struct pt_regs *regs);
-asmlinkage void do_undefinstr(struct pt_regs *regs);
+void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
+void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
+void do_undefinstr(struct pt_regs *regs);
 asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr);
-asmlinkage void do_debug_exception(unsigned long addr, unsigned int esr,
-				   struct pt_regs *regs);
-asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs);
-asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs);
-asmlinkage void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs);
-asmlinkage void do_sysinstr(unsigned int esr, struct pt_regs *regs);
-asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
-			       struct pt_regs *regs);
-asmlinkage void bad_el0_sync(struct pt_regs *regs, int reason,
-			     unsigned int esr);
-asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs);
-asmlinkage void el0_svc_handler(struct pt_regs *regs);
-asmlinkage void el0_svc_compat_handler(struct pt_regs *regs);
-asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
-				       struct pt_regs *regs);
+void do_debug_exception(unsigned long addr, unsigned int esr,
+			struct pt_regs *regs);
+void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs);
+void do_sve_acc(unsigned int esr, struct pt_regs *regs);
+void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs);
+void do_sysinstr(unsigned int esr, struct pt_regs *regs);
+void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
+void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr);
+void do_cp15instr(unsigned int esr, struct pt_regs *regs);
+void el0_svc_handler(struct pt_regs *regs);
+void el0_svc_compat_handler(struct pt_regs *regs);
+void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
+			    struct pt_regs *regs);
 
 #endif	/* __ASM_EXCEPTION_H */
diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
index 37d3912cfe06..3eb338f14386 100644
--- a/arch/arm64/kernel/fpsimd.c
+++ b/arch/arm64/kernel/fpsimd.c
@@ -920,7 +920,7 @@  void fpsimd_release_task(struct task_struct *dead_task)
  * would have disabled the SVE access trap for userspace during
  * ret_to_user, making an SVE access trap impossible in that case.
  */
-asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs)
+void do_sve_acc(unsigned int esr, struct pt_regs *regs)
 {
 	/* Even if we chose not to use SVE, the hardware could still trap: */
 	if (unlikely(!system_supports_sve()) || WARN_ON(is_compat_task())) {
@@ -947,7 +947,7 @@  asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs)
 /*
  * Trapped FP/ASIMD access.
  */
-asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
+void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
 {
 	/* TODO: implement lazy context saving/restoring */
 	WARN_ON(1);
@@ -956,7 +956,7 @@  asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
 /*
  * Raise a SIGFPE for the current process.
  */
-asmlinkage void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs)
+void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs)
 {
 	unsigned int si_code = FPE_FLTUNK;
 
diff --git a/arch/arm64/kernel/syscall.c b/arch/arm64/kernel/syscall.c
index 871c739f060a..9a9d98a443fc 100644
--- a/arch/arm64/kernel/syscall.c
+++ b/arch/arm64/kernel/syscall.c
@@ -154,14 +154,14 @@  static inline void sve_user_discard(void)
 	sve_user_disable();
 }
 
-asmlinkage void el0_svc_handler(struct pt_regs *regs)
+void el0_svc_handler(struct pt_regs *regs)
 {
 	sve_user_discard();
 	el0_svc_common(regs, regs->regs[8], __NR_syscalls, sys_call_table);
 }
 
 #ifdef CONFIG_COMPAT
-asmlinkage void el0_svc_compat_handler(struct pt_regs *regs)
+void el0_svc_compat_handler(struct pt_regs *regs)
 {
 	el0_svc_common(regs, regs->regs[7], __NR_compat_syscalls,
 		       compat_sys_call_table);
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index ba1a571a7774..54ebe24ef4b1 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -394,7 +394,7 @@  void arm64_notify_segfault(unsigned long addr)
 	force_signal_inject(SIGSEGV, code, addr);
 }
 
-asmlinkage void do_undefinstr(struct pt_regs *regs)
+void do_undefinstr(struct pt_regs *regs)
 {
 	/* check for AArch32 breakpoint instructions */
 	if (!aarch32_break_handler(regs))
@@ -669,7 +669,7 @@  static const struct sys64_hook cp15_64_hooks[] = {
 	{},
 };
 
-asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs)
+void do_cp15instr(unsigned int esr, struct pt_regs *regs)
 {
 	const struct sys64_hook *hook, *hook_base;
 
@@ -710,7 +710,7 @@  asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs)
 NOKPROBE_SYMBOL(do_cp15instr);
 #endif
 
-asmlinkage void do_sysinstr(unsigned int esr, struct pt_regs *regs)
+void do_sysinstr(unsigned int esr, struct pt_regs *regs)
 {
 	const struct sys64_hook *hook;
 
@@ -797,7 +797,7 @@  asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr)
  * bad_el0_sync handles unexpected, but potentially recoverable synchronous
  * exceptions taken from EL0. Unlike bad_mode, this returns.
  */
-asmlinkage void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr)
+void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr)
 {
 	void __user *pc = (void __user *)instruction_pointer(regs);
 
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index ba62098de920..0857c2fc38b9 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -724,8 +724,7 @@  static const struct fault_info fault_info[] = {
 	{ do_bad,		SIGKILL, SI_KERNEL,	"unknown 63"			},
 };
 
-asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
-			     struct pt_regs *regs)
+void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
 {
 	const struct fault_info *inf = esr_to_fault_info(esr);
 
@@ -743,15 +742,15 @@  asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
 }
 NOKPROBE_SYMBOL(do_mem_abort);
 
-asmlinkage void do_el0_irq_bp_hardening(void)
+void do_el0_irq_bp_hardening(void)
 {
 	/* PC has already been checked in entry.S */
 	arm64_apply_bp_hardening();
 }
 NOKPROBE_SYMBOL(do_el0_irq_bp_hardening);
 
-asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
-				       struct pt_regs *regs)
+void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
+			    struct pt_regs *regs)
 {
 	/*
 	 * We've taken an instruction abort from userspace and not yet
@@ -766,8 +765,7 @@  asmlinkage void do_el0_ia_bp_hardening(unsigned long addr,  unsigned int esr,
 }
 NOKPROBE_SYMBOL(do_el0_ia_bp_hardening);
 
-asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr,
-			       struct pt_regs *regs)
+void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
 {
 	if (user_mode(regs)) {
 		if (!is_ttbr0_addr(instruction_pointer(regs)))
@@ -887,8 +885,8 @@  static int cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs)
 #endif /* CONFIG_ARM64_ERRATUM_1463225 */
 NOKPROBE_SYMBOL(cortex_a76_erratum_1463225_debug_handler);
 
-asmlinkage void do_debug_exception(unsigned long addr_if_watchpoint,
-				   unsigned int esr, struct pt_regs *regs)
+void do_debug_exception(unsigned long addr_if_watchpoint, unsigned int esr,
+			struct pt_regs *regs)
 {
 	const struct fault_info *inf = esr_to_debug_fault_info(esr);
 	unsigned long pc = instruction_pointer(regs);