Commit afa7c0e5 authored by James Morse's avatar James Morse Committed by Catalin Marinas

arm64: Remove asmlinkage from updated functions

Now that the callers of these functions have moved into C, they no longer
need the asmlinkage annotation. Remove it.
Signed-off-by: default avatarJames Morse <james.morse@arm.com>
Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 582f9583
...@@ -32,26 +32,22 @@ static inline u32 disr_to_esr(u64 disr) ...@@ -32,26 +32,22 @@ static inline u32 disr_to_esr(u64 disr)
} }
asmlinkage void enter_from_user_mode(void); asmlinkage void enter_from_user_mode(void);
asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr, void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
struct pt_regs *regs); void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr, void do_undefinstr(struct pt_regs *regs);
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 bad_mode(struct pt_regs *regs, int reason, unsigned int esr);
asmlinkage void do_debug_exception(unsigned long addr_if_watchpoint, void do_debug_exception(unsigned long addr_if_watchpoint, unsigned int esr,
unsigned int esr, struct pt_regs *regs); struct pt_regs *regs);
asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs); void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs);
asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs); void do_sve_acc(unsigned int esr, struct pt_regs *regs);
asmlinkage void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs); void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs);
asmlinkage void do_sysinstr(unsigned int esr, struct pt_regs *regs); void do_sysinstr(unsigned int esr, struct pt_regs *regs);
asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr, void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs);
struct pt_regs *regs); void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr);
asmlinkage void bad_el0_sync(struct pt_regs *regs, int reason, void do_cp15instr(unsigned int esr, struct pt_regs *regs);
unsigned int esr); void el0_svc_handler(struct pt_regs *regs);
asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs); void el0_svc_compat_handler(struct pt_regs *regs);
asmlinkage void el0_svc_handler(struct pt_regs *regs); void do_el0_ia_bp_hardening(unsigned long addr, unsigned int esr,
asmlinkage void el0_svc_compat_handler(struct pt_regs *regs); 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 */ #endif /* __ASM_EXCEPTION_H */
...@@ -920,7 +920,7 @@ void fpsimd_release_task(struct task_struct *dead_task) ...@@ -920,7 +920,7 @@ void fpsimd_release_task(struct task_struct *dead_task)
* would have disabled the SVE access trap for userspace during * would have disabled the SVE access trap for userspace during
* ret_to_user, making an SVE access trap impossible in that case. * 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: */ /* Even if we chose not to use SVE, the hardware could still trap: */
if (unlikely(!system_supports_sve()) || WARN_ON(is_compat_task())) { 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) ...@@ -947,7 +947,7 @@ asmlinkage void do_sve_acc(unsigned int esr, struct pt_regs *regs)
/* /*
* Trapped FP/ASIMD access. * 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 */ /* TODO: implement lazy context saving/restoring */
WARN_ON(1); WARN_ON(1);
...@@ -956,7 +956,7 @@ asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs) ...@@ -956,7 +956,7 @@ asmlinkage void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs)
/* /*
* Raise a SIGFPE for the current process. * 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; unsigned int si_code = FPE_FLTUNK;
......
...@@ -154,14 +154,14 @@ static inline void sve_user_discard(void) ...@@ -154,14 +154,14 @@ static inline void sve_user_discard(void)
sve_user_disable(); sve_user_disable();
} }
asmlinkage void el0_svc_handler(struct pt_regs *regs) void el0_svc_handler(struct pt_regs *regs)
{ {
sve_user_discard(); sve_user_discard();
el0_svc_common(regs, regs->regs[8], __NR_syscalls, sys_call_table); el0_svc_common(regs, regs->regs[8], __NR_syscalls, sys_call_table);
} }
#ifdef CONFIG_COMPAT #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, el0_svc_common(regs, regs->regs[7], __NR_compat_syscalls,
compat_sys_call_table); compat_sys_call_table);
......
...@@ -394,7 +394,7 @@ void arm64_notify_segfault(unsigned long addr) ...@@ -394,7 +394,7 @@ void arm64_notify_segfault(unsigned long addr)
force_signal_inject(SIGSEGV, code, 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 */ /* check for AArch32 breakpoint instructions */
if (!aarch32_break_handler(regs)) if (!aarch32_break_handler(regs))
...@@ -669,7 +669,7 @@ static const struct sys64_hook cp15_64_hooks[] = { ...@@ -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; const struct sys64_hook *hook, *hook_base;
...@@ -710,7 +710,7 @@ asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs) ...@@ -710,7 +710,7 @@ asmlinkage void do_cp15instr(unsigned int esr, struct pt_regs *regs)
NOKPROBE_SYMBOL(do_cp15instr); NOKPROBE_SYMBOL(do_cp15instr);
#endif #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; const struct sys64_hook *hook;
...@@ -797,7 +797,7 @@ asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr) ...@@ -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 * bad_el0_sync handles unexpected, but potentially recoverable synchronous
* exceptions taken from EL0. Unlike bad_mode, this returns. * 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); void __user *pc = (void __user *)instruction_pointer(regs);
......
...@@ -733,8 +733,7 @@ static const struct fault_info fault_info[] = { ...@@ -733,8 +733,7 @@ static const struct fault_info fault_info[] = {
{ do_bad, SIGKILL, SI_KERNEL, "unknown 63" }, { do_bad, SIGKILL, SI_KERNEL, "unknown 63" },
}; };
asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr, void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
struct pt_regs *regs)
{ {
const struct fault_info *inf = esr_to_fault_info(esr); const struct fault_info *inf = esr_to_fault_info(esr);
...@@ -752,15 +751,15 @@ asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr, ...@@ -752,15 +751,15 @@ asmlinkage void do_mem_abort(unsigned long addr, unsigned int esr,
} }
NOKPROBE_SYMBOL(do_mem_abort); 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 */ /* PC has already been checked in entry.S */
arm64_apply_bp_hardening(); arm64_apply_bp_hardening();
} }
NOKPROBE_SYMBOL(do_el0_irq_bp_hardening); NOKPROBE_SYMBOL(do_el0_irq_bp_hardening);
asmlinkage void do_el0_ia_bp_hardening(unsigned long addr, unsigned int esr, void do_el0_ia_bp_hardening(unsigned long addr, unsigned int esr,
struct pt_regs *regs) struct pt_regs *regs)
{ {
/* /*
* We've taken an instruction abort from userspace and not yet * We've taken an instruction abort from userspace and not yet
...@@ -775,8 +774,7 @@ asmlinkage void do_el0_ia_bp_hardening(unsigned long addr, unsigned int esr, ...@@ -775,8 +774,7 @@ asmlinkage void do_el0_ia_bp_hardening(unsigned long addr, unsigned int esr,
} }
NOKPROBE_SYMBOL(do_el0_ia_bp_hardening); NOKPROBE_SYMBOL(do_el0_ia_bp_hardening);
asmlinkage void do_sp_pc_abort(unsigned long addr, unsigned int esr, void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs)
struct pt_regs *regs)
{ {
if (user_mode(regs)) { if (user_mode(regs)) {
if (!is_ttbr0_addr(instruction_pointer(regs))) if (!is_ttbr0_addr(instruction_pointer(regs)))
...@@ -896,8 +894,8 @@ static int cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs) ...@@ -896,8 +894,8 @@ static int cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs)
#endif /* CONFIG_ARM64_ERRATUM_1463225 */ #endif /* CONFIG_ARM64_ERRATUM_1463225 */
NOKPROBE_SYMBOL(cortex_a76_erratum_1463225_debug_handler); NOKPROBE_SYMBOL(cortex_a76_erratum_1463225_debug_handler);
asmlinkage void do_debug_exception(unsigned long addr_if_watchpoint, void do_debug_exception(unsigned long addr_if_watchpoint, unsigned int esr,
unsigned int esr, struct pt_regs *regs) struct pt_regs *regs)
{ {
const struct fault_info *inf = esr_to_debug_fault_info(esr); const struct fault_info *inf = esr_to_debug_fault_info(esr);
unsigned long pc = instruction_pointer(regs); unsigned long pc = instruction_pointer(regs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment