1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM hyperv 3 4 #if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_HYPERV_H 6 7 #include <linux/tracepoint.h> 8 9 #if IS_ENABLED(CONFIG_HYPERV) 10 11 TRACE_EVENT(hyperv_mmu_flush_tlb_others, 12 TP_PROTO(const struct cpumask *cpus, 13 const struct flush_tlb_info *info), 14 TP_ARGS(cpus, info), 15 TP_STRUCT__entry( 16 __field(unsigned int, ncpus) 17 __field(struct mm_struct *, mm) 18 __field(unsigned long, addr) 19 __field(unsigned long, end) 20 ), 21 TP_fast_assign(__entry->ncpus = cpumask_weight(cpus); 22 __entry->mm = info->mm; 23 __entry->addr = info->start; 24 __entry->end = info->end; 25 ), 26 TP_printk("ncpus %d mm %p addr %lx, end %lx", 27 __entry->ncpus, __entry->mm, 28 __entry->addr, __entry->end) 29 ); 30 31 TRACE_EVENT(hyperv_nested_flush_guest_mapping, 32 TP_PROTO(u64 as, int ret), 33 TP_ARGS(as, ret), 34 35 TP_STRUCT__entry( 36 __field(u64, as) 37 __field(int, ret) 38 ), 39 TP_fast_assign(__entry->as = as; 40 __entry->ret = ret; 41 ), 42 TP_printk("address space %llx ret %d", __entry->as, __entry->ret) 43 ); 44 45 TRACE_EVENT(hyperv_nested_flush_guest_mapping_range, 46 TP_PROTO(u64 as, int ret), 47 TP_ARGS(as, ret), 48 49 TP_STRUCT__entry( 50 __field(u64, as) 51 __field(int, ret) 52 ), 53 TP_fast_assign(__entry->as = as; 54 __entry->ret = ret; 55 ), 56 TP_printk("address space %llx ret %d", __entry->as, __entry->ret) 57 ); 58 59 TRACE_EVENT(hyperv_send_ipi_mask, 60 TP_PROTO(const struct cpumask *cpus, 61 int vector), 62 TP_ARGS(cpus, vector), 63 TP_STRUCT__entry( 64 __field(unsigned int, ncpus) 65 __field(int, vector) 66 ), 67 TP_fast_assign(__entry->ncpus = cpumask_weight(cpus); 68 __entry->vector = vector; 69 ), 70 TP_printk("ncpus %d vector %x", 71 __entry->ncpus, __entry->vector) 72 ); 73 74 TRACE_EVENT(hyperv_send_ipi_one, 75 TP_PROTO(int cpu, 76 int vector), 77 TP_ARGS(cpu, vector), 78 TP_STRUCT__entry( 79 __field(int, cpu) 80 __field(int, vector) 81 ), 82 TP_fast_assign(__entry->cpu = cpu; 83 __entry->vector = vector; 84 ), 85 TP_printk("cpu %d vector %x", 86 __entry->cpu, __entry->vector) 87 ); 88 89 #endif /* CONFIG_HYPERV */ 90 91 #undef TRACE_INCLUDE_PATH 92 #define TRACE_INCLUDE_PATH asm/trace/ 93 #undef TRACE_INCLUDE_FILE 94 #define TRACE_INCLUDE_FILE hyperv 95 #endif /* _TRACE_HYPERV_H */ 96 97 /* This part must be outside protection */ 98 #include <trace/define_trace.h> 99