Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #include <linux/linkage.h>
0003 
0004 .text
0005 .type perf_regs_load,%function
0006 #define STR_REG(r)  str x##r, [x0, 8 * r]
0007 #define LDR_REG(r)  ldr x##r, [x0, 8 * r]
0008 #define SP  (8 * 31)
0009 #define PC  (8 * 32)
0010 SYM_FUNC_START(perf_regs_load)
0011     STR_REG(0)
0012     STR_REG(1)
0013     STR_REG(2)
0014     STR_REG(3)
0015     STR_REG(4)
0016     STR_REG(5)
0017     STR_REG(6)
0018     STR_REG(7)
0019     STR_REG(8)
0020     STR_REG(9)
0021     STR_REG(10)
0022     STR_REG(11)
0023     STR_REG(12)
0024     STR_REG(13)
0025     STR_REG(14)
0026     STR_REG(15)
0027     STR_REG(16)
0028     STR_REG(17)
0029     STR_REG(18)
0030     STR_REG(19)
0031     STR_REG(20)
0032     STR_REG(21)
0033     STR_REG(22)
0034     STR_REG(23)
0035     STR_REG(24)
0036     STR_REG(25)
0037     STR_REG(26)
0038     STR_REG(27)
0039     STR_REG(28)
0040     STR_REG(29)
0041     STR_REG(30)
0042     mov x1, sp
0043     str x1, [x0, #SP]
0044     str x30, [x0, #PC]
0045     LDR_REG(1)
0046     ret
0047 SYM_FUNC_END(perf_regs_load)