1 #include <linux/kernel.h> 2 #include <elfutils/libdwfl.h> 3 #include "../../util/unwind-libdw.h" 4 #include "../../util/perf_regs.h" 5 #include "../../util/event.h" 6 #include "dwarf-regs-table.h" 17 perf_reg_value(&val, user_regs, PERF_REG_S390_##r); \ 24 dwarf_regs[0] =
REG(R0);
25 dwarf_regs[1] =
REG(R1);
26 dwarf_regs[2] =
REG(R2);
27 dwarf_regs[3] =
REG(R3);
28 dwarf_regs[4] =
REG(R4);
29 dwarf_regs[5] =
REG(R5);
30 dwarf_regs[6] =
REG(R6);
31 dwarf_regs[7] =
REG(R7);
32 dwarf_regs[8] =
REG(R8);
33 dwarf_regs[9] =
REG(R9);
34 dwarf_regs[10] =
REG(R10);
35 dwarf_regs[11] =
REG(R11);
36 dwarf_regs[12] =
REG(R12);
37 dwarf_regs[13] =
REG(R13);
38 dwarf_regs[14] =
REG(R14);
39 dwarf_regs[15] =
REG(R15);
41 dwarf_regs[16] =
REG(FP0);
42 dwarf_regs[17] =
REG(FP2);
43 dwarf_regs[18] =
REG(FP4);
44 dwarf_regs[19] =
REG(FP6);
45 dwarf_regs[20] =
REG(FP1);
46 dwarf_regs[21] =
REG(FP3);
47 dwarf_regs[22] =
REG(FP5);
48 dwarf_regs[23] =
REG(FP7);
49 dwarf_regs[24] =
REG(FP8);
50 dwarf_regs[25] =
REG(FP10);
51 dwarf_regs[26] =
REG(FP12);
52 dwarf_regs[27] =
REG(FP14);
53 dwarf_regs[28] =
REG(FP9);
54 dwarf_regs[29] =
REG(FP11);
55 dwarf_regs[30] =
REG(FP13);
56 dwarf_regs[31] =
REG(FP15);
58 dwarf_regs[64] =
REG(MASK);
59 dwarf_regs[65] =
REG(PC);
61 dwfl_thread_state_register_pc(thread, dwarf_regs[65]);
62 return dwfl_thread_state_registers(thread, 0, 32, dwarf_regs);
static const char *const s390_dwarf_regs[]
struct regs_dump user_regs
bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg)
struct perf_sample * sample