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) 10SYM_FUNC_START(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 47SYM_FUNC_END(perf_regs_load) 48