^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #if !defined(_TRACE_KVM_BOOKE_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _TRACE_KVM_BOOKE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define TRACE_SYSTEM kvm_booke
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define kvm_trace_symbol_exit \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) {0, "CRITICAL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) {1, "MACHINE_CHECK"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) {2, "DATA_STORAGE"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) {3, "INST_STORAGE"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) {4, "EXTERNAL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) {5, "ALIGNMENT"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) {6, "PROGRAM"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) {7, "FP_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) {8, "SYSCALL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) {9, "AP_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) {10, "DECREMENTER"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) {11, "FIT"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) {12, "WATCHDOG"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) {13, "DTLB_MISS"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) {14, "ITLB_MISS"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) {15, "DEBUG"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) {32, "SPE_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) {33, "SPE_FP_DATA"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) {34, "SPE_FP_ROUND"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) {35, "PERFORMANCE_MONITOR"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) {36, "DOORBELL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) {37, "DOORBELL_CRITICAL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) {38, "GUEST_DBELL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) {39, "GUEST_DBELL_CRIT"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) {40, "HV_SYSCALL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) {41, "HV_PRIV"}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) TRACE_EVENT(kvm_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) TP_PROTO(unsigned int exit_nr, struct kvm_vcpu *vcpu),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) TP_ARGS(exit_nr, vcpu),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) __field( unsigned int, exit_nr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) __field( unsigned long, pc )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) __field( unsigned long, msr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) __field( unsigned long, dar )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) __field( unsigned long, last_inst )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) __entry->exit_nr = exit_nr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) __entry->pc = kvmppc_get_pc(vcpu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) __entry->dar = kvmppc_get_fault_dar(vcpu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) __entry->msr = vcpu->arch.shared->msr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) __entry->last_inst = vcpu->arch.last_inst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) TP_printk("exit=%s"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) " | pc=0x%lx"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) " | msr=0x%lx"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) " | dar=0x%lx"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) " | last_inst=0x%lx"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) __print_symbolic(__entry->exit_nr, kvm_trace_symbol_exit),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) __entry->pc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) __entry->msr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) __entry->dar,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) __entry->last_inst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) TRACE_EVENT(kvm_unmap_hva,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) TP_PROTO(unsigned long hva),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) TP_ARGS(hva),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) __field( unsigned long, hva )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) __entry->hva = hva;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) TP_printk("unmap hva 0x%lx\n", __entry->hva)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) TRACE_EVENT(kvm_booke206_stlb_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) TP_PROTO(__u32 mas0, __u32 mas8, __u32 mas1, __u64 mas2, __u64 mas7_3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) TP_ARGS(mas0, mas8, mas1, mas2, mas7_3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) __field( __u32, mas0 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) __field( __u32, mas8 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) __field( __u32, mas1 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) __field( __u64, mas2 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) __field( __u64, mas7_3 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) __entry->mas0 = mas0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) __entry->mas8 = mas8;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) __entry->mas1 = mas1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) __entry->mas2 = mas2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) __entry->mas7_3 = mas7_3;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) TP_printk("mas0=%x mas8=%x mas1=%x mas2=%llx mas7_3=%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) __entry->mas0, __entry->mas8, __entry->mas1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) __entry->mas2, __entry->mas7_3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) TRACE_EVENT(kvm_booke206_gtlb_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) TP_PROTO(__u32 mas0, __u32 mas1, __u64 mas2, __u64 mas7_3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) TP_ARGS(mas0, mas1, mas2, mas7_3),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) __field( __u32, mas0 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) __field( __u32, mas1 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) __field( __u64, mas2 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) __field( __u64, mas7_3 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) __entry->mas0 = mas0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) __entry->mas1 = mas1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) __entry->mas2 = mas2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) __entry->mas7_3 = mas7_3;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) TP_printk("mas0=%x mas1=%x mas2=%llx mas7_3=%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) __entry->mas0, __entry->mas1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) __entry->mas2, __entry->mas7_3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) TRACE_EVENT(kvm_booke206_ref_release,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) TP_PROTO(__u64 pfn, __u32 flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) TP_ARGS(pfn, flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) __field( __u64, pfn )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) __field( __u32, flags )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) __entry->pfn = pfn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) TP_printk("pfn=%llx flags=%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) __entry->pfn, __entry->flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #ifdef CONFIG_SPE_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define kvm_trace_symbol_irqprio_spe \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) {BOOKE_IRQPRIO_SPE_UNAVAIL, "SPE_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) {BOOKE_IRQPRIO_SPE_FP_DATA, "SPE_FP_DATA"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) {BOOKE_IRQPRIO_SPE_FP_ROUND, "SPE_FP_ROUND"},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) #define kvm_trace_symbol_irqprio_spe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #ifdef CONFIG_PPC_E500MC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define kvm_trace_symbol_irqprio_e500mc \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) {BOOKE_IRQPRIO_ALTIVEC_UNAVAIL, "ALTIVEC_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) {BOOKE_IRQPRIO_ALTIVEC_ASSIST, "ALTIVEC_ASSIST"},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define kvm_trace_symbol_irqprio_e500mc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) #define kvm_trace_symbol_irqprio \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) kvm_trace_symbol_irqprio_spe \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) kvm_trace_symbol_irqprio_e500mc \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) {BOOKE_IRQPRIO_DATA_STORAGE, "DATA_STORAGE"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) {BOOKE_IRQPRIO_INST_STORAGE, "INST_STORAGE"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) {BOOKE_IRQPRIO_ALIGNMENT, "ALIGNMENT"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) {BOOKE_IRQPRIO_PROGRAM, "PROGRAM"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) {BOOKE_IRQPRIO_FP_UNAVAIL, "FP_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) {BOOKE_IRQPRIO_SYSCALL, "SYSCALL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) {BOOKE_IRQPRIO_AP_UNAVAIL, "AP_UNAVAIL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) {BOOKE_IRQPRIO_DTLB_MISS, "DTLB_MISS"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) {BOOKE_IRQPRIO_ITLB_MISS, "ITLB_MISS"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) {BOOKE_IRQPRIO_MACHINE_CHECK, "MACHINE_CHECK"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) {BOOKE_IRQPRIO_DEBUG, "DEBUG"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) {BOOKE_IRQPRIO_CRITICAL, "CRITICAL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) {BOOKE_IRQPRIO_WATCHDOG, "WATCHDOG"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) {BOOKE_IRQPRIO_EXTERNAL, "EXTERNAL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) {BOOKE_IRQPRIO_FIT, "FIT"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) {BOOKE_IRQPRIO_DECREMENTER, "DECREMENTER"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) {BOOKE_IRQPRIO_PERFORMANCE_MONITOR, "PERFORMANCE_MONITOR"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) {BOOKE_IRQPRIO_EXTERNAL_LEVEL, "EXTERNAL_LEVEL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) {BOOKE_IRQPRIO_DBELL, "DBELL"}, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) {BOOKE_IRQPRIO_DBELL_CRIT, "DBELL_CRIT"} \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) TRACE_EVENT(kvm_booke_queue_irqprio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) TP_PROTO(struct kvm_vcpu *vcpu, unsigned int priority),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) TP_ARGS(vcpu, priority),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) __field( __u32, cpu_nr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) __field( __u32, priority )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) __field( unsigned long, pending )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) __entry->cpu_nr = vcpu->vcpu_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) __entry->priority = priority;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) __entry->pending = vcpu->arch.pending_exceptions;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) TP_printk("vcpu=%x prio=%s pending=%lx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) __entry->cpu_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) __print_symbolic(__entry->priority, kvm_trace_symbol_irqprio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) __entry->pending)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) #undef TRACE_INCLUDE_PATH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #undef TRACE_INCLUDE_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define TRACE_INCLUDE_PATH .
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define TRACE_INCLUDE_FILE trace_booke
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #include <trace/define_trace.h>