aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/trace/ftrace_64_mprofile.S20
1 files changed, 12 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
index 7c933a99f5d5..fa0921410fa4 100644
--- a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
+++ b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
@@ -45,10 +45,14 @@ _GLOBAL(ftrace_caller)
45 stdu r1,-SWITCH_FRAME_SIZE(r1) 45 stdu r1,-SWITCH_FRAME_SIZE(r1)
46 46
47 /* Save all gprs to pt_regs */ 47 /* Save all gprs to pt_regs */
48 SAVE_8GPRS(0,r1) 48 SAVE_GPR(0, r1)
49 SAVE_8GPRS(8,r1) 49 SAVE_10GPRS(2, r1)
50 SAVE_8GPRS(16,r1) 50 SAVE_10GPRS(12, r1)
51 SAVE_8GPRS(24,r1) 51 SAVE_10GPRS(22, r1)
52
53 /* Save previous stack pointer (r1) */
54 addi r8, r1, SWITCH_FRAME_SIZE
55 std r8, GPR1(r1)
52 56
53 /* Load special regs for save below */ 57 /* Load special regs for save below */
54 mfmsr r8 58 mfmsr r8
@@ -103,10 +107,10 @@ ftrace_call:
103#endif 107#endif
104 108
105 /* Restore gprs */ 109 /* Restore gprs */
106 REST_8GPRS(0,r1) 110 REST_GPR(0,r1)
107 REST_8GPRS(8,r1) 111 REST_10GPRS(2,r1)
108 REST_8GPRS(16,r1) 112 REST_10GPRS(12,r1)
109 REST_8GPRS(24,r1) 113 REST_10GPRS(22,r1)
110 114
111 /* Restore possibly modified LR */ 115 /* Restore possibly modified LR */
112 ld r0, _LINK(r1) 116 ld r0, _LINK(r1)