cregit-Linux how code gets into the kernel

Release 4.14 arch/x86/include/asm/msr-trace.h

/* 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>

Overall Contributors

PersonTokensPropCommitsCommitProp
Andi Kleen14399.31%150.00%
Greg Kroah-Hartman10.69%150.00%
Total144100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.