| #include <linux/linkage.h> | |
| .text | |
| .type perf_regs_load,%function | |
| #define STR_REG(r) str x##r, [x0, 8 * r] | |
| #define LDR_REG(r) ldr x##r, [x0, 8 * r] | |
| #define SP (8 * 31) | |
| #define PC (8 * 32) | |
| ENTRY(perf_regs_load) | |
| STR_REG(0) | |
| STR_REG(1) | |
| STR_REG(2) | |
| STR_REG(3) | |
| STR_REG(4) | |
| STR_REG(5) | |
| STR_REG(6) | |
| STR_REG(7) | |
| STR_REG(8) | |
| STR_REG(9) | |
| STR_REG(10) | |
| STR_REG(11) | |
| STR_REG(12) | |
| STR_REG(13) | |
| STR_REG(14) | |
| STR_REG(15) | |
| STR_REG(16) | |
| STR_REG(17) | |
| STR_REG(18) | |
| STR_REG(19) | |
| STR_REG(20) | |
| STR_REG(21) | |
| STR_REG(22) | |
| STR_REG(23) | |
| STR_REG(24) | |
| STR_REG(25) | |
| STR_REG(26) | |
| STR_REG(27) | |
| STR_REG(28) | |
| STR_REG(29) | |
| STR_REG(30) | |
| mov x1, sp | |
| str x1, [x0, #SP] | |
| str x30, [x0, #PC] | |
| LDR_REG(1) | |
| ret | |
| ENDPROC(perf_regs_load) |