/* SPDX-License-Identifier: GPL-2.0 */ /* * This file provides both A32 and T32 versions, in accordance with the * arm sigreturn code. * * Copyright (C) 2018 ARM Limited */ #include <linux/linkage.h> #include <asm/asm-offsets.h> #include <asm/unistd.h> #define ARM_ENTRY(name) \ ENTRY(name) #define ARM_ENDPROC(name) \ .type name, %function; \ END(name) .text .arm .fnstart .save {r0-r15} .pad #COMPAT_SIGFRAME_REGS_OFFSET nop ARM_ENTRY(__kernel_sigreturn_arm) mov r7, #__NR_compat_sigreturn svc #0 .fnend ARM_ENDPROC(__kernel_sigreturn_arm) .fnstart .save {r0-r15} .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET nop ARM_ENTRY(__kernel_rt_sigreturn_arm) mov r7, #__NR_compat_rt_sigreturn svc #0 .fnend ARM_ENDPROC(__kernel_rt_sigreturn_arm) .thumb .fnstart .save {r0-r15} .pad #COMPAT_SIGFRAME_REGS_OFFSET nop ARM_ENTRY(__kernel_sigreturn_thumb) mov r7, #__NR_compat_sigreturn svc #0 .fnend ARM_ENDPROC(__kernel_sigreturn_thumb) .fnstart .save {r0-r15} .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET nop ARM_ENTRY(__kernel_rt_sigreturn_thumb) mov r7, #__NR_compat_rt_sigreturn svc #0 .fnend ARM_ENDPROC(__kernel_rt_sigreturn_thumb) |