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