#undef TRACE_SYSTEM 
 | 
#define TRACE_SYSTEM hyperv 
 | 
  
 | 
#if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ) 
 | 
#define _TRACE_HYPERV_H 
 | 
  
 | 
#include <linux/tracepoint.h> 
 | 
  
 | 
#if IS_ENABLED(CONFIG_HYPERV) 
 | 
  
 | 
TRACE_EVENT(hyperv_mmu_flush_tlb_others, 
 | 
        TP_PROTO(const struct cpumask *cpus, 
 | 
             const struct flush_tlb_info *info), 
 | 
        TP_ARGS(cpus, info), 
 | 
        TP_STRUCT__entry( 
 | 
            __field(unsigned int, ncpus) 
 | 
            __field(struct mm_struct *, mm) 
 | 
            __field(unsigned long, addr) 
 | 
            __field(unsigned long, end) 
 | 
            ), 
 | 
        TP_fast_assign(__entry->ncpus = cpumask_weight(cpus); 
 | 
               __entry->mm = info->mm; 
 | 
               __entry->addr = info->start; 
 | 
               __entry->end = info->end; 
 | 
            ), 
 | 
        TP_printk("ncpus %d mm %p addr %lx, end %lx", 
 | 
              __entry->ncpus, __entry->mm, 
 | 
              __entry->addr, __entry->end) 
 | 
    ); 
 | 
  
 | 
TRACE_EVENT(hyperv_nested_flush_guest_mapping, 
 | 
        TP_PROTO(u64 as, int ret), 
 | 
        TP_ARGS(as, ret), 
 | 
  
 | 
        TP_STRUCT__entry( 
 | 
            __field(u64, as) 
 | 
            __field(int, ret) 
 | 
            ), 
 | 
        TP_fast_assign(__entry->as = as; 
 | 
               __entry->ret = ret; 
 | 
            ), 
 | 
        TP_printk("address space %llx ret %d", __entry->as, __entry->ret) 
 | 
    ); 
 | 
  
 | 
TRACE_EVENT(hyperv_nested_flush_guest_mapping_range, 
 | 
        TP_PROTO(u64 as, int ret), 
 | 
        TP_ARGS(as, ret), 
 | 
  
 | 
        TP_STRUCT__entry( 
 | 
            __field(u64, as) 
 | 
            __field(int, ret) 
 | 
            ), 
 | 
        TP_fast_assign(__entry->as = as; 
 | 
               __entry->ret = ret; 
 | 
            ), 
 | 
        TP_printk("address space %llx ret %d", __entry->as, __entry->ret) 
 | 
    ); 
 | 
  
 | 
TRACE_EVENT(hyperv_send_ipi_mask, 
 | 
        TP_PROTO(const struct cpumask *cpus, 
 | 
             int vector), 
 | 
        TP_ARGS(cpus, vector), 
 | 
        TP_STRUCT__entry( 
 | 
            __field(unsigned int, ncpus) 
 | 
            __field(int, vector) 
 | 
            ), 
 | 
        TP_fast_assign(__entry->ncpus = cpumask_weight(cpus); 
 | 
               __entry->vector = vector; 
 | 
            ), 
 | 
        TP_printk("ncpus %d vector %x", 
 | 
              __entry->ncpus, __entry->vector) 
 | 
    ); 
 | 
  
 | 
TRACE_EVENT(hyperv_send_ipi_one, 
 | 
        TP_PROTO(int cpu, 
 | 
             int vector), 
 | 
        TP_ARGS(cpu, vector), 
 | 
        TP_STRUCT__entry( 
 | 
            __field(int, cpu) 
 | 
            __field(int, vector) 
 | 
            ), 
 | 
        TP_fast_assign(__entry->cpu = cpu; 
 | 
               __entry->vector = vector; 
 | 
            ), 
 | 
        TP_printk("cpu %d vector %x", 
 | 
              __entry->cpu, __entry->vector) 
 | 
    ); 
 | 
  
 | 
#endif /* CONFIG_HYPERV */ 
 | 
  
 | 
#undef TRACE_INCLUDE_PATH 
 | 
#define TRACE_INCLUDE_PATH asm/trace/ 
 | 
#undef TRACE_INCLUDE_FILE 
 | 
#define TRACE_INCLUDE_FILE hyperv 
 | 
#endif /* _TRACE_HYPERV_H */ 
 | 
  
 | 
/* This part must be outside protection */ 
 | 
#include <trace/define_trace.h> 
 |