root/arch/arm64/kernel/vdso32/sigreturn.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * This file provides both A32 and T32 versions, in accordance with the
   4  * arm sigreturn code.
   5  *
   6  * Copyright (C) 2018 ARM Limited
   7  */
   8 
   9 #include <linux/linkage.h>
  10 #include <asm/asm-offsets.h>
  11 #include <asm/unistd.h>
  12 
  13 #define ARM_ENTRY(name)         \
  14         ENTRY(name)
  15 
  16 #define ARM_ENDPROC(name)       \
  17         .type name, %function;  \
  18         END(name)
  19 
  20         .text
  21 
  22         .arm
  23         .fnstart
  24         .save {r0-r15}
  25         .pad #COMPAT_SIGFRAME_REGS_OFFSET
  26         nop
  27 ARM_ENTRY(__kernel_sigreturn_arm)
  28         mov r7, #__NR_compat_sigreturn
  29         svc #0
  30         .fnend
  31 ARM_ENDPROC(__kernel_sigreturn_arm)
  32 
  33         .fnstart
  34         .save {r0-r15}
  35         .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET
  36         nop
  37 ARM_ENTRY(__kernel_rt_sigreturn_arm)
  38         mov r7, #__NR_compat_rt_sigreturn
  39         svc #0
  40         .fnend
  41 ARM_ENDPROC(__kernel_rt_sigreturn_arm)
  42 
  43         .thumb
  44         .fnstart
  45         .save {r0-r15}
  46         .pad #COMPAT_SIGFRAME_REGS_OFFSET
  47         nop
  48 ARM_ENTRY(__kernel_sigreturn_thumb)
  49         mov r7, #__NR_compat_sigreturn
  50         svc #0
  51         .fnend
  52 ARM_ENDPROC(__kernel_sigreturn_thumb)
  53 
  54         .fnstart
  55         .save {r0-r15}
  56         .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET
  57         nop
  58 ARM_ENTRY(__kernel_rt_sigreturn_thumb)
  59         mov r7, #__NR_compat_rt_sigreturn
  60         svc #0
  61         .fnend
  62 ARM_ENDPROC(__kernel_rt_sigreturn_thumb)

/* [<][>][^][v][top][bottom][index][help] */