cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hyperv.h (2494B)


      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
     11TRACE_EVENT(hyperv_mmu_flush_tlb_multi,
     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
     31TRACE_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
     45TRACE_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
     59TRACE_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
     74TRACE_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>