diff mbox series

[3/8] arm64: Add prototypes for functions called by entry.S

Message ID 20191003171642.135652-4-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
Functions that are only called by assembly don't always have a
C header file prototype.

Add the prototypes before moving the assembly callers to C.

Signed-off-by: James Morse <james.morse@arm.com>
---
 arch/arm64/include/asm/exception.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Mark Rutland Oct. 4, 2019, 10:22 a.m. UTC | #1
On Thu, Oct 03, 2019 at 06:16:37PM +0100, James Morse wrote:
> Functions that are only called by assembly don't always have a
> C header file prototype.
> 
> Add the prototypes before moving the assembly callers to C.
> 
> Signed-off-by: James Morse <james.morse@arm.com>
> ---
>  arch/arm64/include/asm/exception.h | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h
> index b0b3ba56e919..8bb3fe2d71a8 100644
> --- a/arch/arm64/include/asm/exception.h
> +++ b/arch/arm64/include/asm/exception.h
> @@ -31,5 +31,26 @@ 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);
> +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);

Trivial: potentially s/addr/addr_if_watchpoint/, since that got renamed
recently.

> +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);

Otherwise those all look right, so either way:

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

Mark.

>  
>  #endif	/* __ASM_EXCEPTION_H */
> -- 
> 2.20.1
>
diff mbox series

Patch

diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h
index b0b3ba56e919..8bb3fe2d71a8 100644
--- a/arch/arm64/include/asm/exception.h
+++ b/arch/arm64/include/asm/exception.h
@@ -31,5 +31,26 @@  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);
+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);
 
 #endif	/* __ASM_EXCEPTION_H */