1 #if !defined(_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
7 #define TRACE_SYSTEM kvm
8 #define TRACE_INCLUDE_PATH .
9 #define TRACE_INCLUDE_FILE trace
21 __field(
unsigned int, emulate )
30 TP_printk(
"inst %u pc 0x%lx emulate %u\n",
39 __field(
unsigned int, stlb_index )
43 __entry->stlb_index = stlb_index;
50 TP_PROTO(
unsigned int victim,
unsigned int tid,
unsigned int word0,
51 unsigned int word1,
unsigned int word2),
52 TP_ARGS(victim, tid, word0, word1, word2),
70 TP_printk(
"victim %u tid %u w0 %u w1 %u w2 %u",
76 TP_PROTO(
unsigned int gtlb_index,
unsigned int tid,
unsigned int word0,
77 unsigned int word1,
unsigned int word2),
78 TP_ARGS(gtlb_index, tid, word0, word1, word2),
81 __field(
unsigned int, gtlb_index )
89 __entry->gtlb_index = gtlb_index;
96 TP_printk(
"gtlb_index %u tid %u w0 %u w1 %u w2 %u",
106 #ifdef CONFIG_KVM_BOOK3S_PR
113 __field(
unsigned int, exit_nr )
123 __entry->pc = kvmppc_get_pc(vcpu);
124 __entry->dar = kvmppc_get_fault_dar(vcpu);
126 svcpu = svcpu_get(vcpu);
127 __entry->srr1 = svcpu->shadow_srr1;
131 TP_printk(
"exit=0x%x | pc=0x%lx | msr=0x%lx | dar=0x%lx | srr1=0x%lx",
147 __entry->pc = kvmppc_get_pc(vcpu);
153 #ifdef CONFIG_PPC_BOOK3S_64
158 TP_ARGS(rflags, hpteg, va, hpaddr, orig_pte),
161 __field(
unsigned char, flag_w )
162 __field(
unsigned char, flag_x )
163 __field(
unsigned long, eaddr )
164 __field(
unsigned long, hpteg )
166 __field(
unsigned long long, vpage )
167 __field(
unsigned long, hpaddr )
180 TP_printk(
"KVM: %c%c Map 0x%lx: [%lx] 0x%lx (0x%llx) -> %lx",
206 __entry->flags = (pte->
pte.may_read ? 0x4 : 0) |
207 (pte->
pte.may_write ? 0x2 : 0) |
208 (pte->
pte.may_execute ? 0x1 : 0);
211 TP_printk(
"Map: hvpn=%llx pfn=%llx ea=%lx vp=%llx ra=%lx [%x]",
235 __entry->flags = (pte->
pte.may_read ? 0x4 : 0) |
236 (pte->
pte.may_write ? 0x2 : 0) |
237 (pte->
pte.may_execute ? 0x1 : 0);
240 TP_printk(
"Flush: hva=%llx pfn=%llx ea=%lx vp=%llx ra=%lx [%x]",
247 unsigned long long p2),
252 __field(
unsigned long long, p1 )
253 __field(
unsigned long long, p2 )
258 __entry->count = to_book3s(vcpu)->hpte_cache_count;
264 TP_printk(
"Flush %d %sPTEs: %llx - %llx",
269 TP_PROTO(
unsigned long long gvsid,
unsigned long long hvsid),
273 __field(
unsigned long long, gvsid )
274 __field(
unsigned long long, hvsid )
286 TP_PROTO(
u16 sid_map_mask,
unsigned long long gvsid),
290 __field(
unsigned short, sid_map_mask )
291 __field(
unsigned long long, gvsid )
295 __entry->sid_map_mask = sid_map_mask;
304 TP_PROTO(
u16 sid_map_mask,
unsigned long long gvsid,
305 unsigned long long hvsid),
306 TP_ARGS(sid_map_mask, gvsid, hvsid),
309 __field(
unsigned short, sid_map_mask )
310 __field(
unsigned long long, guest_vsid )
311 __field(
unsigned long long, host_vsid )
315 __entry->sid_map_mask = sid_map_mask;
352 TP_ARGS(mas0, mas8, mas1, mas2, mas7_3),
370 TP_printk(
"mas0=%x mas8=%x mas1=%x mas2=%llx mas7_3=%llx",
377 TP_ARGS(mas0, mas1, mas2, mas7_3),
393 TP_printk(
"mas0=%x mas1=%x mas2=%llx mas7_3=%llx",