+#define MSR_IA32_LBR_SELECT 0x1c8
+#define LBR_SELECT_CPL_EQ_0 (1ULL) /* R/W When set, do not capture branches ending in ring 0 */
+#define LBR_SELECT_CPL_NEQ_0 (1ULL << 1) /* R/W When set, do not capture branches ending in ring >0 */
+#define LBR_SELECT_JCC (1ULL << 2) /* R/W When set, do not capture conditional branches */
+#define LBR_SELECT_NEAR_REL_CALL (1ULL << 3) /* R/W When set, do not capture near relative calls */
+#define LBR_SELECT_NEAR_IND_CALL (1ULL << 4) /* R/W When set, do not capture near indirect calls */
+#define LBR_SELECT_NEAR_RET (1ULL << 5) /* R/W When set, do not capture near returns */
+#define LBR_SELECT_NEAR_IND_JMP (1ULL << 6) /* R/W When set, do not capture near indirect jumps except near indirect calls and near returns */
+#define LBR_SELECT_NEAR_REL_JMP (1ULL << 7) /* R/W When set, do not capture near relative jumps except near relative calls. */
+#define LBR_SELECT_FAR_BRANCH (1ULL << 8) /* R/W When set, do not capture far branches */
+#define LBR_SELECT_HSW_EN_CALLSTACK1 (1ULL << 9) /* Enable LBR stack to use LIFO filtering to capture Call stack profile */
+
+#define MSR_IA32_LASTBRANCH_TOS 0x1c9
+
+/* LBR INFO MSR fields (SKL and later) */
+/* Same fields can be used for HSW in the FROM_x LBR MSRs */
+#define MSR_IA32_LBRINFO_TSX_ABORT (1ULL << 61)
+#define MSR_IA32_LBRINFO_IN_TSX (1ULL << 62)
+#define MSR_IA32_LBRINFO_MISPREDICT (1ULL << 63)
+#define MSR_IA32_LBRINFO_CYCLECNT_MASK (0xFFFFULL)
+