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/* Tracepoints for VM eists */
21extern char *kvm_mips_exit_types_str[MAX_KVM_MIPS_EXIT_TYPES];
22
23TRACE_EVENT(kvm_exit,
24	    TP_PROTO(struct kvm_vcpu *vcpu, unsigned int reason),
25	    TP_ARGS(vcpu, reason),
26	    TP_STRUCT__entry(
27			__field(unsigned long, pc)
28			__field(unsigned int, reason)
29	    ),
30
31	    TP_fast_assign(
32			__entry->pc = vcpu->arch.pc;
33			__entry->reason = reason;
34	    ),
35
36	    TP_printk("[%s]PC: 0x%08lx",
37		      kvm_mips_exit_types_str[__entry->reason],
38		      __entry->pc)
39);
40
41#endif /* _TRACE_KVM_H */
42
43/* This part must be outside protection */
44#include <trace/define_trace.h>
45