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

rtc.h (3354B)


      1#undef TRACE_SYSTEM
      2#define TRACE_SYSTEM rtc
      3
      4#if !defined(_TRACE_RTC_H) || defined(TRACE_HEADER_MULTI_READ)
      5#define _TRACE_RTC_H
      6
      7#include <linux/rtc.h>
      8#include <linux/tracepoint.h>
      9
     10DECLARE_EVENT_CLASS(rtc_time_alarm_class,
     11
     12	TP_PROTO(time64_t secs, int err),
     13
     14	TP_ARGS(secs, err),
     15
     16	TP_STRUCT__entry(
     17		__field(time64_t, secs)
     18		__field(int, err)
     19	),
     20
     21	TP_fast_assign(
     22		__entry->secs = secs;
     23		__entry->err = err;
     24	),
     25
     26	TP_printk("UTC (%lld) (%d)",
     27		  __entry->secs, __entry->err
     28	)
     29);
     30
     31DEFINE_EVENT(rtc_time_alarm_class, rtc_set_time,
     32
     33	TP_PROTO(time64_t secs, int err),
     34
     35	TP_ARGS(secs, err)
     36);
     37
     38DEFINE_EVENT(rtc_time_alarm_class, rtc_read_time,
     39
     40	TP_PROTO(time64_t secs, int err),
     41
     42	TP_ARGS(secs, err)
     43);
     44
     45DEFINE_EVENT(rtc_time_alarm_class, rtc_set_alarm,
     46
     47	TP_PROTO(time64_t secs, int err),
     48
     49	TP_ARGS(secs, err)
     50);
     51
     52DEFINE_EVENT(rtc_time_alarm_class, rtc_read_alarm,
     53
     54	TP_PROTO(time64_t secs, int err),
     55
     56	TP_ARGS(secs, err)
     57);
     58
     59TRACE_EVENT(rtc_irq_set_freq,
     60
     61	TP_PROTO(int freq, int err),
     62
     63	TP_ARGS(freq, err),
     64
     65	TP_STRUCT__entry(
     66		__field(int, freq)
     67		__field(int, err)
     68	),
     69
     70	TP_fast_assign(
     71		__entry->freq = freq;
     72		__entry->err = err;
     73	),
     74
     75	TP_printk("set RTC periodic IRQ frequency:%u (%d)",
     76		  __entry->freq, __entry->err
     77	)
     78);
     79
     80TRACE_EVENT(rtc_irq_set_state,
     81
     82	TP_PROTO(int enabled, int err),
     83
     84	TP_ARGS(enabled, err),
     85
     86	TP_STRUCT__entry(
     87		__field(int, enabled)
     88		__field(int, err)
     89	),
     90
     91	TP_fast_assign(
     92		__entry->enabled = enabled;
     93		__entry->err = err;
     94	),
     95
     96	TP_printk("%s RTC 2^N Hz periodic IRQs (%d)",
     97		  __entry->enabled ? "enable" : "disable",
     98		  __entry->err
     99	)
    100);
    101
    102TRACE_EVENT(rtc_alarm_irq_enable,
    103
    104	TP_PROTO(unsigned int enabled, int err),
    105
    106	TP_ARGS(enabled, err),
    107
    108	TP_STRUCT__entry(
    109		__field(unsigned int, enabled)
    110		__field(int, err)
    111	),
    112
    113	TP_fast_assign(
    114		__entry->enabled = enabled;
    115		__entry->err = err;
    116	),
    117
    118	TP_printk("%s RTC alarm IRQ (%d)",
    119		  __entry->enabled ? "enable" : "disable",
    120		  __entry->err
    121	)
    122);
    123
    124DECLARE_EVENT_CLASS(rtc_offset_class,
    125
    126	TP_PROTO(long offset, int err),
    127
    128	TP_ARGS(offset, err),
    129
    130	TP_STRUCT__entry(
    131		__field(long, offset)
    132		__field(int, err)
    133	),
    134
    135	TP_fast_assign(
    136		__entry->offset = offset;
    137		__entry->err = err;
    138	),
    139
    140	TP_printk("RTC offset: %ld (%d)",
    141		  __entry->offset, __entry->err
    142	)
    143);
    144
    145DEFINE_EVENT(rtc_offset_class, rtc_set_offset,
    146
    147	TP_PROTO(long offset, int err),
    148
    149	TP_ARGS(offset, err)
    150);
    151
    152DEFINE_EVENT(rtc_offset_class, rtc_read_offset,
    153
    154	TP_PROTO(long offset, int err),
    155
    156	TP_ARGS(offset, err)
    157);
    158
    159DECLARE_EVENT_CLASS(rtc_timer_class,
    160
    161	TP_PROTO(struct rtc_timer *timer),
    162
    163	TP_ARGS(timer),
    164
    165	TP_STRUCT__entry(
    166		__field(struct rtc_timer *, timer)
    167		__field(ktime_t, expires)
    168		__field(ktime_t, period)
    169	),
    170
    171	TP_fast_assign(
    172		__entry->timer = timer;
    173		__entry->expires = timer->node.expires;
    174		__entry->period = timer->period;
    175	),
    176
    177	TP_printk("RTC timer:(%p) expires:%lld period:%lld",
    178		  __entry->timer, __entry->expires, __entry->period
    179	)
    180);
    181
    182DEFINE_EVENT(rtc_timer_class, rtc_timer_enqueue,
    183
    184	TP_PROTO(struct rtc_timer *timer),
    185
    186	TP_ARGS(timer)
    187);
    188
    189DEFINE_EVENT(rtc_timer_class, rtc_timer_dequeue,
    190
    191	TP_PROTO(struct rtc_timer *timer),
    192
    193	TP_ARGS(timer)
    194);
    195
    196DEFINE_EVENT(rtc_timer_class, rtc_timer_fired,
    197
    198	TP_PROTO(struct rtc_timer *timer),
    199
    200	TP_ARGS(timer)
    201);
    202
    203#endif /* _TRACE_RTC_H */
    204
    205/* This part must be outside protection */
    206#include <trace/define_trace.h>