blob: e8cedf32345a0103ad4eac1388fc409c2d78b396 [file] [log] [blame]
Marcelo Tosatti46f43c62009-06-18 11:47:27 -03001#if !defined(_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
2#define _TRACE_KVM_H
3
4#include <linux/tracepoint.h>
5
6#undef TRACE_SYSTEM
7#define TRACE_SYSTEM kvm
Marcelo Tosatti46f43c62009-06-18 11:47:27 -03008
9/*
10 * Tracepoint for guest mode entry.
11 */
12TRACE_EVENT(kvm_ppc_instr,
Alexander Graf346b2762009-10-30 05:47:25 +000013 TP_PROTO(unsigned int inst, unsigned long _pc, unsigned int emulate),
14 TP_ARGS(inst, _pc, emulate),
Marcelo Tosatti46f43c62009-06-18 11:47:27 -030015
16 TP_STRUCT__entry(
17 __field( unsigned int, inst )
18 __field( unsigned long, pc )
19 __field( unsigned int, emulate )
20 ),
21
22 TP_fast_assign(
23 __entry->inst = inst;
Alexander Graf346b2762009-10-30 05:47:25 +000024 __entry->pc = _pc;
Marcelo Tosatti46f43c62009-06-18 11:47:27 -030025 __entry->emulate = emulate;
26 ),
27
28 TP_printk("inst %u pc 0x%lx emulate %u\n",
29 __entry->inst, __entry->pc, __entry->emulate)
30);
31
32TRACE_EVENT(kvm_stlb_inval,
33 TP_PROTO(unsigned int stlb_index),
34 TP_ARGS(stlb_index),
35
36 TP_STRUCT__entry(
37 __field( unsigned int, stlb_index )
38 ),
39
40 TP_fast_assign(
41 __entry->stlb_index = stlb_index;
42 ),
43
44 TP_printk("stlb_index %u", __entry->stlb_index)
45);
46
47TRACE_EVENT(kvm_stlb_write,
48 TP_PROTO(unsigned int victim, unsigned int tid, unsigned int word0,
49 unsigned int word1, unsigned int word2),
50 TP_ARGS(victim, tid, word0, word1, word2),
51
52 TP_STRUCT__entry(
53 __field( unsigned int, victim )
54 __field( unsigned int, tid )
55 __field( unsigned int, word0 )
56 __field( unsigned int, word1 )
57 __field( unsigned int, word2 )
58 ),
59
60 TP_fast_assign(
61 __entry->victim = victim;
62 __entry->tid = tid;
63 __entry->word0 = word0;
64 __entry->word1 = word1;
65 __entry->word2 = word2;
66 ),
67
68 TP_printk("victim %u tid %u w0 %u w1 %u w2 %u",
69 __entry->victim, __entry->tid, __entry->word0,
70 __entry->word1, __entry->word2)
71);
72
73TRACE_EVENT(kvm_gtlb_write,
74 TP_PROTO(unsigned int gtlb_index, unsigned int tid, unsigned int word0,
75 unsigned int word1, unsigned int word2),
76 TP_ARGS(gtlb_index, tid, word0, word1, word2),
77
78 TP_STRUCT__entry(
79 __field( unsigned int, gtlb_index )
80 __field( unsigned int, tid )
81 __field( unsigned int, word0 )
82 __field( unsigned int, word1 )
83 __field( unsigned int, word2 )
84 ),
85
86 TP_fast_assign(
87 __entry->gtlb_index = gtlb_index;
88 __entry->tid = tid;
89 __entry->word0 = word0;
90 __entry->word1 = word1;
91 __entry->word2 = word2;
92 ),
93
94 TP_printk("gtlb_index %u tid %u w0 %u w1 %u w2 %u",
95 __entry->gtlb_index, __entry->tid, __entry->word0,
96 __entry->word1, __entry->word2)
97);
98
Alexander Graf63460462012-08-08 00:44:52 +020099TRACE_EVENT(kvm_check_requests,
100 TP_PROTO(struct kvm_vcpu *vcpu),
101 TP_ARGS(vcpu),
102
103 TP_STRUCT__entry(
104 __field( __u32, cpu_nr )
105 __field( __u32, requests )
106 ),
107
108 TP_fast_assign(
109 __entry->cpu_nr = vcpu->vcpu_id;
110 __entry->requests = vcpu->requests;
111 ),
112
113 TP_printk("vcpu=%x requests=%x",
114 __entry->cpu_nr, __entry->requests)
115);
116
Marcelo Tosatti46f43c62009-06-18 11:47:27 -0300117#endif /* _TRACE_KVM_H */
118
119/* This part must be outside protection */
Scott Woodc57911f2018-11-06 19:49:34 -0600120#undef TRACE_INCLUDE_PATH
121#undef TRACE_INCLUDE_FILE
122
123#define TRACE_INCLUDE_PATH .
124#define TRACE_INCLUDE_FILE trace
125
Marcelo Tosatti46f43c62009-06-18 11:47:27 -0300126#include <trace/define_trace.h>