root/tools/perf/arch/arm64/tests/regs_load.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #include <linux/linkage.h>
   3 
   4 .text
   5 .type perf_regs_load,%function
   6 #define STR_REG(r)      str x##r, [x0, 8 * r]
   7 #define LDR_REG(r)      ldr x##r, [x0, 8 * r]
   8 #define SP      (8 * 31)
   9 #define PC      (8 * 32)
  10 ENTRY(perf_regs_load)
  11         STR_REG(0)
  12         STR_REG(1)
  13         STR_REG(2)
  14         STR_REG(3)
  15         STR_REG(4)
  16         STR_REG(5)
  17         STR_REG(6)
  18         STR_REG(7)
  19         STR_REG(8)
  20         STR_REG(9)
  21         STR_REG(10)
  22         STR_REG(11)
  23         STR_REG(12)
  24         STR_REG(13)
  25         STR_REG(14)
  26         STR_REG(15)
  27         STR_REG(16)
  28         STR_REG(17)
  29         STR_REG(18)
  30         STR_REG(19)
  31         STR_REG(20)
  32         STR_REG(21)
  33         STR_REG(22)
  34         STR_REG(23)
  35         STR_REG(24)
  36         STR_REG(25)
  37         STR_REG(26)
  38         STR_REG(27)
  39         STR_REG(28)
  40         STR_REG(29)
  41         STR_REG(30)
  42         mov x1, sp
  43         str x1, [x0, #SP]
  44         str x30, [x0, #PC]
  45         LDR_REG(1)
  46         ret
  47 ENDPROC(perf_regs_load)

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