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

alarmtimer.h (2087B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#undef TRACE_SYSTEM
      3#define TRACE_SYSTEM alarmtimer
      4
      5#if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
      6#define _TRACE_ALARMTIMER_H
      7
      8#include <linux/alarmtimer.h>
      9#include <linux/rtc.h>
     10#include <linux/tracepoint.h>
     11
     12TRACE_DEFINE_ENUM(ALARM_REALTIME);
     13TRACE_DEFINE_ENUM(ALARM_BOOTTIME);
     14TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER);
     15TRACE_DEFINE_ENUM(ALARM_BOOTTIME_FREEZER);
     16
     17#define show_alarm_type(type)	__print_flags(type, " | ",	\
     18	{ 1 << ALARM_REALTIME, "REALTIME" },			\
     19	{ 1 << ALARM_BOOTTIME, "BOOTTIME" },			\
     20	{ 1 << ALARM_REALTIME_FREEZER, "REALTIME Freezer" },	\
     21	{ 1 << ALARM_BOOTTIME_FREEZER, "BOOTTIME Freezer" })
     22
     23TRACE_EVENT(alarmtimer_suspend,
     24
     25	TP_PROTO(ktime_t expires, int flag),
     26
     27	TP_ARGS(expires, flag),
     28
     29	TP_STRUCT__entry(
     30		__field(s64, expires)
     31		__field(unsigned char, alarm_type)
     32	),
     33
     34	TP_fast_assign(
     35		__entry->expires = expires;
     36		__entry->alarm_type = flag;
     37	),
     38
     39	TP_printk("alarmtimer type:%s expires:%llu",
     40		  show_alarm_type((1 << __entry->alarm_type)),
     41		  __entry->expires
     42	)
     43);
     44
     45DECLARE_EVENT_CLASS(alarm_class,
     46
     47	TP_PROTO(struct alarm *alarm, ktime_t now),
     48
     49	TP_ARGS(alarm, now),
     50
     51	TP_STRUCT__entry(
     52		__field(void *,	alarm)
     53		__field(unsigned char, alarm_type)
     54		__field(s64, expires)
     55		__field(s64, now)
     56	),
     57
     58	TP_fast_assign(
     59		__entry->alarm = alarm;
     60		__entry->alarm_type = alarm->type;
     61		__entry->expires = alarm->node.expires;
     62		__entry->now = now;
     63	),
     64
     65	TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu",
     66		  __entry->alarm,
     67		  show_alarm_type((1 << __entry->alarm_type)),
     68		  __entry->expires,
     69		  __entry->now
     70	)
     71);
     72
     73DEFINE_EVENT(alarm_class, alarmtimer_fired,
     74
     75	TP_PROTO(struct alarm *alarm, ktime_t now),
     76
     77	TP_ARGS(alarm, now)
     78);
     79
     80DEFINE_EVENT(alarm_class, alarmtimer_start,
     81
     82	TP_PROTO(struct alarm *alarm, ktime_t now),
     83
     84	TP_ARGS(alarm, now)
     85);
     86
     87DEFINE_EVENT(alarm_class, alarmtimer_cancel,
     88
     89	TP_PROTO(struct alarm *alarm, ktime_t now),
     90
     91	TP_ARGS(alarm, now)
     92);
     93
     94#endif /* _TRACE_ALARMTIMER_H */
     95
     96/* This part must be outside protection */
     97#include <trace/define_trace.h>