From: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
To: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, x86@kernel.org
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Subject: [RFC PATCH 2/3]perf/powerpc: update macros and add regs to arch_misc_reg struct
Date: Thu, 5 Nov 2015 02:16:17 +0530 [thread overview]
Message-ID: <1446669978-6366-3-git-send-email-maddy@linux.vnet.ibm.com> (raw)
In-Reply-To: <1446669978-6366-1-git-send-email-maddy@linux.vnet.ibm.com>
Patch updates the arch_misc_regs struct (arch/powerpc/ptrace.h)
with arch/powerpc specific regs (PMU regs). Updates asm/perf_regs.h and
perf_regs.c with corresponding macros to export the arch_misc_reg values.
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Olsa <jolsa@kernel.org>
CC: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
Will really appreciate comments and feedback for the patch.
arch/powerpc/include/uapi/asm/perf_regs.h | 10 ++++++++++
arch/powerpc/include/uapi/asm/ptrace.h | 11 ++++++++++-
arch/powerpc/perf/perf_regs.c | 28 +++++++++++++++++++++++++---
tools/perf/arch/powerpc/include/perf_regs.h | 16 ++++++++++++++++
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/uapi/asm/perf_regs.h b/arch/powerpc/include/uapi/asm/perf_regs.h
index 30fb601bdbb2..2d170734f47d 100644
--- a/arch/powerpc/include/uapi/asm/perf_regs.h
+++ b/arch/powerpc/include/uapi/asm/perf_regs.h
@@ -49,6 +49,16 @@ enum perf_event_powerpc_regs {
PERF_REG_POWERPC_TRAP,
PERF_REG_POWERPC_DAR,
PERF_REG_POWERPC_DSISR,
+ PERF_REG_POWERPC_PMC1,
+ PERF_REG_POWERPC_PMC2,
+ PERF_REG_POWERPC_PMC3,
+ PERF_REG_POWERPC_PMC4,
+ PERF_REG_POWERPC_PMC5,
+ PERF_REG_POWERPC_PMC6,
+ PERF_REG_POWERPC_MMCR0,
+ PERF_REG_POWERPC_MMCR1,
+
PERF_REG_POWERPC_MAX,
+ PERF_REG_PT_REGS_END = PERF_REG_POWERPC_DSISR + 1,
};
#endif /* _ASM_POWERPC_PERF_REGS_H */
diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h
index 0025651ab8bc..5e9b3259ef78 100644
--- a/arch/powerpc/include/uapi/asm/ptrace.h
+++ b/arch/powerpc/include/uapi/asm/ptrace.h
@@ -51,7 +51,16 @@ struct pt_regs {
unsigned long result; /* Result of a system call */
};
-struct arch_misc_regs {};
+struct arch_misc_regs {
+ unsigned long pmc1;
+ unsigned long pmc2;
+ unsigned long pmc3;
+ unsigned long pmc4;
+ unsigned long pmc5;
+ unsigned long pmc6;
+ unsigned long mmcr0;
+ unsigned long mmcr1;
+};
#endif /* __ASSEMBLY__ */
diff --git a/arch/powerpc/perf/perf_regs.c b/arch/powerpc/perf/perf_regs.c
index f7995b46078a..48e479c91fb2 100644
--- a/arch/powerpc/perf/perf_regs.c
+++ b/arch/powerpc/perf/perf_regs.c
@@ -8,8 +8,11 @@
#include <asm/perf_regs.h>
#define PT_REGS_OFFSET(id, r) [id] = offsetof(struct pt_regs, r)
+#define ARCH_REGS_OFFSET(id, r) [id] = offsetof(struct arch_misc_regs, r)
#define REG_RESERVED (~((1ULL << PERF_REG_POWERPC_MAX) - 1))
+#define MAX_ARCH_REG_OFFSET (offsetof(struct arch_misc_regs, mmcr1))
+
static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_GPR0, gpr[0]),
@@ -59,15 +62,34 @@ static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_TRAP, trap),
PT_REGS_OFFSET(PERF_REG_POWERPC_DAR, dar),
PT_REGS_OFFSET(PERF_REG_POWERPC_DSISR, dsisr),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC1, pmc1),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC2, pmc2),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC3, pmc3),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC4, pmc4),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC5, pmc5),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC6, pmc6),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR0, mmcr0),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR1, mmcr1),
};
-u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+static inline unsigned long
+arch_regs_get_register(struct arch_misc_regs *regs, unsigned int offset)
{
- struct pt_regs *regs = p_regs->regs;
+ if (unlikely(offset > MAX_ARCH_REG_OFFSET))
+ return 0;
+ return *(unsigned long *)((unsigned long)regs + offset);
+}
+u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+{
if (WARN_ON_ONCE(idx >= PERF_REG_POWERPC_MAX))
return 0;
- return regs_get_register(regs, pt_regs_offset[idx]);
+
+ if (idx >= PERF_REG_PT_REGS_END)
+ return arch_regs_get_register(p_regs->arch_regs,
+ pt_regs_offset[idx]);
+ else
+ return regs_get_register(p_regs->regs, pt_regs_offset[idx]);
}
int perf_reg_validate(u64 mask)
diff --git a/tools/perf/arch/powerpc/include/perf_regs.h b/tools/perf/arch/powerpc/include/perf_regs.h
index 47307ca19c28..e0d23b274644 100644
--- a/tools/perf/arch/powerpc/include/perf_regs.h
+++ b/tools/perf/arch/powerpc/include/perf_regs.h
@@ -106,6 +106,22 @@ static inline const char *perf_reg_name(int id)
return "dar";
case PERF_REG_POWERPC_DSISR:
return "dsisr";
+ case PERF_REG_POWERPC_PMC1:
+ return "pmc1";
+ case PERF_REG_POWERPC_PMC2:
+ return "pmc2";
+ case PERF_REG_POWERPC_PMC3:
+ return "pmc3";
+ case PERF_REG_POWERPC_PMC4:
+ return "pmc4";
+ case PERF_REG_POWERPC_PMC5:
+ return "pmc5";
+ case PERF_REG_POWERPC_PMC6:
+ return "pmc6";
+ case PERF_REG_POWERPC_MMCR0:
+ return "mmcr0";
+ case PERF_REG_POWERPC_MMCR1:
+ return "mmcr1";
default:
return NULL;
}
--
1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: maddy@linux.vnet.ibm.com (Madhavan Srinivasan)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 2/3]perf/powerpc: update macros and add regs to arch_misc_reg struct
Date: Thu, 5 Nov 2015 02:16:17 +0530 [thread overview]
Message-ID: <1446669978-6366-3-git-send-email-maddy@linux.vnet.ibm.com> (raw)
In-Reply-To: <1446669978-6366-1-git-send-email-maddy@linux.vnet.ibm.com>
Patch updates the arch_misc_regs struct (arch/powerpc/ptrace.h)
with arch/powerpc specific regs (PMU regs). Updates asm/perf_regs.h and
perf_regs.c with corresponding macros to export the arch_misc_reg values.
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Olsa <jolsa@kernel.org>
CC: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
Will really appreciate comments and feedback for the patch.
arch/powerpc/include/uapi/asm/perf_regs.h | 10 ++++++++++
arch/powerpc/include/uapi/asm/ptrace.h | 11 ++++++++++-
arch/powerpc/perf/perf_regs.c | 28 +++++++++++++++++++++++++---
tools/perf/arch/powerpc/include/perf_regs.h | 16 ++++++++++++++++
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/uapi/asm/perf_regs.h b/arch/powerpc/include/uapi/asm/perf_regs.h
index 30fb601bdbb2..2d170734f47d 100644
--- a/arch/powerpc/include/uapi/asm/perf_regs.h
+++ b/arch/powerpc/include/uapi/asm/perf_regs.h
@@ -49,6 +49,16 @@ enum perf_event_powerpc_regs {
PERF_REG_POWERPC_TRAP,
PERF_REG_POWERPC_DAR,
PERF_REG_POWERPC_DSISR,
+ PERF_REG_POWERPC_PMC1,
+ PERF_REG_POWERPC_PMC2,
+ PERF_REG_POWERPC_PMC3,
+ PERF_REG_POWERPC_PMC4,
+ PERF_REG_POWERPC_PMC5,
+ PERF_REG_POWERPC_PMC6,
+ PERF_REG_POWERPC_MMCR0,
+ PERF_REG_POWERPC_MMCR1,
+
PERF_REG_POWERPC_MAX,
+ PERF_REG_PT_REGS_END = PERF_REG_POWERPC_DSISR + 1,
};
#endif /* _ASM_POWERPC_PERF_REGS_H */
diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h
index 0025651ab8bc..5e9b3259ef78 100644
--- a/arch/powerpc/include/uapi/asm/ptrace.h
+++ b/arch/powerpc/include/uapi/asm/ptrace.h
@@ -51,7 +51,16 @@ struct pt_regs {
unsigned long result; /* Result of a system call */
};
-struct arch_misc_regs {};
+struct arch_misc_regs {
+ unsigned long pmc1;
+ unsigned long pmc2;
+ unsigned long pmc3;
+ unsigned long pmc4;
+ unsigned long pmc5;
+ unsigned long pmc6;
+ unsigned long mmcr0;
+ unsigned long mmcr1;
+};
#endif /* __ASSEMBLY__ */
diff --git a/arch/powerpc/perf/perf_regs.c b/arch/powerpc/perf/perf_regs.c
index f7995b46078a..48e479c91fb2 100644
--- a/arch/powerpc/perf/perf_regs.c
+++ b/arch/powerpc/perf/perf_regs.c
@@ -8,8 +8,11 @@
#include <asm/perf_regs.h>
#define PT_REGS_OFFSET(id, r) [id] = offsetof(struct pt_regs, r)
+#define ARCH_REGS_OFFSET(id, r) [id] = offsetof(struct arch_misc_regs, r)
#define REG_RESERVED (~((1ULL << PERF_REG_POWERPC_MAX) - 1))
+#define MAX_ARCH_REG_OFFSET (offsetof(struct arch_misc_regs, mmcr1))
+
static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_GPR0, gpr[0]),
@@ -59,15 +62,34 @@ static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_TRAP, trap),
PT_REGS_OFFSET(PERF_REG_POWERPC_DAR, dar),
PT_REGS_OFFSET(PERF_REG_POWERPC_DSISR, dsisr),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC1, pmc1),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC2, pmc2),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC3, pmc3),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC4, pmc4),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC5, pmc5),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC6, pmc6),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR0, mmcr0),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR1, mmcr1),
};
-u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+static inline unsigned long
+arch_regs_get_register(struct arch_misc_regs *regs, unsigned int offset)
{
- struct pt_regs *regs = p_regs->regs;
+ if (unlikely(offset > MAX_ARCH_REG_OFFSET))
+ return 0;
+ return *(unsigned long *)((unsigned long)regs + offset);
+}
+u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+{
if (WARN_ON_ONCE(idx >= PERF_REG_POWERPC_MAX))
return 0;
- return regs_get_register(regs, pt_regs_offset[idx]);
+
+ if (idx >= PERF_REG_PT_REGS_END)
+ return arch_regs_get_register(p_regs->arch_regs,
+ pt_regs_offset[idx]);
+ else
+ return regs_get_register(p_regs->regs, pt_regs_offset[idx]);
}
int perf_reg_validate(u64 mask)
diff --git a/tools/perf/arch/powerpc/include/perf_regs.h b/tools/perf/arch/powerpc/include/perf_regs.h
index 47307ca19c28..e0d23b274644 100644
--- a/tools/perf/arch/powerpc/include/perf_regs.h
+++ b/tools/perf/arch/powerpc/include/perf_regs.h
@@ -106,6 +106,22 @@ static inline const char *perf_reg_name(int id)
return "dar";
case PERF_REG_POWERPC_DSISR:
return "dsisr";
+ case PERF_REG_POWERPC_PMC1:
+ return "pmc1";
+ case PERF_REG_POWERPC_PMC2:
+ return "pmc2";
+ case PERF_REG_POWERPC_PMC3:
+ return "pmc3";
+ case PERF_REG_POWERPC_PMC4:
+ return "pmc4";
+ case PERF_REG_POWERPC_PMC5:
+ return "pmc5";
+ case PERF_REG_POWERPC_PMC6:
+ return "pmc6";
+ case PERF_REG_POWERPC_MMCR0:
+ return "mmcr0";
+ case PERF_REG_POWERPC_MMCR1:
+ return "mmcr1";
default:
return NULL;
}
--
1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
To: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, x86@kernel.org
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Subject: [RFC PATCH 2/3]perf/powerpc: update macros and add regs to arch_misc_reg struct
Date: Thu, 5 Nov 2015 02:16:17 +0530 [thread overview]
Message-ID: <1446669978-6366-3-git-send-email-maddy@linux.vnet.ibm.com> (raw)
In-Reply-To: <1446669978-6366-1-git-send-email-maddy@linux.vnet.ibm.com>
Patch updates the arch_misc_regs struct (arch/powerpc/ptrace.h)
with arch/powerpc specific regs (PMU regs). Updates asm/perf_regs.h and
perf_regs.c with corresponding macros to export the arch_misc_reg values.
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Olsa <jolsa@kernel.org>
CC: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
Will really appreciate comments and feedback for the patch.
arch/powerpc/include/uapi/asm/perf_regs.h | 10 ++++++++++
arch/powerpc/include/uapi/asm/ptrace.h | 11 ++++++++++-
arch/powerpc/perf/perf_regs.c | 28 +++++++++++++++++++++++++---
tools/perf/arch/powerpc/include/perf_regs.h | 16 ++++++++++++++++
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/uapi/asm/perf_regs.h b/arch/powerpc/include/uapi/asm/perf_regs.h
index 30fb601bdbb2..2d170734f47d 100644
--- a/arch/powerpc/include/uapi/asm/perf_regs.h
+++ b/arch/powerpc/include/uapi/asm/perf_regs.h
@@ -49,6 +49,16 @@ enum perf_event_powerpc_regs {
PERF_REG_POWERPC_TRAP,
PERF_REG_POWERPC_DAR,
PERF_REG_POWERPC_DSISR,
+ PERF_REG_POWERPC_PMC1,
+ PERF_REG_POWERPC_PMC2,
+ PERF_REG_POWERPC_PMC3,
+ PERF_REG_POWERPC_PMC4,
+ PERF_REG_POWERPC_PMC5,
+ PERF_REG_POWERPC_PMC6,
+ PERF_REG_POWERPC_MMCR0,
+ PERF_REG_POWERPC_MMCR1,
+
PERF_REG_POWERPC_MAX,
+ PERF_REG_PT_REGS_END = PERF_REG_POWERPC_DSISR + 1,
};
#endif /* _ASM_POWERPC_PERF_REGS_H */
diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h
index 0025651ab8bc..5e9b3259ef78 100644
--- a/arch/powerpc/include/uapi/asm/ptrace.h
+++ b/arch/powerpc/include/uapi/asm/ptrace.h
@@ -51,7 +51,16 @@ struct pt_regs {
unsigned long result; /* Result of a system call */
};
-struct arch_misc_regs {};
+struct arch_misc_regs {
+ unsigned long pmc1;
+ unsigned long pmc2;
+ unsigned long pmc3;
+ unsigned long pmc4;
+ unsigned long pmc5;
+ unsigned long pmc6;
+ unsigned long mmcr0;
+ unsigned long mmcr1;
+};
#endif /* __ASSEMBLY__ */
diff --git a/arch/powerpc/perf/perf_regs.c b/arch/powerpc/perf/perf_regs.c
index f7995b46078a..48e479c91fb2 100644
--- a/arch/powerpc/perf/perf_regs.c
+++ b/arch/powerpc/perf/perf_regs.c
@@ -8,8 +8,11 @@
#include <asm/perf_regs.h>
#define PT_REGS_OFFSET(id, r) [id] = offsetof(struct pt_regs, r)
+#define ARCH_REGS_OFFSET(id, r) [id] = offsetof(struct arch_misc_regs, r)
#define REG_RESERVED (~((1ULL << PERF_REG_POWERPC_MAX) - 1))
+#define MAX_ARCH_REG_OFFSET (offsetof(struct arch_misc_regs, mmcr1))
+
static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_GPR0, gpr[0]),
@@ -59,15 +62,34 @@ static unsigned int pt_regs_offset[PERF_REG_POWERPC_MAX] = {
PT_REGS_OFFSET(PERF_REG_POWERPC_TRAP, trap),
PT_REGS_OFFSET(PERF_REG_POWERPC_DAR, dar),
PT_REGS_OFFSET(PERF_REG_POWERPC_DSISR, dsisr),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC1, pmc1),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC2, pmc2),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC3, pmc3),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC4, pmc4),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC5, pmc5),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_PMC6, pmc6),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR0, mmcr0),
+ ARCH_REGS_OFFSET(PERF_REG_POWERPC_MMCR1, mmcr1),
};
-u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+static inline unsigned long
+arch_regs_get_register(struct arch_misc_regs *regs, unsigned int offset)
{
- struct pt_regs *regs = p_regs->regs;
+ if (unlikely(offset > MAX_ARCH_REG_OFFSET))
+ return 0;
+ return *(unsigned long *)((unsigned long)regs + offset);
+}
+u64 perf_reg_value(struct perf_regs *p_regs, int idx)
+{
if (WARN_ON_ONCE(idx >= PERF_REG_POWERPC_MAX))
return 0;
- return regs_get_register(regs, pt_regs_offset[idx]);
+
+ if (idx >= PERF_REG_PT_REGS_END)
+ return arch_regs_get_register(p_regs->arch_regs,
+ pt_regs_offset[idx]);
+ else
+ return regs_get_register(p_regs->regs, pt_regs_offset[idx]);
}
int perf_reg_validate(u64 mask)
diff --git a/tools/perf/arch/powerpc/include/perf_regs.h b/tools/perf/arch/powerpc/include/perf_regs.h
index 47307ca19c28..e0d23b274644 100644
--- a/tools/perf/arch/powerpc/include/perf_regs.h
+++ b/tools/perf/arch/powerpc/include/perf_regs.h
@@ -106,6 +106,22 @@ static inline const char *perf_reg_name(int id)
return "dar";
case PERF_REG_POWERPC_DSISR:
return "dsisr";
+ case PERF_REG_POWERPC_PMC1:
+ return "pmc1";
+ case PERF_REG_POWERPC_PMC2:
+ return "pmc2";
+ case PERF_REG_POWERPC_PMC3:
+ return "pmc3";
+ case PERF_REG_POWERPC_PMC4:
+ return "pmc4";
+ case PERF_REG_POWERPC_PMC5:
+ return "pmc5";
+ case PERF_REG_POWERPC_PMC6:
+ return "pmc6";
+ case PERF_REG_POWERPC_MMCR0:
+ return "mmcr0";
+ case PERF_REG_POWERPC_MMCR1:
+ return "mmcr1";
default:
return NULL;
}
--
1.9.1
next prev parent reply other threads:[~2015-11-04 20:46 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 20:46 [RFC PATCH 0/3]perf/core: extend perf_reg and perf_sample_regs_intr Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan
2015-11-04 20:46 ` [RFC PATCH 1/3] perf/core: extend perf_regs to include arch specific regs Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan [this message]
2015-11-04 20:46 ` [RFC PATCH 2/3]perf/powerpc: update macros and add regs to arch_misc_reg struct Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan
2015-11-04 20:46 ` [RFC PATCH 3/3]perf/powerpc: Functions to update arch_misc_regs Madhavan Srinivasan
2015-11-04 20:46 ` Madhavan Srinivasan
2015-11-05 13:07 ` [RFC PATCH 0/3]perf/core: extend perf_reg and perf_sample_regs_intr Peter Zijlstra
2015-11-05 13:07 ` Peter Zijlstra
2015-11-06 2:58 ` Sukadev Bhattiprolu
2015-11-06 2:58 ` Sukadev Bhattiprolu
2015-11-06 7:47 ` Madhavan Srinivasan
2015-11-06 7:47 ` Madhavan Srinivasan
2015-11-06 9:39 ` Michael Ellerman
2015-11-06 9:39 ` Michael Ellerman
2015-11-06 7:27 ` Madhavan Srinivasan
2015-11-06 7:27 ` Madhavan Srinivasan
2015-11-06 9:24 ` Peter Zijlstra
2015-11-06 9:24 ` Peter Zijlstra
2015-11-06 10:04 ` Michael Ellerman
2015-11-06 10:04 ` Michael Ellerman
2015-11-06 10:25 ` Peter Zijlstra
2015-11-06 10:25 ` Peter Zijlstra
2015-11-07 4:29 ` Madhavan Srinivasan
2015-11-07 4:29 ` Madhavan Srinivasan
2015-11-10 0:21 ` Michael Ellerman
2015-11-10 0:21 ` Michael Ellerman
2015-11-07 4:28 ` Madhavan Srinivasan
2015-11-07 4:28 ` Madhavan Srinivasan
2015-11-05 14:42 ` Stephane Eranian
2015-11-05 14:42 ` Stephane Eranian
2015-11-06 7:33 ` Madhavan Srinivasan
2015-11-06 7:33 ` Madhavan Srinivasan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1446669978-6366-3-git-send-email-maddy@linux.vnet.ibm.com \
--to=maddy@linux.vnet.ibm.com \
--cc=acme@kernel.org \
--cc=benh@kernel.crashing.org \
--cc=jolsa@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=peterz@infradead.org \
--cc=sukadev@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.