]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sparc64: perf: Use UREG_FP rather than UREG_I6
authorDavid Ahern <david.ahern@oracle.com>
Mon, 15 Jun 2015 20:15:46 +0000 (16:15 -0400)
committerAllen Pais <allen.pais@oracle.com>
Wed, 9 Sep 2015 19:00:23 +0000 (00:30 +0530)
perf walks userspace callchains by following frame pointers. Use the
UREG_FP macro to make it clearer that the %fp is being used.

Signed-off-by: David Ahern <david.ahern@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 2d89cd8625c4af01a2683b18c3c8194cc3b3067c)
(cherry picked from commit 96746184672da481e38be6c30967538127bb9e33)

arch/sparc/kernel/perf_event.c

index a665e3f8c6c61610c7037e5ec251d06273dfccb6..689db65f85294a95051d08e4f7846151ccc002de 100644 (file)
@@ -1756,7 +1756,7 @@ static void perf_callchain_user_64(struct perf_callchain_entry *entry,
 {
        unsigned long ufp;
 
-       ufp = regs->u_regs[UREG_I6] + STACK_BIAS;
+       ufp = regs->u_regs[UREG_FP] + STACK_BIAS;
        do {
                struct sparc_stackf __user *usf;
                struct sparc_stackf sf;
@@ -1780,7 +1780,7 @@ static void perf_callchain_user_32(struct perf_callchain_entry *entry,
 {
        unsigned long ufp;
 
-       ufp = regs->u_regs[UREG_I6] & 0xffffffffUL;
+       ufp = regs->u_regs[UREG_FP] & 0xffffffffUL;
        do {
                unsigned long pc;