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

applespi_trace.h (2338B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * MacBook (Pro) SPI keyboard and touchpad driver
      4 *
      5 * Copyright (c) 2015-2019 Federico Lorenzi
      6 * Copyright (c) 2017-2019 Ronald Tschalär
      7 */
      8
      9#undef TRACE_SYSTEM
     10#define TRACE_SYSTEM applespi
     11
     12#if !defined(_APPLESPI_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
     13#define _APPLESPI_TRACE_H_
     14
     15#include <linux/types.h>
     16#include <linux/tracepoint.h>
     17
     18#include "applespi.h"
     19
     20DECLARE_EVENT_CLASS(dump_message_template,
     21	TP_PROTO(enum applespi_evt_type evt_type,
     22		 enum applespi_pkt_type pkt_type,
     23		 u8 *buf,
     24		 size_t len),
     25
     26	TP_ARGS(evt_type, pkt_type, buf, len),
     27
     28	TP_STRUCT__entry(
     29		__field(enum applespi_evt_type, evt_type)
     30		__field(enum applespi_pkt_type, pkt_type)
     31		__field(size_t, len)
     32		__dynamic_array(u8, buf, len)
     33	),
     34
     35	TP_fast_assign(
     36		__entry->evt_type = evt_type;
     37		__entry->pkt_type = pkt_type;
     38		__entry->len = len;
     39		memcpy(__get_dynamic_array(buf), buf, len);
     40	),
     41
     42	TP_printk("%-6s: %s",
     43		  __print_symbolic(__entry->pkt_type,
     44				   { PT_READ, "read" },
     45				   { PT_WRITE, "write" },
     46				   { PT_STATUS, "status" }
     47		  ),
     48		  __print_hex(__get_dynamic_array(buf), __entry->len))
     49);
     50
     51#define DEFINE_DUMP_MESSAGE_EVENT(name)			\
     52DEFINE_EVENT(dump_message_template, name,		\
     53	TP_PROTO(enum applespi_evt_type evt_type,	\
     54		 enum applespi_pkt_type pkt_type,	\
     55		 u8 *buf,				\
     56		 size_t len),				\
     57	TP_ARGS(evt_type, pkt_type, buf, len)		\
     58)
     59
     60DEFINE_DUMP_MESSAGE_EVENT(applespi_tp_ini_cmd);
     61DEFINE_DUMP_MESSAGE_EVENT(applespi_backlight_cmd);
     62DEFINE_DUMP_MESSAGE_EVENT(applespi_caps_lock_cmd);
     63DEFINE_DUMP_MESSAGE_EVENT(applespi_keyboard_data);
     64DEFINE_DUMP_MESSAGE_EVENT(applespi_touchpad_data);
     65DEFINE_DUMP_MESSAGE_EVENT(applespi_unknown_data);
     66DEFINE_DUMP_MESSAGE_EVENT(applespi_bad_crc);
     67
     68TRACE_EVENT(applespi_irq_received,
     69	TP_PROTO(enum applespi_evt_type evt_type,
     70		 enum applespi_pkt_type pkt_type),
     71
     72	TP_ARGS(evt_type, pkt_type),
     73
     74	TP_STRUCT__entry(
     75		__field(enum applespi_evt_type, evt_type)
     76		__field(enum applespi_pkt_type, pkt_type)
     77	),
     78
     79	TP_fast_assign(
     80		__entry->evt_type = evt_type;
     81		__entry->pkt_type = pkt_type;
     82	),
     83
     84	"\n"
     85);
     86
     87#endif /* _APPLESPI_TRACE_H_ */
     88
     89/* This part must be outside protection */
     90#undef TRACE_INCLUDE_PATH
     91#define TRACE_INCLUDE_PATH ../../drivers/input/keyboard
     92#define TRACE_INCLUDE_FILE applespi_trace
     93#include <trace/define_trace.h>