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

plugin_cfg80211.c (957B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <stdio.h>
      3#include <string.h>
      4#include <inttypes.h>
      5#include <endian.h>
      6#include "event-parse.h"
      7
      8/*
      9 * From glibc endian.h, for older systems where it is not present, e.g.: RHEL5,
     10 * Fedora6.
     11 */
     12#ifndef le16toh
     13# if __BYTE_ORDER == __LITTLE_ENDIAN
     14#  define le16toh(x) (x)
     15# else
     16#  define le16toh(x) __bswap_16 (x)
     17# endif
     18#endif
     19
     20
     21static unsigned long long
     22process___le16_to_cpup(struct trace_seq *s, unsigned long long *args)
     23{
     24	uint16_t *val = (uint16_t *) (unsigned long) args[0];
     25	return val ? (long long) le16toh(*val) : 0;
     26}
     27
     28int TEP_PLUGIN_LOADER(struct tep_handle *tep)
     29{
     30	tep_register_print_function(tep,
     31				    process___le16_to_cpup,
     32				    TEP_FUNC_ARG_INT,
     33				    "__le16_to_cpup",
     34				    TEP_FUNC_ARG_PTR,
     35				    TEP_FUNC_ARG_VOID);
     36	return 0;
     37}
     38
     39void TEP_PLUGIN_UNLOADER(struct tep_handle *tep)
     40{
     41	tep_unregister_print_function(tep, process___le16_to_cpup,
     42				      "__le16_to_cpup");
     43}