xref: /linux/arch/s390/kvm/gmap/trace_gmap.h (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*1b09c13cSSteffen Eiden /* SPDX-License-Identifier: GPL-2.0 */
2*1b09c13cSSteffen Eiden #if !defined(GMAP_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
3*1b09c13cSSteffen Eiden #define GMAP_TRACE_KVM_H
4*1b09c13cSSteffen Eiden 
5*1b09c13cSSteffen Eiden #include <linux/tracepoint.h>
6*1b09c13cSSteffen Eiden 
7*1b09c13cSSteffen Eiden #undef TRACE_SYSTEM
8*1b09c13cSSteffen Eiden #define TRACE_SYSTEM kvm
9*1b09c13cSSteffen Eiden #undef TRACE_INCLUDE_PATH
10*1b09c13cSSteffen Eiden #define TRACE_INCLUDE_PATH ../gmap
11*1b09c13cSSteffen Eiden #undef TRACE_INCLUDE_FILE
12*1b09c13cSSteffen Eiden #define TRACE_INCLUDE_FILE trace_gmap
13*1b09c13cSSteffen Eiden 
14*1b09c13cSSteffen Eiden #define __KVM_FIELDS \
15*1b09c13cSSteffen Eiden 	__field(unsigned long, pswmask) \
16*1b09c13cSSteffen Eiden 	__field(unsigned long, pswaddr)
17*1b09c13cSSteffen Eiden #define __KVM_ASSIGN ({\
18*1b09c13cSSteffen Eiden 	__entry->pswmask = vcpu->arch.sie_block->gpsw.mask; \
19*1b09c13cSSteffen Eiden 	__entry->pswaddr = vcpu->arch.sie_block->gpsw.addr; \
20*1b09c13cSSteffen Eiden 	})
21*1b09c13cSSteffen Eiden #define __KVM_PRINT \
22*1b09c13cSSteffen Eiden 	__entry->pswmask,\
23*1b09c13cSSteffen Eiden 	__entry->pswaddr
24*1b09c13cSSteffen Eiden 
25*1b09c13cSSteffen Eiden TRACE_EVENT(kvm_s390_major_guest_pfault,
26*1b09c13cSSteffen Eiden 	    TP_PROTO(struct kvm_vcpu *vcpu),
27*1b09c13cSSteffen Eiden 	    TP_ARGS(vcpu),
28*1b09c13cSSteffen Eiden 
29*1b09c13cSSteffen Eiden 	    TP_STRUCT__entry(
30*1b09c13cSSteffen Eiden 		__field(int, id)
31*1b09c13cSSteffen Eiden 		__KVM_FIELDS
32*1b09c13cSSteffen Eiden 		),
33*1b09c13cSSteffen Eiden 
34*1b09c13cSSteffen Eiden 	    TP_fast_assign(
35*1b09c13cSSteffen Eiden 		__entry->id = vcpu->vcpu_id;
36*1b09c13cSSteffen Eiden 		__KVM_ASSIGN
37*1b09c13cSSteffen Eiden 		),
38*1b09c13cSSteffen Eiden 	    TP_printk("%02d[%016lx-%016lx]: major fault, maybe applicable for pfault",
39*1b09c13cSSteffen Eiden 		__entry->id,
40*1b09c13cSSteffen Eiden 		__KVM_PRINT
41*1b09c13cSSteffen Eiden 		)
42*1b09c13cSSteffen Eiden 	    );
43*1b09c13cSSteffen Eiden 
44*1b09c13cSSteffen Eiden #endif /* GMAP_TRACE_KVM_H */
45*1b09c13cSSteffen Eiden 
46*1b09c13cSSteffen Eiden /* This part must be outside protection */
47*1b09c13cSSteffen Eiden #include <trace/define_trace.h>
48