powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs
The logic to choose whether to use the SIAR or get the information out of pt_regs is going to get more complicated, so do it once in perf_read_regs. We overload regs->result which is gross but we are already doing it with regs->dsisr. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
68b30bb9f0
commit
75382aa72f
@@ -26,8 +26,13 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
/*
|
||||
* Overload regs->result to specify whether we should use the MSR (result
|
||||
* is zero) or the SIAR (result is non zero).
|
||||
*/
|
||||
#define perf_arch_fetch_caller_regs(regs, __ip) \
|
||||
do { \
|
||||
(regs)->result = 0; \
|
||||
(regs)->nip = __ip; \
|
||||
(regs)->gpr[1] = *(unsigned long *)__get_SP(); \
|
||||
asm volatile("mfmsr %0" : "=r" ((regs)->msr)); \
|
||||
|
Reference in New Issue
Block a user