2 #define TRACE_SYSTEM hyperv
4 #if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_HYPERV_H
7 #include <linux/tracepoint.h>
9 #if IS_ENABLED(CONFIG_HYPERV)
11 TRACE_EVENT(hyperv_mmu_flush_tlb_others
,
12 TP_PROTO(const struct cpumask
*cpus
,
13 const struct flush_tlb_info
*info
),
16 __field(unsigned int, ncpus
)
17 __field(struct mm_struct
*, mm
)
18 __field(unsigned long, addr
)
19 __field(unsigned long, end
)
21 TP_fast_assign(__entry
->ncpus
= cpumask_weight(cpus
);
22 __entry
->mm
= info
->mm
;
23 __entry
->addr
= info
->start
;
24 __entry
->end
= info
->end
;
26 TP_printk("ncpus %d mm %p addr %lx, end %lx",
27 __entry
->ncpus
, __entry
->mm
,
28 __entry
->addr
, __entry
->end
)
31 TRACE_EVENT(hyperv_nested_flush_guest_mapping
,
32 TP_PROTO(u64 as
, int ret
),
39 TP_fast_assign(__entry
->as
= as
;
42 TP_printk("address space %llx ret %d", __entry
->as
, __entry
->ret
)
45 TRACE_EVENT(hyperv_send_ipi_mask
,
46 TP_PROTO(const struct cpumask
*cpus
,
48 TP_ARGS(cpus
, vector
),
50 __field(unsigned int, ncpus
)
53 TP_fast_assign(__entry
->ncpus
= cpumask_weight(cpus
);
54 __entry
->vector
= vector
;
56 TP_printk("ncpus %d vector %x",
57 __entry
->ncpus
, __entry
->vector
)
60 #endif /* CONFIG_HYPERV */
62 #undef TRACE_INCLUDE_PATH
63 #define TRACE_INCLUDE_PATH asm/trace/
64 #undef TRACE_INCLUDE_FILE
65 #define TRACE_INCLUDE_FILE hyperv
66 #endif /* _TRACE_HYPERV_H */
68 /* This part must be outside protection */
69 #include <trace/define_trace.h>