msr-trace.h (1387B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#undef TRACE_SYSTEM 3#define TRACE_SYSTEM msr 4 5#undef TRACE_INCLUDE_FILE 6#define TRACE_INCLUDE_FILE msr-trace 7 8#undef TRACE_INCLUDE_PATH 9#define TRACE_INCLUDE_PATH asm/ 10 11#if !defined(_TRACE_MSR_H) || defined(TRACE_HEADER_MULTI_READ) 12#define _TRACE_MSR_H 13 14#include <linux/tracepoint.h> 15 16/* 17 * Tracing for x86 model specific registers. Directly maps to the 18 * RDMSR/WRMSR instructions. 19 */ 20 21DECLARE_EVENT_CLASS(msr_trace_class, 22 TP_PROTO(unsigned msr, u64 val, int failed), 23 TP_ARGS(msr, val, failed), 24 TP_STRUCT__entry( 25 __field( unsigned, msr ) 26 __field( u64, val ) 27 __field( int, failed ) 28 ), 29 TP_fast_assign( 30 __entry->msr = msr; 31 __entry->val = val; 32 __entry->failed = failed; 33 ), 34 TP_printk("%x, value %llx%s", 35 __entry->msr, 36 __entry->val, 37 __entry->failed ? " #GP" : "") 38); 39 40DEFINE_EVENT(msr_trace_class, read_msr, 41 TP_PROTO(unsigned msr, u64 val, int failed), 42 TP_ARGS(msr, val, failed) 43); 44 45DEFINE_EVENT(msr_trace_class, write_msr, 46 TP_PROTO(unsigned msr, u64 val, int failed), 47 TP_ARGS(msr, val, failed) 48); 49 50DEFINE_EVENT(msr_trace_class, rdpmc, 51 TP_PROTO(unsigned msr, u64 val, int failed), 52 TP_ARGS(msr, val, failed) 53); 54 55#endif /* _TRACE_MSR_H */ 56 57/* This part must be outside protection */ 58#include <trace/define_trace.h>