xref: /linux/arch/mips/kvm/trace.h (revision c4ee0af3fa0dc65f690fc908f02b8355f9576ea0)
1 /*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012  MIPS Technologies, Inc.  All rights reserved.
7 * Authors: Sanjay Lal <sanjayl@kymasys.com>
8 */
9 
10 #if !defined(_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
11 #define _TRACE_KVM_H
12 
13 #include <linux/tracepoint.h>
14 
15 #undef TRACE_SYSTEM
16 #define TRACE_SYSTEM kvm
17 #define TRACE_INCLUDE_PATH .
18 #define TRACE_INCLUDE_FILE trace
19 
20 /*
21  * Tracepoints for VM eists
22  */
23 extern char *kvm_mips_exit_types_str[MAX_KVM_MIPS_EXIT_TYPES];
24 
25 TRACE_EVENT(kvm_exit,
26 	    TP_PROTO(struct kvm_vcpu *vcpu, unsigned int reason),
27 	    TP_ARGS(vcpu, reason),
28 	    TP_STRUCT__entry(
29 			__field(struct kvm_vcpu *, vcpu)
30 			__field(unsigned int, reason)
31 	    ),
32 
33 	    TP_fast_assign(
34 			__entry->vcpu = vcpu;
35 			__entry->reason = reason;
36 	    ),
37 
38 	    TP_printk("[%s]PC: 0x%08lx",
39 		      kvm_mips_exit_types_str[__entry->reason],
40 		      __entry->vcpu->arch.pc)
41 );
42 
43 #endif /* _TRACE_KVM_H */
44 
45 /* This part must be outside protection */
46 #include <trace/define_trace.h>
47