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

trace.h (2451B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#if !defined(__TRACE_ATH5K_H) || defined(TRACE_HEADER_MULTI_READ)
      3#define __TRACE_ATH5K_H
      4
      5#include <linux/tracepoint.h>
      6
      7
      8#if !defined(CONFIG_ATH5K_TRACER) || defined(__CHECKER__)
      9#undef TRACE_EVENT
     10#define TRACE_EVENT(name, proto, ...) \
     11static inline void trace_ ## name(proto) {}
     12#endif
     13
     14struct sk_buff;
     15struct ath5k_txq;
     16struct ath5k_tx_status;
     17
     18#undef TRACE_SYSTEM
     19#define TRACE_SYSTEM ath5k
     20
     21TRACE_EVENT(ath5k_rx,
     22	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb),
     23	TP_ARGS(priv, skb),
     24	TP_STRUCT__entry(
     25		__field(struct ath5k_hw *, priv)
     26		__field(unsigned long, skbaddr)
     27		__dynamic_array(u8, frame, skb->len)
     28	),
     29	TP_fast_assign(
     30		__entry->priv = priv;
     31		__entry->skbaddr = (unsigned long) skb;
     32		memcpy(__get_dynamic_array(frame), skb->data, skb->len);
     33	),
     34	TP_printk(
     35		"[%p] RX skb=%lx", __entry->priv, __entry->skbaddr
     36	)
     37);
     38
     39TRACE_EVENT(ath5k_tx,
     40	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb,
     41		 struct ath5k_txq *q),
     42
     43	TP_ARGS(priv, skb, q),
     44
     45	TP_STRUCT__entry(
     46		__field(struct ath5k_hw *, priv)
     47		__field(unsigned long, skbaddr)
     48		__field(u8, qnum)
     49		__dynamic_array(u8, frame, skb->len)
     50	),
     51
     52	TP_fast_assign(
     53		__entry->priv = priv;
     54		__entry->skbaddr = (unsigned long) skb;
     55		__entry->qnum = (u8) q->qnum;
     56		memcpy(__get_dynamic_array(frame), skb->data, skb->len);
     57	),
     58
     59	TP_printk(
     60		"[%p] TX skb=%lx q=%d", __entry->priv, __entry->skbaddr,
     61		__entry->qnum
     62	)
     63);
     64
     65TRACE_EVENT(ath5k_tx_complete,
     66	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb,
     67		 struct ath5k_txq *q, struct ath5k_tx_status *ts),
     68
     69	TP_ARGS(priv, skb, q, ts),
     70
     71	TP_STRUCT__entry(
     72		__field(struct ath5k_hw *, priv)
     73		__field(unsigned long, skbaddr)
     74		__field(u8, qnum)
     75		__field(u8, ts_status)
     76		__field(s8, ts_rssi)
     77		__field(u8, ts_antenna)
     78	),
     79
     80	TP_fast_assign(
     81		__entry->priv = priv;
     82		__entry->skbaddr = (unsigned long) skb;
     83		__entry->qnum = (u8) q->qnum;
     84		__entry->ts_status = ts->ts_status;
     85		__entry->ts_rssi =  ts->ts_rssi;
     86		__entry->ts_antenna = ts->ts_antenna;
     87	),
     88
     89	TP_printk(
     90		"[%p] TX end skb=%lx q=%d stat=%x rssi=%d ant=%x",
     91		__entry->priv, __entry->skbaddr, __entry->qnum,
     92		__entry->ts_status, __entry->ts_rssi, __entry->ts_antenna
     93	)
     94);
     95
     96#endif /* __TRACE_ATH5K_H */
     97
     98#if defined(CONFIG_ATH5K_TRACER) && !defined(__CHECKER__)
     99
    100#undef TRACE_INCLUDE_PATH
    101#define TRACE_INCLUDE_PATH .
    102#undef TRACE_INCLUDE_FILE
    103#define TRACE_INCLUDE_FILE trace
    104
    105#include <trace/define_trace.h>
    106
    107#endif