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 (8395B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Based on net/wireless/trace.h */
      3
      4#undef TRACE_SYSTEM
      5#define TRACE_SYSTEM cfg802154
      6
      7#if !defined(__RDEV_CFG802154_OPS_TRACE) || defined(TRACE_HEADER_MULTI_READ)
      8#define __RDEV_CFG802154_OPS_TRACE
      9
     10#include <linux/tracepoint.h>
     11
     12#include <net/cfg802154.h>
     13
     14#define MAXNAME		32
     15#define WPAN_PHY_ENTRY	__array(char, wpan_phy_name, MAXNAME)
     16#define WPAN_PHY_ASSIGN	strlcpy(__entry->wpan_phy_name,	 \
     17				wpan_phy_name(wpan_phy), \
     18				MAXNAME)
     19#define WPAN_PHY_PR_FMT	"%s"
     20#define WPAN_PHY_PR_ARG	__entry->wpan_phy_name
     21
     22#define WPAN_DEV_ENTRY	__field(u32, identifier)
     23#define WPAN_DEV_ASSIGN	(__entry->identifier) = (!IS_ERR_OR_NULL(wpan_dev) \
     24					 ? wpan_dev->identifier : 0)
     25#define WPAN_DEV_PR_FMT	"wpan_dev(%u)"
     26#define WPAN_DEV_PR_ARG	(__entry->identifier)
     27
     28#define WPAN_CCA_ENTRY	__field(enum nl802154_cca_modes, cca_mode) \
     29			__field(enum nl802154_cca_opts, cca_opt)
     30#define WPAN_CCA_ASSIGN \
     31	do {					 \
     32		(__entry->cca_mode) = cca->mode; \
     33		(__entry->cca_opt) = cca->opt;	 \
     34	} while (0)
     35#define WPAN_CCA_PR_FMT	"cca_mode: %d, cca_opt: %d"
     36#define WPAN_CCA_PR_ARG __entry->cca_mode, __entry->cca_opt
     37
     38#define BOOL_TO_STR(bo) (bo) ? "true" : "false"
     39
     40/*************************************************************
     41 *			rdev->ops traces		     *
     42 *************************************************************/
     43
     44DECLARE_EVENT_CLASS(wpan_phy_only_evt,
     45	TP_PROTO(struct wpan_phy *wpan_phy),
     46	TP_ARGS(wpan_phy),
     47	TP_STRUCT__entry(
     48		WPAN_PHY_ENTRY
     49	),
     50	TP_fast_assign(
     51		WPAN_PHY_ASSIGN;
     52	),
     53	TP_printk(WPAN_PHY_PR_FMT, WPAN_PHY_PR_ARG)
     54);
     55
     56DEFINE_EVENT(wpan_phy_only_evt, 802154_rdev_suspend,
     57	TP_PROTO(struct wpan_phy *wpan_phy),
     58	TP_ARGS(wpan_phy)
     59);
     60
     61DEFINE_EVENT(wpan_phy_only_evt, 802154_rdev_resume,
     62	TP_PROTO(struct wpan_phy *wpan_phy),
     63	TP_ARGS(wpan_phy)
     64);
     65
     66TRACE_EVENT(802154_rdev_add_virtual_intf,
     67	TP_PROTO(struct wpan_phy *wpan_phy, char *name,
     68		 enum nl802154_iftype type, __le64 extended_addr),
     69	TP_ARGS(wpan_phy, name, type, extended_addr),
     70	TP_STRUCT__entry(
     71		WPAN_PHY_ENTRY
     72		__string(vir_intf_name, name ? name : "<noname>")
     73		__field(enum nl802154_iftype, type)
     74		__field(__le64, extended_addr)
     75	),
     76	TP_fast_assign(
     77		WPAN_PHY_ASSIGN;
     78		__assign_str(vir_intf_name, name ? name : "<noname>");
     79		__entry->type = type;
     80		__entry->extended_addr = extended_addr;
     81	),
     82	TP_printk(WPAN_PHY_PR_FMT ", virtual intf name: %s, type: %d, extended addr: 0x%llx",
     83		  WPAN_PHY_PR_ARG, __get_str(vir_intf_name), __entry->type,
     84		  __le64_to_cpu(__entry->extended_addr))
     85);
     86
     87TRACE_EVENT(802154_rdev_del_virtual_intf,
     88	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev),
     89	TP_ARGS(wpan_phy, wpan_dev),
     90	TP_STRUCT__entry(
     91		WPAN_PHY_ENTRY
     92		WPAN_DEV_ENTRY
     93	),
     94	TP_fast_assign(
     95		WPAN_PHY_ASSIGN;
     96		WPAN_DEV_ASSIGN;
     97	),
     98	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT, WPAN_PHY_PR_ARG,
     99		  WPAN_DEV_PR_ARG)
    100);
    101
    102TRACE_EVENT(802154_rdev_set_channel,
    103	TP_PROTO(struct wpan_phy *wpan_phy, u8 page, u8 channel),
    104	TP_ARGS(wpan_phy, page, channel),
    105	TP_STRUCT__entry(
    106		WPAN_PHY_ENTRY
    107		__field(u8, page)
    108		__field(u8, channel)
    109	),
    110	TP_fast_assign(
    111		WPAN_PHY_ASSIGN;
    112		__entry->page = page;
    113		__entry->channel = channel;
    114	),
    115	TP_printk(WPAN_PHY_PR_FMT ", page: %d, channel: %d", WPAN_PHY_PR_ARG,
    116		  __entry->page, __entry->channel)
    117);
    118
    119TRACE_EVENT(802154_rdev_set_tx_power,
    120	TP_PROTO(struct wpan_phy *wpan_phy, s32 power),
    121	TP_ARGS(wpan_phy, power),
    122	TP_STRUCT__entry(
    123		WPAN_PHY_ENTRY
    124		__field(s32, power)
    125	),
    126	TP_fast_assign(
    127		WPAN_PHY_ASSIGN;
    128		__entry->power = power;
    129	),
    130	TP_printk(WPAN_PHY_PR_FMT ", mbm: %d", WPAN_PHY_PR_ARG,
    131		  __entry->power)
    132);
    133
    134TRACE_EVENT(802154_rdev_set_cca_mode,
    135	TP_PROTO(struct wpan_phy *wpan_phy, const struct wpan_phy_cca *cca),
    136	TP_ARGS(wpan_phy, cca),
    137	TP_STRUCT__entry(
    138		WPAN_PHY_ENTRY
    139		WPAN_CCA_ENTRY
    140	),
    141	TP_fast_assign(
    142		WPAN_PHY_ASSIGN;
    143		WPAN_CCA_ASSIGN;
    144	),
    145	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_CCA_PR_FMT, WPAN_PHY_PR_ARG,
    146		  WPAN_CCA_PR_ARG)
    147);
    148
    149TRACE_EVENT(802154_rdev_set_cca_ed_level,
    150	TP_PROTO(struct wpan_phy *wpan_phy, s32 ed_level),
    151	TP_ARGS(wpan_phy, ed_level),
    152	TP_STRUCT__entry(
    153		WPAN_PHY_ENTRY
    154		__field(s32, ed_level)
    155	),
    156	TP_fast_assign(
    157		WPAN_PHY_ASSIGN;
    158		__entry->ed_level = ed_level;
    159	),
    160	TP_printk(WPAN_PHY_PR_FMT ", ed level: %d", WPAN_PHY_PR_ARG,
    161		  __entry->ed_level)
    162);
    163
    164DECLARE_EVENT_CLASS(802154_le16_template,
    165	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    166		 __le16 le16arg),
    167	TP_ARGS(wpan_phy, wpan_dev, le16arg),
    168	TP_STRUCT__entry(
    169		WPAN_PHY_ENTRY
    170		WPAN_DEV_ENTRY
    171		__field(__le16, le16arg)
    172	),
    173	TP_fast_assign(
    174		WPAN_PHY_ASSIGN;
    175		WPAN_DEV_ASSIGN;
    176		__entry->le16arg = le16arg;
    177	),
    178	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT ", pan id: 0x%04x",
    179		  WPAN_PHY_PR_ARG, WPAN_DEV_PR_ARG,
    180		  __le16_to_cpu(__entry->le16arg))
    181);
    182
    183DEFINE_EVENT(802154_le16_template, 802154_rdev_set_pan_id,
    184	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    185		 __le16 le16arg),
    186	TP_ARGS(wpan_phy, wpan_dev, le16arg)
    187);
    188
    189DEFINE_EVENT_PRINT(802154_le16_template, 802154_rdev_set_short_addr,
    190	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    191		 __le16 le16arg),
    192	TP_ARGS(wpan_phy, wpan_dev, le16arg),
    193	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT ", short addr: 0x%04x",
    194		  WPAN_PHY_PR_ARG, WPAN_DEV_PR_ARG,
    195		  __le16_to_cpu(__entry->le16arg))
    196);
    197
    198TRACE_EVENT(802154_rdev_set_backoff_exponent,
    199	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    200		 u8 min_be, u8 max_be),
    201	TP_ARGS(wpan_phy, wpan_dev, min_be, max_be),
    202	TP_STRUCT__entry(
    203		WPAN_PHY_ENTRY
    204		WPAN_DEV_ENTRY
    205		__field(u8, min_be)
    206		__field(u8, max_be)
    207	),
    208	TP_fast_assign(
    209		WPAN_PHY_ASSIGN;
    210		WPAN_DEV_ASSIGN;
    211		__entry->min_be = min_be;
    212		__entry->max_be = max_be;
    213	),
    214
    215	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT
    216		  ", min be: %d, max be: %d", WPAN_PHY_PR_ARG,
    217		  WPAN_DEV_PR_ARG, __entry->min_be, __entry->max_be)
    218);
    219
    220TRACE_EVENT(802154_rdev_set_csma_backoffs,
    221	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    222		 u8 max_csma_backoffs),
    223	TP_ARGS(wpan_phy, wpan_dev, max_csma_backoffs),
    224	TP_STRUCT__entry(
    225		WPAN_PHY_ENTRY
    226		WPAN_DEV_ENTRY
    227		__field(u8, max_csma_backoffs)
    228	),
    229	TP_fast_assign(
    230		WPAN_PHY_ASSIGN;
    231		WPAN_DEV_ASSIGN;
    232		__entry->max_csma_backoffs = max_csma_backoffs;
    233	),
    234
    235	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT
    236		  ", max csma backoffs: %d", WPAN_PHY_PR_ARG,
    237		  WPAN_DEV_PR_ARG, __entry->max_csma_backoffs)
    238);
    239
    240TRACE_EVENT(802154_rdev_set_max_frame_retries,
    241	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    242		 s8 max_frame_retries),
    243	TP_ARGS(wpan_phy, wpan_dev, max_frame_retries),
    244	TP_STRUCT__entry(
    245		WPAN_PHY_ENTRY
    246		WPAN_DEV_ENTRY
    247		__field(s8, max_frame_retries)
    248	),
    249	TP_fast_assign(
    250		WPAN_PHY_ASSIGN;
    251		WPAN_DEV_ASSIGN;
    252		__entry->max_frame_retries = max_frame_retries;
    253	),
    254
    255	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT
    256		  ", max frame retries: %d", WPAN_PHY_PR_ARG,
    257		  WPAN_DEV_PR_ARG, __entry->max_frame_retries)
    258);
    259
    260TRACE_EVENT(802154_rdev_set_lbt_mode,
    261	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    262		 bool mode),
    263	TP_ARGS(wpan_phy, wpan_dev, mode),
    264	TP_STRUCT__entry(
    265		WPAN_PHY_ENTRY
    266		WPAN_DEV_ENTRY
    267		__field(bool, mode)
    268	),
    269	TP_fast_assign(
    270		WPAN_PHY_ASSIGN;
    271		WPAN_DEV_ASSIGN;
    272		__entry->mode = mode;
    273	),
    274	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT
    275		", lbt mode: %s", WPAN_PHY_PR_ARG,
    276		WPAN_DEV_PR_ARG, BOOL_TO_STR(__entry->mode))
    277);
    278
    279TRACE_EVENT(802154_rdev_set_ackreq_default,
    280	TP_PROTO(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
    281		 bool ackreq),
    282	TP_ARGS(wpan_phy, wpan_dev, ackreq),
    283	TP_STRUCT__entry(
    284		WPAN_PHY_ENTRY
    285		WPAN_DEV_ENTRY
    286		__field(bool, ackreq)
    287	),
    288	TP_fast_assign(
    289		WPAN_PHY_ASSIGN;
    290		WPAN_DEV_ASSIGN;
    291		__entry->ackreq = ackreq;
    292	),
    293	TP_printk(WPAN_PHY_PR_FMT ", " WPAN_DEV_PR_FMT
    294		", ackreq default: %s", WPAN_PHY_PR_ARG,
    295		WPAN_DEV_PR_ARG, BOOL_TO_STR(__entry->ackreq))
    296);
    297
    298TRACE_EVENT(802154_rdev_return_int,
    299	TP_PROTO(struct wpan_phy *wpan_phy, int ret),
    300	TP_ARGS(wpan_phy, ret),
    301	TP_STRUCT__entry(
    302		WPAN_PHY_ENTRY
    303		__field(int, ret)
    304	),
    305	TP_fast_assign(
    306		WPAN_PHY_ASSIGN;
    307		__entry->ret = ret;
    308	),
    309	TP_printk(WPAN_PHY_PR_FMT ", returned: %d", WPAN_PHY_PR_ARG,
    310		  __entry->ret)
    311);
    312
    313#endif /* !__RDEV_CFG802154_OPS_TRACE || TRACE_HEADER_MULTI_READ */
    314
    315#undef TRACE_INCLUDE_PATH
    316#define TRACE_INCLUDE_PATH .
    317#undef TRACE_INCLUDE_FILE
    318#define TRACE_INCLUDE_FILE trace
    319#include <trace/define_trace.h>