]> git.hungrycats.org Git - linux/commitdiff
x86: Add new MSRs and MSR bits used for Intel Skylake PMU support
authorAndi Kleen <ak@linux.intel.com>
Sun, 10 May 2015 19:22:41 +0000 (12:22 -0700)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 18 Apr 2016 12:49:24 +0000 (08:49 -0400)
[ Upstream commit b83ff1c8617aac03a1cf807aafa848fe0f0908f2 ]

Add new MSRs (LBR_INFO) and some new MSR bits used by the Intel Skylake
PMU driver.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: eranian@google.com
Link: http://lkml.kernel.org/r/1431285767-27027-4-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/x86/include/asm/perf_event.h
arch/x86/include/uapi/asm/msr-index.h

index 8dfc9fd094a3b3fea4912da838d2114766017295..f2d82d3cca08ef2fefca8f4925d9cf62d3125b24 100644 (file)
@@ -159,6 +159,13 @@ struct x86_pmu_capability {
  */
 #define INTEL_PMC_IDX_FIXED_BTS                                (INTEL_PMC_IDX_FIXED + 16)
 
+#define GLOBAL_STATUS_COND_CHG                         BIT_ULL(63)
+#define GLOBAL_STATUS_BUFFER_OVF                       BIT_ULL(62)
+#define GLOBAL_STATUS_UNC_OVF                          BIT_ULL(61)
+#define GLOBAL_STATUS_ASIF                             BIT_ULL(60)
+#define GLOBAL_STATUS_COUNTERS_FROZEN                  BIT_ULL(59)
+#define GLOBAL_STATUS_LBRS_FROZEN                      BIT_ULL(58)
+
 /*
  * IBS cpuid feature detection
  */
index e21331ce368fc60a4ae7fd727448a4ca30d7bdf2..177889cd050577897807215e34027681d8ba1553 100644 (file)
 #define MSR_LBR_CORE_FROM              0x00000040
 #define MSR_LBR_CORE_TO                        0x00000060
 
+#define MSR_LBR_INFO_0                 0x00000dc0 /* ... 0xddf for _31 */
+#define LBR_INFO_MISPRED               BIT_ULL(63)
+#define LBR_INFO_IN_TX                 BIT_ULL(62)
+#define LBR_INFO_ABORT                 BIT_ULL(61)
+#define LBR_INFO_CYCLES                        0xffff
+
 #define MSR_IA32_PEBS_ENABLE           0x000003f1
 #define MSR_IA32_DS_AREA               0x00000600
 #define MSR_IA32_PERF_CAPABILITIES     0x00000345