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

irq_matrix.h (5055B)


      1#undef TRACE_SYSTEM
      2#define TRACE_SYSTEM irq_matrix
      3
      4#if !defined(_TRACE_IRQ_MATRIX_H) || defined(TRACE_HEADER_MULTI_READ)
      5#define _TRACE_IRQ_MATRIX_H
      6
      7#include <linux/tracepoint.h>
      8
      9struct irq_matrix;
     10struct cpumap;
     11
     12DECLARE_EVENT_CLASS(irq_matrix_global,
     13
     14	TP_PROTO(struct irq_matrix *matrix),
     15
     16	TP_ARGS(matrix),
     17
     18	TP_STRUCT__entry(
     19		__field(	unsigned int,	online_maps		)
     20		__field(	unsigned int,	global_available	)
     21		__field(	unsigned int,	global_reserved		)
     22		__field(	unsigned int,	total_allocated		)
     23	),
     24
     25	TP_fast_assign(
     26		__entry->online_maps		= matrix->online_maps;
     27		__entry->global_available	= matrix->global_available;
     28		__entry->global_reserved	= matrix->global_reserved;
     29		__entry->total_allocated	= matrix->total_allocated;
     30	),
     31
     32	TP_printk("online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u",
     33		  __entry->online_maps, __entry->global_available,
     34		  __entry->global_reserved, __entry->total_allocated)
     35);
     36
     37DECLARE_EVENT_CLASS(irq_matrix_global_update,
     38
     39	TP_PROTO(int bit, struct irq_matrix *matrix),
     40
     41	TP_ARGS(bit, matrix),
     42
     43	TP_STRUCT__entry(
     44		__field(	int,		bit			)
     45		__field(	unsigned int,	online_maps		)
     46		__field(	unsigned int,	global_available	)
     47		__field(	unsigned int,	global_reserved		)
     48		__field(	unsigned int,	total_allocated		)
     49	),
     50
     51	TP_fast_assign(
     52		__entry->bit			= bit;
     53		__entry->online_maps		= matrix->online_maps;
     54		__entry->global_available	= matrix->global_available;
     55		__entry->global_reserved	= matrix->global_reserved;
     56		__entry->total_allocated	= matrix->total_allocated;
     57	),
     58
     59	TP_printk("bit=%d online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u",
     60		  __entry->bit, __entry->online_maps,
     61		  __entry->global_available, __entry->global_reserved,
     62		  __entry->total_allocated)
     63);
     64
     65DECLARE_EVENT_CLASS(irq_matrix_cpu,
     66
     67	TP_PROTO(int bit, unsigned int cpu, struct irq_matrix *matrix,
     68		 struct cpumap *cmap),
     69
     70	TP_ARGS(bit, cpu, matrix, cmap),
     71
     72	TP_STRUCT__entry(
     73		__field(	int,		bit			)
     74		__field(	unsigned int,	cpu			)
     75		__field(	bool,		online			)
     76		__field(	unsigned int,	available		)
     77		__field(	unsigned int,	allocated		)
     78		__field(	unsigned int,	managed			)
     79		__field(	unsigned int,	online_maps		)
     80		__field(	unsigned int,	global_available	)
     81		__field(	unsigned int,	global_reserved		)
     82		__field(	unsigned int,	total_allocated		)
     83	),
     84
     85	TP_fast_assign(
     86		__entry->bit			= bit;
     87		__entry->cpu			= cpu;
     88		__entry->online			= cmap->online;
     89		__entry->available		= cmap->available;
     90		__entry->allocated		= cmap->allocated;
     91		__entry->managed		= cmap->managed;
     92		__entry->online_maps		= matrix->online_maps;
     93		__entry->global_available	= matrix->global_available;
     94		__entry->global_reserved	= matrix->global_reserved;
     95		__entry->total_allocated	= matrix->total_allocated;
     96	),
     97
     98	TP_printk("bit=%d cpu=%u online=%d avl=%u alloc=%u managed=%u online_maps=%u global_avl=%u, global_rsvd=%u, total_alloc=%u",
     99		  __entry->bit, __entry->cpu, __entry->online,
    100		  __entry->available, __entry->allocated,
    101		  __entry->managed, __entry->online_maps,
    102		  __entry->global_available, __entry->global_reserved,
    103		  __entry->total_allocated)
    104);
    105
    106DEFINE_EVENT(irq_matrix_global, irq_matrix_online,
    107
    108	TP_PROTO(struct irq_matrix *matrix),
    109
    110	TP_ARGS(matrix)
    111);
    112
    113DEFINE_EVENT(irq_matrix_global, irq_matrix_offline,
    114
    115	TP_PROTO(struct irq_matrix *matrix),
    116
    117	TP_ARGS(matrix)
    118);
    119
    120DEFINE_EVENT(irq_matrix_global, irq_matrix_reserve,
    121
    122	TP_PROTO(struct irq_matrix *matrix),
    123
    124	TP_ARGS(matrix)
    125);
    126
    127DEFINE_EVENT(irq_matrix_global, irq_matrix_remove_reserved,
    128
    129	TP_PROTO(struct irq_matrix *matrix),
    130
    131	TP_ARGS(matrix)
    132);
    133
    134DEFINE_EVENT(irq_matrix_global_update, irq_matrix_assign_system,
    135
    136	TP_PROTO(int bit, struct irq_matrix *matrix),
    137
    138	TP_ARGS(bit, matrix)
    139);
    140
    141DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_reserved,
    142
    143	TP_PROTO(int bit, unsigned int cpu,
    144		 struct irq_matrix *matrix, struct cpumap *cmap),
    145
    146	TP_ARGS(bit, cpu, matrix, cmap)
    147);
    148
    149DEFINE_EVENT(irq_matrix_cpu, irq_matrix_reserve_managed,
    150
    151	TP_PROTO(int bit, unsigned int cpu,
    152		 struct irq_matrix *matrix, struct cpumap *cmap),
    153
    154	TP_ARGS(bit, cpu, matrix, cmap)
    155);
    156
    157DEFINE_EVENT(irq_matrix_cpu, irq_matrix_remove_managed,
    158
    159	TP_PROTO(int bit, unsigned int cpu,
    160		 struct irq_matrix *matrix, struct cpumap *cmap),
    161
    162	TP_ARGS(bit, cpu, matrix, cmap)
    163);
    164
    165DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_managed,
    166
    167	TP_PROTO(int bit, unsigned int cpu,
    168		 struct irq_matrix *matrix, struct cpumap *cmap),
    169
    170	TP_ARGS(bit, cpu, matrix, cmap)
    171);
    172
    173DEFINE_EVENT(irq_matrix_cpu, irq_matrix_assign,
    174
    175	TP_PROTO(int bit, unsigned int cpu,
    176		 struct irq_matrix *matrix, struct cpumap *cmap),
    177
    178	TP_ARGS(bit, cpu, matrix, cmap)
    179);
    180
    181DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc,
    182
    183	TP_PROTO(int bit, unsigned int cpu,
    184		 struct irq_matrix *matrix, struct cpumap *cmap),
    185
    186	TP_ARGS(bit, cpu, matrix, cmap)
    187);
    188
    189DEFINE_EVENT(irq_matrix_cpu, irq_matrix_free,
    190
    191	TP_PROTO(int bit, unsigned int cpu,
    192		 struct irq_matrix *matrix, struct cpumap *cmap),
    193
    194	TP_ARGS(bit, cpu, matrix, cmap)
    195);
    196
    197
    198#endif /*  _TRACE_IRQ_H */
    199
    200/* This part must be outside protection */
    201#include <trace/define_trace.h>