mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
58 lines
1.4 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#undef TRACE_SYSTEM |
|
#define TRACE_SYSTEM msr |
|
|
|
#undef TRACE_INCLUDE_FILE |
|
#define TRACE_INCLUDE_FILE msr-trace |
|
|
|
#undef TRACE_INCLUDE_PATH |
|
#define TRACE_INCLUDE_PATH asm/ |
|
|
|
#if !defined(_TRACE_MSR_H) || defined(TRACE_HEADER_MULTI_READ) |
|
#define _TRACE_MSR_H |
|
|
|
#include <linux/tracepoint.h> |
|
|
|
/* |
|
* Tracing for x86 model specific registers. Directly maps to the |
|
* RDMSR/WRMSR instructions. |
|
*/ |
|
|
|
DECLARE_EVENT_CLASS(msr_trace_class, |
|
TP_PROTO(unsigned msr, u64 val, int failed), |
|
TP_ARGS(msr, val, failed), |
|
TP_STRUCT__entry( |
|
__field( unsigned, msr ) |
|
__field( u64, val ) |
|
__field( int, failed ) |
|
), |
|
TP_fast_assign( |
|
__entry->msr = msr; |
|
__entry->val = val; |
|
__entry->failed = failed; |
|
), |
|
TP_printk("%x, value %llx%s", |
|
__entry->msr, |
|
__entry->val, |
|
__entry->failed ? " #GP" : "") |
|
); |
|
|
|
DEFINE_EVENT(msr_trace_class, read_msr, |
|
TP_PROTO(unsigned msr, u64 val, int failed), |
|
TP_ARGS(msr, val, failed) |
|
); |
|
|
|
DEFINE_EVENT(msr_trace_class, write_msr, |
|
TP_PROTO(unsigned msr, u64 val, int failed), |
|
TP_ARGS(msr, val, failed) |
|
); |
|
|
|
DEFINE_EVENT(msr_trace_class, rdpmc, |
|
TP_PROTO(unsigned msr, u64 val, int failed), |
|
TP_ARGS(msr, val, failed) |
|
); |
|
|
|
#endif /* _TRACE_MSR_H */ |
|
|
|
/* This part must be outside protection */ |
|
#include <trace/define_trace.h>
|
|
|