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 |
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 --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 */
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(+)